我希望为已登录的用户提供更改密码功能。我有一组代码已经使用MySQLi程序更改密码功能。我希望它改为PDO,我在这里搜索了不同的网站和问题,但它不会起作用。我会在MySQLi程序中向您展示我的代码,我希望它重建为PDO,但我不会显示我尝试过几次的PDO代码,因为我得到了不同的错误,不知何故最终没有错误但没有工作。我很难学习PDO,因为我来自程序,并且想学习PDO,特别是使用准备好的语句。
所以这里是我的更改密码中的代码,使用我想将其更改为PDO的程序没有错误
<?php
$conn_db = mysqli_connect("localhost","root","") or die();
$sel_db = mysqli_select_db($conn_db, "PDOTesting") or die();
if(isset($_POST['re_password']))
{
$old_pass=$_POST['old_pass'];
$new_pass=$_POST['new_pass'];
$re_pass=$_POST['re_pass'];
$chg_pwd=mysqli_query($conn_db, "select * from users where username='$login_session'");
$chg_pwd1=mysqli_fetch_array($chg_pwd);
$data_pwd=$chg_pwd1['password'];
if($data_pwd==$old_pass){
if($new_pass==$re_pass){
$update_pwd=mysqli_query($conn_db, "update users set password='$new_pass' where username='$login_session'");
echo "<script>alert('Changed Password Sucessfully! You will be logged out from this page'); window.location='../session_destroy.php'</script>";
}
else{
echo "<script>alert('Your New password does not match the password confirmation'); window.location='change_password.php'</script>";
}
}
else
{
echo "<script>alert('Your old password is incorrect'); window.location='change_password.php'</script>";
}}
?>
我在我的注册表单中使用了password_hash函数来加密我在db中的密码,这里是代码。
$password = $_POST['password'];
$hash = password_hash($password, PASSWORD_DEFAULT);
并在我的登录表单中使用php的 password_verify 功能来验证用户身份并启动会话。
我正在寻找帮助如何将代码更改为PDO,因为每次我更改它时,我总是弄乱代码并得到不同的错误。我已经尝试过搜索一些代码,但我找不到任何符合我代码的代码,当我尝试新代码时,我总是把它搞乱。 将不胜感激任何建议。 提前谢谢。