我在login.php文件中有这个代码:
//save user data
$token=$user->getId().'_'.hash('sha256',$user->getUsername().microtime());
$name='fsusr_'.$user->getUsername();
//set session and server variables
$_SESSION[$name]=$token; //set session variable
$_SERVER[$name]=$token; //set server variable
并且在page_init.php中,在登录过程之后,我想检索服务器和会话变量,以便我可以比较它们,并决定下一步该做什么:
我在第8行有这个:
echo $_SERVER[$name];
事实上,问题是另一页在这一行中向我发送了这个错误:
未定义的索引:第8行的fsusr_smoootk。
当我在login.php中创建一个print_r($ _ SERVER)时,我看到包含$ _SERVER [$ name]变量的数组......但是当在另一个页面中执行相同操作时,我发现它不再包含那个变量。
我知道它没有将服务器变量保存到其他页面,但我不知道为什么?
提前致谢
答案 0 :(得分:3)
$ _SERVER变量用于服务器信息。您应该将自己的变量分配到$ _SESSION。
答案 1 :(得分:1)
试试这个$_SESSION['name'] = $token
你在会话中保存数据并回显$ _SERVER ......好人!