Я попытался изменить этот php-код на password_hash, когда пользователь вводит свой пароль, если он хочет его изменить, но он никогда не будет совпадать, потому что pssword, хранящийся в моей базе данных, хешируется во время регистрации, поэтому мне нужен старый pw, который он вводит чтобы соответствовать хешированному паролю на db, который не работает.
Я знаю, что должен использовать password_verify, но не знаю, какую часть этого кода мне следует вставить?
<?php
include 'session.php';
$db = new mysqli('localhost', 'root', '', 'alumni');
if(isset($_POST['submit'])):
extract($_POST);
$user_check=$_SESSION['login_user'];
$old_pwd=$_POST['old_password'];
$pwd=$_POST['password'];
$c_pwd=$_POST['confirm_pwd'];
if($old_pwd!="" && $pwd!="" && $c_pwd!="") :
if($pwd == $c_pwd) :
if($pwd!=$old_pwd) :
$sql="SELECT * FROM `alumni` WHERE `username`='$user_check' AND `password` ='$old_pwd'";
$db_check=$db->query($sql);
$count=mysqli_num_rows($db_check);
if($count==1) :
$fetch=$db->query("UPDATE `alumni` SET `password` = '$pwd' WHERE `username`='$user_check'");
$old_pwd=''; $pwd =''; $c_pwd = '';
$msg_sucess = "Password successfully updated!";
else:
$error = "Old password is incorrect. Please try again.";
endif;
else :
$error = "Old password and new password are the same. Please try again.";
endif;
else:
$error = "New password and confirm password do not match.";
endif;
else :
$error = "Please fill all the fields";
endif;
endif;
?>