繁体   English   中英

PHP会话在重定向上损失了一半

[英]PHP Sessions Losing Half on Redirect

我已经为此工作了一段时间,似乎无法确定。 会话正在运行我访问或设置会话的每个页面的顶部都有session_start()。

首先,我从登录脚本的三个会话变量$ _SESSION ['id'],$ _ SESSION ['user']和$ _SESSION ['start']开始,一切正常。 我又添加了两个会话$ _SESSION ['patron']和$ _SESSION ['business']。

$_SESSION['user'] = $user_info['email'];
$_SESSION['id'] =   $user_info['id'];
$_SESSION['patron'] = $user_info['patron'];
$_SESSION['business'] = $user_info['business'];
$_SESSION['start'] = time();
redirect_to('../page.php');

所有会话均在登录脚本运行后设置并可以正常重定向,但是当我再次重定向时,仅丢失$ _SESSION ['user'],$ _ SESSION ['start']和$ _SESSION ['id']会话时,我丢失了其中的一些会话仍然设置。 我不明白为什么只剩下一些而另一些丢失了。

另一个问题是,我将会话$ _SESSION ['start']的名称更改为$ _SESSION ['time'],现在在运行登录脚本后重定向时该会话丢失了。

这是我的重定向脚本:

function redirect_to($location = NULL) {
     if($location != NULL) {
        define('URL', 'http://www.website.com/');
          header('Location: ' .URL. $location);
        exit();
     }
}

任何建议将不胜感激。

解决了!!!

我从事这个项目的时间已经太久了……我忘记了我有一个清除会话的功能。 它取消设置由表单提交创建的会话。 我有一个数组,其中有会话名称要忽略,我将其省略。 因此,每次刷新页面时,它都会取消设置这些会话。 很抱歉浪费您的时间。 我完全忘记了。 我做了大约两个小时的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM