Функция password_verify() возвращает пустую переменную

моя функция password_verify ничего не возвращает, и все же я думаю, что мой код в порядке, я пытался удалить escape-символы, но все равно те же результаты, пожалуйста, помогите, это мой код

<?php

if (isset($_POST['submit'])) {
include_once 'db.php';

$uname = stripcslashes($_POST['username']);
$pass = stripcslashes($_POST['userpassword']);
$uname = mysqli_real_escape_string($conn, $_POST['username']);
$pass = mysqli_real_escape_string($conn, $_POST['userpassword']);


 //check if input characters are valid
 if (!preg_match("/^[a-zA-Z0-9]*$/",$uname) || !preg_match("/^[a-zA- Z0-9]*$/",$pass)) {
 header("Location: ../index.php?signin=invalidwords");
 exit();
 }else {    
 //validate username n pwd
 $sql = "SELECT * FROM loginAcc WHERE position='$uname'";
 $result = mysqli_query($conn,$sql);
 $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
 $count = mysqli_num_rows($result);
 $hashedpwd = $row['userpassword'];

 $pw = password_verify($pass,$hashedpwd);
 echo $pass."<br />";
 echo $hashedpwd."<br />";
 echo $pw;
 }
 }else{
 header("Location: ../login.php");
 exit();
 }

person ochieng seth    schedule 22.01.2019    source источник
comment
я отредактировал это   -  person ochieng seth    schedule 22.01.2019
comment
Почему вы скрываете свой пароль, если не отправляете его в базу данных? Вы уверены, что это не нарушает специальные символы?   -  person Nico Haase    schedule 22.01.2019
comment
И как именно вы проверили, что password_verify что-то вернул? Согласно документации, нет случая, чтобы этот метод ничего не возвращал.   -  person Nico Haase    schedule 22.01.2019
comment
я только что отредактировал это, чтобы увидеть результаты, но в конце дня он отправляется в базу данных ... я также попытался удалить побег, потому что в соответствующем посте кто-то предложил это, но все же я не получаю любые результаты   -  person ochieng seth    schedule 22.01.2019
comment
возможно, вам следует просто запустить этот код и доказать, что он ничего не возвращает... я действительно не стал бы тратить ваше время, публикуя его, если бы он работал.   -  person ochieng seth    schedule 22.01.2019
comment
я бы отправил вам скриншот дисплея в браузере, но у меня недостаточно значков, чтобы опубликовать картинку   -  person ochieng seth    schedule 22.01.2019


Ответы (1)


password_verify() возвращает логическое значение, и если ваш $pw равен false, то echo $pw ничего не напечатает.

Попробуйте проверить 2 случая с правильным и неправильным паролем.

person Duy Nguyen Hoang    schedule 22.01.2019
comment
я пробовал как с правильным, так и с неправильным ответом, и они оба ничего не возвращают - person ochieng seth; 22.01.2019