如何解决重定向用户后会话丢失,可以在localhost
我有一个登录脚本,该登录脚本在localhost上可以正常运行,但是在上载到Web服务器时不起作用。
程序检查用户名和密码是否正确,如果是,则设置会话。 但是,当用户再次重定向到同一页面时,会话将丢失-尽管凭据正确,但用户仍无法登录。这是代码:
<?PHP
session_start();
include ('dbconn.PHP');
$username = $_POST['usernameinput'];
$password = $_POST['passwordinput'];
$result = MysqLi_query($con,"SELECT username,password FROM users WHERE username = '".$username."';");
$hashedpwd = MysqLi_query($con,"SELECT password FROM users WHERE username = '".$username."';");
if (!$hashedpwd) {
printf("Error: %s\n",MysqLi_error($con));
exit();
}
$row = MysqLi_fetch_array($hashedpwd);
if (MysqLi_num_rows($result) != 0 && password_verify($password,$row[0]) == 1) {
$_SESSION['username'] = $username;
header("Location: ".$_SERVER['HTTP_REFERER']);
} else {
header("Location: ".$_SERVER['HTTP_REFERER']."?status=login_fail");
}
?>
有人知道如何解决吗?我认为这可能与Cookie有所欠缺,但是我对PHP的初学者了解太多。我将永远感谢您的帮助。
解决方法
谢谢院长,
答案是使用$ _SESSION ['username']调用会话; 我想保留会话的每个文件的顶部。
出于某种原因,我不必在localhost上执行此操作,但是我猜除非指定,否则会话不会保留在域中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。