Как обновить забытое паролем, отправив электронное письмо в mysql php

Привет У меня есть регистрационная форма, если я нажимаю на забытый пароль. Я получаю почту, если я нажимаю на эту ссылку, она перенаправляется на страницу changepassword здесь. Я не могу обновить пароль для конкретного пользователя. Вот мой код. Можно отправить код подтверждения в скрытом значении при отправке забыли пароль.

Отправка почты: Из этого кода я получаю электронную почту.

$email=$_POST['email']; if($_POST['submit']=='Send') { $query="select * from registered where email='$email'"; $result=mysql_query($query) or die(error); if(mysql_num_rows($result)) { $to = $_POST['email']; $from .= 'mail@gmail.com' . "\r\n\r\n"; $subject="Password Change link here"; $message.="Click on this link to change your password \r\n"; $message.="http://website.com/accounting/changepassword.php?email=$email"; $success = mail($to, $subject, $message); echo "Forgot Password link has been sent to your email.Check your email to change your password"; } else { echo "No user exist with this email id"; } } link: Click on this link to change your password http://website.com/accounting/changepassword.php?email=mail@gmail.com 

Если я forgetten.php на эту ссылку, он перенаправит на страницу forgetten.php и мой код будет

Но я не могу обновить пароль, может ли кто-нибудь мне помочь. Если я нажму на эту ссылку, он перенаправится на эту страницу, здесь будет changepassword.php

Changepassword.php

 <form method="POST" action="forgotten.php" id="myform"> <input type='hidden' value="<?php echo $_GET['email'];?>" name='email'> <div class="form-group"> <label for="psw"><span class="glyphicon"></span> Password</label> <input id="password" class="form-control" type="password" name="password" placeholder="Enter password here" required/> </div> <div class="form-group"> <label for="rpsw"><span class="glyphicon"></span>Confirm Password</label> <input id="repassword" class="form-control" type="password" name="repassword" placeholder="Retype password here" required/> </div> <button type="submit" class="btn btn-success btn-block"><span class="glyphicon glyphicon-off"></span> Create New Password</button> 

Код забытого пароля:

  <?php $connection = mysql_connect("localhost", "root", "account") or die(mysql_error()); $db = mysql_select_db("accounting", $connection); $email=$_POST['email']; $password=$_POST['password']; $repassword=$_POST['repassword']; $sql1="SELECT * FROM registered WHERE email ='$email'"; $result1=mysql_query($sql1); $query = mysql_query("update registered SET password = '$password', repassword ='$repassword' WHERE email='$email'"); if($query) { $to = $_POST['email']; $from .= 'mail@gmail.com' . "\r\n\r\n"; $subject="Password Changed"; $message.="your password has been changed successfully. \r\n"; $success = mail($to, $subject, $message); echo "Password has been changed successfully"; } else{ echo "Insertion Falied"; } ?> 

changepassword.php

  1. Замените AND между password и repassword .
  2. Удалить ' в почтовом ящике с именем coloumn.
  3. Измените 'email'=$result1 на email='$email'

+ Изменить

 $query = mysql_query("update registered SET password = '$password' AND repassword ='$repassword' WHERE 'email'=$result1"); 

в

 $query = mysql_query("update registered SET password = '$password', repassword ='$repassword' WHERE email='$email'"); 

По требованию пользователя.

Поскольку вы отправляете электронное письмо на changepassword.php . Вы должны создать одно hidden field для email , которое будет отправлено на страницу forgetpassword.php .

Проверьте подключение к базе данных. И перекрестите, правильно ли написано имя столбца.

Используйте этот код так, как есть.

ChangePassword.php

 <form method="POST" action="forgotten.php" id="myform"> <input type='hidden' value="<?php echo $_GET['email'];?>" name='email'> <div class="form-group"> <label for="psw"><span class="glyphicon"></span> Password</label> <input id="password" class="form-control" type="password" name="password" placeholder="Enter password here" required/> </div> <div class="form-group"> <label for="rpsw"><span class="glyphicon"></span>Confirm Password</label> <input id="repassword" class="form-control" type="password" name="repassword" placeholder="Retype password here" required/> </div> <button type="submit" class="btn btn-success btn-block"><span class="glyphicon glyphicon-off"></span> Create New Password</button> </form> 

forgotten.php

 <? $connection = mysql_connect("localhost", "root", "") or die(mysql_error()); $db = mysql_select_db("db_name", $connection); $email=$_POST['email']; $password=$_POST['password']; $repassword=$_POST['repassword']; $sql1="SELECT * FROM registered WHERE email ='$email'"; $result1=mysql_query($sql1); $query = mysql_query("update registered SET password = '$password', repassword ='$repassword' WHERE email='$email'"); if($query) { $to = $email; $from = 'mail@gmail.com'; $subject="Password Changed"; $message.="your password has been changed successfully. "; $success = mail($to, $subject, $message); echo "Password has been changed successfully"; } ?> 

Это работает

 <?php $connection = mysql_connect("localhost", "root", "") or die(mysql_error()); $db = mysql_select_db("db_name", $connection); $email=$_POST['email']; $password=$_POST['password']; $repassword=$_POST['repassword']; $sql1="SELECT * FROM registered WHERE email ='$email'"; $result1=mysql_query($sql1); $query = mysql_query("update registered SET password = '$password', repassword ='$repassword' WHERE email='$email'"); if($query) { $to = $email; $from = 'mail@gmail.com'; $subject="Password Changed"; $message.="your password has been changed successfully. "; $success = mail($to, $subject, $message); echo "Password has been changed successfully"; } 

?>