如何通过在 mysql php 中发送电子邮件来更新忘记密码


How to update the forgotpassword by sending an email in mysql php

嗨,如果我点击忘记密码,我有一个注册表,如果我

点击该链接,我会收到邮件,它正在重定向到此处的更改密码页面,我无法更新特定用户的密码。这是我的代码。是否可以在发送忘记密码邮件时以隐藏值发送确认码

发送邮件:从此代码中,我将收到电子邮件。

$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页面,我的代码是

但是我无法更新密码,任何人都可以帮助我。如果我单击该链接,它将从此处重定向到此页面,它将更改密码.php

更改密码.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代码:

    <?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";
    }
?>

更改密码.php

  1. AND 替换为 password & repassword 之间的,
  2. 删除列名称email中的'
  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.您必须为email创建一个hidden field,该将被提交到忘记密码.php页面。

检查数据库连接。并且,交叉检查所有列名是否正确写入。

按原样使用此代码。

更改密码.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>

被遗忘了.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";
}

?>