السلام عليكم
الإخوة المحترفين
أسعد الله مسائكم
ولله الحمد بدأت في تعلم لغة PHP من شهر تقريبا ولقد وصلت إلى درجة مقبولة نوعا ما
والآن أواجه مشكلة في كود إسترجاع كلمة مرور مثل نظام المنتديات.
حيث يصل إلى العضو رابط يحتوي على كود وبعد الضغط على الرابط يتم إرسال كلمة المرور الجديدة إلى العضو.
المشكلة التي تواجهني هي أن رابط التأكيد يصل إلى البريد ولكن بعد الضغط على الرابط يتم تغيير كلمة المرور للعضو ولكن لا يتم إرسالها إلى بريده. أتمنى من الخبراء والمحترفين مراجعة الكود وإخباري ما إذا كان هناك خطأ فيه ام لا وشكرا :
$recover = $_POST['recover'];
$email = $_POST['email'];
$id = $_GET['id'];
$code = $_GET['code'];
if ($recover)
{
mysql_select_db($database) or die ("Failed: The <strong>Table</strong> not exist!");
$checkreg = mysql_query("SELECT * FROM users WHERE email='$email'") or die ("Failed: The <strong>Table</strong> not exist!");
$regcount = mysql_num_rows($checkreg);
if ($regcount != 0)
{
while ($row = mysql_fetch_assoc($checkreg))
{
$dbid = $row['id'];
$dbfull_name = $row['full_name'];
$dbemail = $row['email'];
$rand1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$random = substr(str_shuffle($rand1), 0, 8);
mysql_select_db($database);
$regquery = mysql_query("UPDATE users SET passcode='$random' WHERE email='$email'");
$lastid = mysql_insert_id();
$to = $email;
$subject = "E-Business Network Account Recovery Password";
$header = "FROM: $admin_name($admin_email)";
ini_set("SMTP", $mail_server);
$body = "Dear Mr. $dbfull_name.
To complete your password recovery please click on the below link to send your new password:
$site_url/$folder_location/forgetpwd.php?id=$dbid&code=$random
Best Regards
$site_name";
mail($to, $subject, $body, $header);
die ("The recovery password details has been sent to your email!");
}
}
else
echo ("The Email does not exist");
}
if ($id&&$code)
{
mysql_select_db($database) or die ("Failed: Cannot connect to Database!");
$checkid = mysql_query("SELECT * FROM users WHERE id='$id' AND passcode='$code'") or die ("Failed: Cannot find the TABLE!");
$numid = mysql_num_rows($checkid);
if ($numid==1)
{
$rand1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$random = substr(str_shuffle($rand1), 0, 12);
$new_pass = md5($random);
$new_password = mysql_query("UPDATE users SET password='$new_pass' WHERE email='$email'");
$to = $dbemail;
$subject1 = "New Password";
$header1 = "FROM: $admin_name($admin_email)";
ini_set("SMTP", $mail_server);
$body1 = "Dear $dbfull_name.
The new password has been changed to: $random";
mail($to, $subject1, $body1, $header1);
die ("Your new password has been sent it to your email address, please check it.<br><a href='login.php'>Login</a>");
}
else
die ("Failed: Invalid Code!");
}
?>
<?php
