gpt4 book ai didi

PHP session 变量在重定向后不保存?

转载 作者:行者123 更新时间:2023-12-02 22:21:41 26 4
gpt4 key购买 nike

我似乎突然遇到了一个奇怪的问题,我希望有人可以提供建议......

我有一个登录脚本,如果登录失败,它应该注册一个包含错误消息的 session 变量,然后将用户重定向到他们来自的页面。例如,用户可能在 index.php 上使用了论坛,但登录失败,他们将返回到 index.php,其中脚本显示 session 变量中包含的错误消息。

但是, session 变量似乎没有保存。作为记录,我在登录脚本中使用 session_start() 以及任何具有登录表单的页面,如果用户因登录失败而返回该页面,则应显示错误消息。

我的脚本如下:

if (isset($_POST['prev'])) {
$prev = $_POST['prev'];
}
else {
$prev = "login.php";
}
$_SESSION['Login_Error'] = $error;
header("Location: $prev");

那么表单页面上的脚本是:

if (isset($_SESSION['Login_Error'])) {
echo $_SESSION['Login_Error'];
}

我得到的错误是:

Notice: Undefined index: Login_Error in F:\EasyPHP-12.0\www\index.php on line 3

关于为什么它不保存的任何想法?如果登录成功,脚本会设置一个工作正常的用户 ID session 变量。感谢您的任何建议。

最佳答案

我以前遇到过这个问题。如果在用户打开时设置了 session 变量

www.domain.com/login.php

然后用户被重定向到

domain.com/index.php(开头没有 www.)

session 变量将不可访问。确保 www。要么总是存在,要么从不存在,要么您的脚本根据情况使用或不使用它。

关于PHP session 变量在重定向后不保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13618870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com