您好我在尝试使用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);
任何建议都要感谢:)。