gpt4 book ai didi

PHP更改密码(旧密码与数据库内的旧密码不匹配)

转载 作者:行者123 更新时间:2023-11-29 18:48:17 24 4
gpt4 key购买 nike

这是我的代码

<?php
include("connect.php");
error_reporting(0);
session_start();

if($_SESSION['logged'] == true){

if($_SESSION['user_type'] == 2){
header("location:admin\home.php");
}

$user_id = $_SESSION['user_id'];
$query = "SELECT * FROM tbl_useraccounts where user_id = $id";

$q = mysqli_query($con,$query);

while($row = mysqli_fetch_array($q)){
$oldpassworddb = $row['password'];
}

if($user_id)
{
//user is logged in

if(isset($_POST['submit']))
{
//check fields

$oldpassword = md5($_POST['oldpassword']);
$newpassword = md5($_POST['newpassword']);
$repeatnewpassword = md5($_POST['repeatnewpassword']);


//check passwords
if ($oldpassword == $oldpassworddb)
{
// check two new passwords
if ($newpassword == $repeatnewpassword)
{
//success
//change password in db
$querychange = mysqli_query("
UPDATE tbl_useraccounts SET password='$newpassword' WHERE user_id='$user_id'");

session_destroy();
echo "Your password has been changed<br/>
<a href='home.php'>Return</a>";

}
else
echo "New passwords doesnt match";


}
else
echo "Old password doesnt match!";



}
else
{

echo"
<form action='changepassword.php' method='POST'>
Old Password: <input type='password' name='oldpassword'><p>
New Password: <input type='password' name='newpassword'><br>
Repeat New Password: <input type='password' name='repeatnewpassword'><p>
<input type='submit' name='submit' value='Change Password'>
</form>
";

}
}
else
die("You must be logged in to change your password");

}else{

header("location:login.php");
}
?>

很抱歉,我是 StackOverflow 的新手。当我在密码栏中输入旧密码时,示例是“123”,其中 123 实际上是存储在我的数据库中的密码。但当我单击“更改密码”时,始终响应是“旧密码不匹配”。 123 = 123 应解读为正确。

我的代码有什么错误?

最佳答案

您可能选择了错误的用户:

$user_id = $_SESSION['user_id']; // here you pick in $user_id
$query = "SELECT * FROM tbl_useraccounts where user_id = $id"; // here you check with $id

所以改为

$query = "SELECT * FROM tbl_useraccounts where user_id = $user_id";

此外print_r($variable)对您也有帮助。

关于PHP更改密码(旧密码与数据库内的旧密码不匹配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44481719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com