Спасибо, что помогли мне в этом вопросе. Я пытаюсь сравнить пароли с php password_verify, но он не работает. Что-то не так с моим кодом? (я получаю второе сообщение «НЕВЕРНЫЙ ПОЛЬЗОВАТЕЛЬ ИЛИ ПАРОЛЬ») Приветствия!Password_verify bcrypt не работает
function login_aut($uname, $pass){
include('_con.php');
include('password.php');
$stmt = $conex->prepare("SELECT id, pass FROM tb_users WHERE uname =?");
/* bind parameters for markers */
$stmt->bind_param("s", $uname);
/* execute query */
$stmt->execute();
/* get num of rows */
$stmt->store_result();
$numrows = $stmt->num_rows;
if(($numrows) == ""){echo 'INVALID USER ';die();}
$stmt->bind_result($u_id,$upass);
$stmt->fetch();
/* close statement */
$stmt->close();
if (!password_verify($pass,$upass)) { echo 'INVALID USER OR PASSWORD'; die(); }
Проделать любую отладку, например 'var_dump ($ pass, $ upass)'? и '$ numrows ==" "' неверно. num_rows возвращает целое число, вы не должны сравниваться со строкой, даже если '0 ==" "' будет 'true'. –
также пахнет как переменная scope –
Спасибо @MarcB var_dump в порядке. =/ – Thecoder