Mysqli使用md5密码恢复查询php

时间:2017-06-20 15:11:59

标签: php mysql mysqli md5 forgot-password

您好我在尝试使用php为我的网站制作密码恢复机制 和md5哈希。 会发生什么情况我使用此

对特定号码的用户ID进行哈希处理
$hashed=md5(1290*13+$id);

并在用户点击包含此哈希的链接时将其发送到用户电子邮件

以下代码运行

enter code here
<title> 
Password recovery 
</title>
</head>
<body> 
    <form method="post" action="./resetter.php"> 
    <label>  password </label> <input type="password" name="pwd"/> <br> 
        <label>  password confirm </label> <input type="password" name="pwdc"/> <br> 
        <button type="submit" name="submit"> 
        reset password
        </button>

    </form>
    <?php 
    if(isset($_POST['submit'])){
        if(!empty($_POST['pwd'])&&!empty($_POST['pwdc'])){
            $pwd=$_POST['pwd'];
            $pwdc=$_POST['pwdc'];
            if($pwd===$pwdc){
                $hashid=$_GET['idv'];

    $sql = "SELECT id FROM users where MD5(1290*13+id)='".$hashid."'";
                $result=mysqli_query($conn,$sql);
                $rows = mysqli_fetch_array($result);
                if(count($rows)>=1){
                    $md5pwd=md5($pwd);
                    $id=$rows['id'];
                    $sql="update users set password=$md5pwd where id=$id";
                    mysqli_query($conn,$sql);
                    echo "password has been resetted";


                }else {
                    echo "invalid link";
                }


            }else {
                echo "password and confirmation does not match";
            }
        }else {
            echo " please enter password and password confirm";
        }
    }
    ?> 
</body>

但是当我输入新密码时,总会出现

&#34;链接无效&#34;

这意味着查询效果不佳并且没有返回任何内容

这是查询 以及我如何称呼它

    $sql = "SELECT id FROM users where MD5(1290*13+id)='".$hashid."'";
                $result=mysqli_query($conn,$sql);
                $rows = mysqli_fetch_assoc($result);

任何建议都要感谢:)。

0 个答案:

没有答案