درس إسترجاع الباسورد للعضو مثل طريقة المنتديات







السلام عليكم ورحمة الله وبركاته

 درسنا اليوم مهم جدا خصوصا لسكربتات ولي حاب يعمل سكربت محترف نبي نتعرف على الفكرة ونشرحها قبل نبدأ بصياغة الاكواد حتى نكون فاهمين كيف تتم العملية

 وماهي الفكرة ؟

 لكل عضو مسجل لديك رقم يعرف بي id ويتم استرجاع الباسورد من خلال ارسال الي بريد العضو على مرحلتين

 1- المرحلة الاولى عندما يقوم العضو بوضع بريده وضغط زر ارسال يتم ارسال له رابط على بريده عندما يقوم بفتح الرسالة سوف يجد رابط عند الضغط عليه تاتيه رسالة اخرى فيها الرقم السري الجديد كيف تتم العملية اخواني اولا هذا كود الفورم

رمز PHP:
<form action="get_pass.php" method="POST"
<
table align="center" width="30%"
 <
td>ضع بريدك</td
 <
td><input name="mail" type="text" /></td
 <
td><input type="submit" name="" value="اطلب إرسال الباسورد على بريد" /></td
 </
table
</
form

عندما ضع بريده في خانة البريد يوضغط ارسال سوف يقوم بإرسال البريد الي الصفحة get_pass.php هنا سوف نستقبل البيانات اي البريد من خلال $_post $mail=$_POST['mail']; الان احنا استقبلنا البريد الان نعمل استعلام هل البريد فعلا موجود في جدول الاعضاء ام لا

رمز PHP:
$date=mysql_query("SELECT * FROM user where  mail='$mail' "); 
    
$row=mysql_fetch_assoc($date); 

الان نعمل الاتي نتحقق هل فعلا البريد المدخل مجود ضمن جدول الاعضاء ام لا نعمل شرط

رمز PHP:
if($row['mail']==$mail){ 

طبعا اذا كان البريد موجود نقوم على طول بتشفير id تبع العضو

رمز PHP:
$id=base64_encode($row['user_id']); 

شفرنا الاي دي حتى لايكون هناك تلاعب بقيم الاي دي التي سوف تكون مع الرابط المرسل الي بريد العضو

رمز PHP:
$send_url="اضغط على الرابط ليتم ارسال الباسورد لك:http://www.mdawi.com/get_msg_of_email.php?user_id=$id'"
     
mail("$maile""$name""$send_url" ,"From: موقع مداوي طلب إسترجاع الباسورد"); 
     echo
"<center>تم ارسال رابط إستعادة الباسورد الي بريدك</center>"
      echo 
"<**** **********='refresh' content='3; url=send_pass_user.html' />"
     }else{ 


     echo 
"<center>البريد غير صحيح</center>"
     } 

اتمنى يكون الكود اللي بالاعلي واضح ومفهوم لان تقوم هذي الصفحة بإرسال رسالة الي بريد العضو وفيها هذا الرابط اضغط على الرابط ليتم ارسال الباسورد لك:http://www.mdawi.com/get_msg_of_emai...er_id=fgsared= لاحظ تم تشفير id تبع العضو الي fgsared= الان أنت رايح تعمل صفحة ثالثة وهي الصفحة التي تحقق من وجود id في جدول الاعضاء وسمي الصفحة بي get_msg_of_email.php وهذا الاكواد تبعها

رمز PHP:
<?php 

$user_id
=base64_decode($_GET['user_id']); مسكنا الادي وفكينا تشفيره 

عملنا استعلام ونبي نتأكد هل فعلا الاي دي موجود في جدول الاعضاء 
$date
=mysql_query("SELECT * FROM user where  user_id='$user_id' "); 
 
$row=mysql_fetch_assoc($date); 
 
$name=$row['user']; اسم العضو 
 $mail
=$row['mail']; بريده 
 $id
=$row['user_id']; الاي دي تبعه 
 
if ($id==$user_id){ اذا كان الاي دي موجود فعلا  

 $randpass
=rand(1111,9999); قم بتوليد رقم سري جديد 

 $md5
=md5($randpass); قم بتشفير الرقم السري  

الان نقوم بتحديث الرقم السري المشفر الجديد  للعضو  
  $sql
=mysql_query("UPDATE user set  password='$md5' where user_id='$id'")or die("توجد مشكلة في عملية الادخال"); 

الان نقوم بإرسال الرقم السري الجديد الغير مشفر اللي خزناه بمتغير $randpass 
  mail
("$mail""$name""الرقم السري الجديد:$randpass" ,"From: موقع مداوي إسترجاع الباسورد"); 
  echo 
"<center>لقد تم إرسال الباسورد الجديد على بريدك اذا لم تجده بعلبة الوارد سوف تجده في الجنك ميل</center>"
 }else{ 

 echo 
"<center>لقد تبعت رابط خطأ يرجى عدم المحاولة مرة اخرى</center>"

 } 

?>

انتهي الدرس


http://www.traidnt.net/vb/showthread.php?t=1787749