我在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];实际上,问题是另一个页面发送给我的错误就是这一行:
未定义的索引: fsusr_smoootk in ...在第8行。
当我在login.php中创建一个print_r($_SERVER)时,我看到包含$_SERVER$name变量的数组...但是,当在另一个页面中执行相同的操作时,我发现它不再包含该变量。
我知道它没有将服务器变量保存到另一个页面,但我不知道为什么?
提前感谢
发布于 2012-05-23 21:04:59
$_SERVER变量用于存储服务器信息。您应该将自己的变量赋值到$_SESSION中。
http://us.php.net/manual/en/reserved.variables.server.php
发布于 2012-05-23 21:04:34
尝试此$_SESSION['name'] = $token
您正在会话中保存数据并回显$_SERVER...真是个好人!
https://stackoverflow.com/questions/10720484
复制相似问题