ساحاول عمل كود بسيط ليفى بهذا الغرض ..
- لنفرض ان لدينا جدول باسم users و حقل باسم id و حقل باسم link واجعل الافتراضى له رقم صفر (0) وحقل باسم password وحقل باسم email..
- نقوم بعمل صفحة php ولتكن باسم pass.php خاصة باسترجاع كلمة المرور .. ويكون الامر فيها كالتالى ..
كود PHP:
<form method="POST" action="lost.php">
<p>
أدخل رقم عضويتك</p>
<p><input type="text" name="id" size="20"><input type="submit" value="إرسال" name="B1"><input type="reset" value="إعادة تعيين" name="B2"></p>
</form>
- نقوم بعمل صفحة باسم lost.php ونضع فيها الامر التالى
كود PHP:
<?
$sql = "select * from users where id=$_post[id]";
$sql_result=mysql_query($sql);
while ($row = mysql_fetch_array($sql_result)) {
$rand_num=rand(1,10000);
$update="UPDATE users SET link=$rand_num" ;
if ($update)
{
$sql2 = "select * from users where link=$_GET['link']";
$sql_result2=mysql_query($sql2);
while ($row2 = mysql_fetch_array($sql_result2)) {
//ارسال البريد
$to = "$row[email]";
$subject = "رسالة للتاكد من انك تريد استرجاع كلمة المرور ";
$message = "لقد قمت بطلب استعادة كلمة المرور يمكنك ذلك بالضغط على هذا الرابط ليتم ارسال كلمة المرور الجديدة اليك
http://www.xxx.com/lost2.php?link=$rand_num ";
$you = "xxx@site.com";
mail ( "$to" , "$subject" , "$message" , "Form:$you" );
echo " لقد تم ارسال رسالة الى بريدك الالكترونى .. يرجى قراءتها لتستعيد كلمة المرور";
}
}
?>
- نقوم بعمل صفحة rest_pass.php والتى ستكون جهة الرابط الذى تم ارساله للمستخدم ..نضع بها الكود التالى
كود PHP:
<?
$link=$_GET['link'];
$sql = "select * from users where link=$_GET['link']";
$sql_result=mysql_query($sql);
while ($row = mysql_fetch_array($sql_result)) {
$rand_num=rand(1,10000);
$update = "UPDATE users SET password=$rand_num ";
if ($update)
{
$sql2 = "select * from users where link=$_GET['link']";
$sql_result2=mysql_query($sql2);
while ($row2 = mysql_fetch_array($sql_result2)) {
UPDATE users SET link=0 ;
//ارسال البريد
$to = "$row2[email]";
$subject = "كلمة المرور الجديدة ";
$message = " كلمة المرور الجديدة";
echo $row2[password];
$you = "xxx@site.com";
mail ( "$to" , "$subject" , "$message" , "Form:$you" );
echo "لقد تم ارسال كلمة المرور الجديدة الى بريدك ";
}
}
?>
واخيرا .. انا قمت بكتابته على السريع .. يحتمل وجود اخطاء املائية او اخطاء برمجية .. واذا اى شىء غير واضح او لديك استفسار انا حاضر ..
انا وضحت الفكرة لا اكثر