微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重定向用户后会话丢失,可以在localhost

如何解决重定向用户后会话丢失,可以在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 举报,一经查实,本站将立刻删除。