如何解决注意:尝试访问数组中 null 类型值的偏移量
注意:尝试访问第 13 行 C:\xampp\htdocs\X$AMIT\login.PHP 中 null 类型值的数组偏移
第 13 行是: if (password_verify($password,$row['password'])) {
当我放入数据库中不存在的数据时出错。
<?PHP
session_start();
include('includes/connection.PHP');
if (isset($_POST['login'])) {
$username = MysqLi_real_escape_string($conn,$_POST['username']);
$password = MysqLi_real_escape_string($conn,$_POST['password']);
$query = "SELECT password,name,status FROM users WHERE username = '$username'";
$result = MysqLi_query($conn,$query);
$row = MysqLi_fetch_assoc($result);
if (password_verify($password,$row['password'])) {
$_SESSION['logged_in'] = true;
if ($row['status'] == 'U') {
$_SESSION['check_status'] = 'U';
$_SESSION['name'] = $row['name'];
$_SESSION['success_login'] = "login successfully";
header('refresh:2; index.PHP');
}
else if ($row['status'] == 'A') {
$_SESSION['check_status'] = 'A';
$_SESSION['name'] = $row['name'];
$_SESSION['success_login'] = "login successfully";
header('refresh:2; index.PHP');
}
}
else {
$_SESSION['err_login'] = "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง";
#header('refresh:2; login.PHP');
}
}
?>
解决方法
你尝试做的事情是行不通的。
之后:
$row = mysqli_fetch_assoc($result);
您必须检查 $row 是否有任何值。 如果没有值则说明密码和用户输入错误,则在登录表单中代表用户。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。