服务器变量在其他页面中不可识别


Server Variable is not recognizable in other pages

>我在登录.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...在第 8 行。

当我在登录中创建一个print_r($_SERVER.php 时,我看到包含 $_SERVER[$name] 变量的数组...但是当在另一个页面中执行相同操作时,我看到它不再包含该变量。

我知道它没有将服务器变量保存到另一个页面,但我不知道为什么?

提前致谢

$_SERVER 变量用于服务器信息。您应该将自己的变量分配给 $_SESSION。

http://us.php.net/manual/en/reserved.variables.server.php

试试这个$_SESSION['name'] = $token

您正在会话中保存数据并回显 $_SERVER...好人!