[英]Forgotton Password not working
我從互聯網上獲得了一些腳本,可以讓客戶在需要時重置密碼,但是我似乎無法正常工作。
這就是我實現它的方式:
<?php
error_reporting(0);
$EmailAddress=$_POST['EmailAddress'];
if($_POST['submit']=='Send')
{
require "db.inc";
$query="SELECT * from members WHERE EmailAddress='$EmailAddress'";
$result=mysql_query($query) or die(error);
if(mysql_num_rows($result))
{
echo "User exist";
}
else
{
echo "No user exist with this email id1";
}
}
if(mysql_num_rows($result))
{
$code=rand(100,999);
$message="You activation link is: http://yourwebsitename.com/forgot.php? EmailAddress=$EmailAddress&code=$code";
mail($EmailAddress, "Subject Goes Here", $message);
echo "Email sent";
}
else
{
echo "No user exist with this email id2";
}
?>
這是重定向到此頁面的表單
<form method="POST" action="EmailPassword.php">
<div class="Row">
<div class="Lable">Email Address:</div> <!--End of Lable-->
<div class="input">
<input type="email" id="EmailAddress" class="detail" name="EmailAddress" placeholder="Email Address" required />
</div> <!--End input-->
</div> <!--End row-->
<br />
<div class="submit">
<input type="submit" id="Reset" Name="submit" value="Send Password" />
</div><!--End of .submit-->
</form>
我得到的錯誤是
沒有用戶使用此電子郵件ID2。
您需要將隨機代碼寫入數據庫(或任何您想要的位置),並將其綁定到用戶的電子郵件。 然后,當用戶打開激活鏈接時,您需要一段與處理它相似的代碼。 但是,這次您將要讀取GET變量,並選擇與電子郵件和臨時代碼匹配的數據庫記錄。 像這樣:
SELECT id FROM members WHERE EmailAddress='$EmailAddress' AND tmpCode='$code';
// make sure to sanitize those inputs, otherwise Bobby Tables might join in!!
// this query assumes you have a varChar field tmpCode in your members table
只有在此之后,您才能向用戶發送新密碼或將其帶到“創建新密碼”屏幕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.