php - 为什么我的登录页面在我点击登录按钮后转到 /login.php?login=error ?
问题描述
点击登录按钮后,我的登录页面将进入错误页面,我的所有信息(例如用户名和密码)都是正确的。
} else {
$sql = "SELECT * FROM users WHERE user_uid='uid'";
$result = mysqli_query($conn, $sql);
$resultCheck = msqli_num_rows($result);
if($resultCheck < 1){
header("Location: ../login.php?login=error");
exit();
} else {
if($row = mysqli_fetch_assoc($result)){
//Dehash pass
$hashedPwdCheck = password_verify($pwd,
$row['user_pwd']);
if($hashedPwdCheck == false){
header("Location: ../login.php?login=error");
exit();
} elseif ($hashedPwdCheck == true){
//Log in
$_SESSION[u_id] = $row['user_id'];
$_SESSION[u_first] = $row['user_first'];
$_SESSION[u_last] = $row['user_last'];
$_SESSION[u_email] = $row['user_email'];
$_SESSION[u_uid] = $row['user_uid'];
header("Location: ../home.php?login=success");
exit();
}
}
}
}
} else {
header("Location: ../login.php?login=error");
exit();
}
解决方案
我认为问题可能是 double else
。从您的评论中提取,我猜您的代码如下所示:
if (empty($uid)|| empty($pwd) {
\\ redirect
} else {
\\ login logic
} else {
\\ redirect
}
因此,您拥有的是重定向或重定向。您可能想要做的是丢失最后一个 else 所以您的代码只是:
if (empty($uid)|| empty($pwd) {
\\ redirect
} else {
\\ login logic
}
正如其他人指出的那样,您的代码中还有很多其他错误,但这至少可以让您摆脱重定向问题。
推荐阅读
- python - 如何使用python仅删除CSV中的一行
- python - 如何在python中使用多线程并加速代码
- docker - 使用 Osiris Keda 无法扩展 Http 触发器
- node.js - 使用 Heroku 访问本地数据库
- macos - grep 未完成该过程(已杀死:9)
- javascript - SyntaxError:输入 Angular 6 和 RxJS 的意外结束
- mysql - 想在一场战争中拥有两个数据库,但面临 ehCacheManager 和 transactionmanager 的问题
- php - 循环的 PHP 性能问题
- ios - 如何从 App Store 崩溃报告中复制 iOS 错误启动已用应用程序 CPU 时间(秒):
- javascript - 使用 jQuery 从一个字符串输入中获取动态输入值