Hash 登录页面哈希问题更新
我的登录页面读取要登录的函数时出现问题 在我的注册页面上,我很自豪地说它非常完美 这是我的密码哈希码Hash 登录页面哈希问题更新,hash,login,passwords,Hash,Login,Passwords,我的登录页面读取要登录的函数时出现问题 在我的注册页面上,我很自豪地说它非常完美 这是我的密码哈希码 $password = password_hash($password, PASSWORD_BCRYPT); 我的登录页面有两个字段 电子邮件& 密码 我重新清理了我的代码,解决了一些什么问题 功能正在发挥作用 当我输入电子邮件和密码时,它会触发 警告!电子邮件或密码不正确 加上顶部的一个错误 注意:第249行C:\Program Files(x86)\Zend\Apache2\htdoc
$password = password_hash($password, PASSWORD_BCRYPT);
我的登录页面有两个字段
电子邮件&
密码
我重新清理了我的代码,解决了一些什么问题
功能正在发挥作用
当我输入电子邮件和密码时,它会触发
警告!电子邮件或密码不正确
加上顶部的一个错误
注意:第249行C:\Program Files(x86)\Zend\Apache2\htdocs\CMS\functions\functions.php中的未定义索引:密码
这是第249行$db_password=$row['password']
/* Validate Login */
function validate_login()
{
$errors = [];
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$email = clean($_POST['email']);
$password = clean($_POST['password']);
if (empty($email)) {
$errors[] = "Email Required";
}
if (empty($password)) {
$errors[] = "Password Required";
}
if (! empty($errors)) {
foreach ($errors as $error) {
echo validation_errors($error);
}
} else {
if (login_user($email, $password)) {
redirect("../account/profile.php");
} else {
echo validation_errors("Email or Password Incorrect");
}
}
}
} // End Function
/* User Login */
function login_user($email, $password)
{
$sql = "SELECT user_pwd, uid FROM userss WHERE user_email = '" . escape($email) . "'";
$result = query($sql);
if (row_count($result) == 1) {
$row = fetch_array($result);
$db_password = $row['password'];
if (hash_algos($password) == $db_password) {
return true;
} else {
return false;
}
}
}// End Function
看起来您的
validate\u login()
函数缺少一个结束括号,因此它仅在调用第一个函数后定义login\u user()
函数。因此,在执行validate\u login()
函数时,在创建login\u user()
函数之前调用该函数,因为它是在if语句完成后创建的。好,我刚刚解决了问题
if (hash_algos($password) == $db_password) {
return true;
} else {
return false;
}
改成这个
if(password_verify($password, $db_password)){
return true;
} else {
return false;
}