我创建了一个带有哈希密码的寄存器,现在我正在尝试在公式编写器中登录,但是我无法验证密码。
我已经以多种方式尝试了此代码,但仍然无法正常工作。我正在使用PHP 5.6,并且在pgsql中有数据库。
<?php
if (isset($_POST['submit'])) {
$conn_string = "host=#### port=#### user=#### password=#### dbname=####";
$dbconn4 = pg_connect($conn_string);
if($dbconn4) {
echo "hello";
} else echo "chuj";
$login = $_POST['login'];
$haslo = $_POST['password'];
$wynik = pg_query($dbconn4, "SELECT mail, password FROM employt WHERE
login='.$login'");
$wynik1 = pg_num_rows($wynik);
if ($wynik1 > 0){
echo "tu";
$data = pg_fetch_array($wynik);
if (password_verify($haslo, $data['password'])) {
echo "You have been logged IN!";
} else
echo "Please check your inputs!";
}
}
pg_close($dbconn4);
?>
它发送错误“请检查您的输入!”,我试图检查至多部分代码不起作用,并且在密码验证中。 感谢您的帮助
编辑 感谢您的回答。
$wynik = pg_query($dbconn4, "SELECT password FROM employt WHERE login =
'$login'");
$wynik1 = pg_num_rows($wynik);
if(!$wynik){
echo "database failtue";
}else{
echo "database works";
if ($wynik1 > 0){
echo "tu";
$data = pg_fetch_row($wynik);
echo $wynik;
if (password_verify($haslo, $data['password'])) {
echo "You have been logged IN!";
} else
echo "Please check your inputs!";
现在它返回如下输出:“ hello数据库正常运行,资源ID#5,请检查您的输入!”
我将“ pg_fetch_array”更改为“ pg_fetch_row”,仍然出现此错误。