全局$ _SESSION变量

时间:2014-04-12 22:29:15

标签: php session global

我试图在PHP上进行登录会话,但似乎$ _SESSION ['用户名']在IF句子内部死亡(我认为$ _SESSION默认为全局变量),我无法从IF中回应它

继承人我的代码

if($name=="admin" && $password=="admin")
{
session_start();
$_SESSION['username'],$_SESSION['sesion'];
$_SESSION['username']=$name;
$_SESSION['sesion']=1;
echo $_SESSION['username'];
echo "<br>";
echo $_SESSION['sesion'];
}
echo "<br>";
echo $_SESSION['username'];

最后一个回显不会打印其VALUE,所以当我将其重定向到另一个页面时,页面不会采用用户名值

我在这件事上有点新意 所以对我不要这么严厉:P 我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

session_start()移至文件顶部:

// foo.php
<?php
  session_start();

  //....

  if($name=="admin" && $password=="admin")
  {
    // $_SESSION['username'],$_SESSION['sesion']; // Remove this line
    $_SESSION['username']=$name;
    $_SESSION['sesion']=1;
    echo $_SESSION['username'];
    echo "<br>";
    echo $_SESSION['sesion'];
  }
  echo "<br>";
  echo $_SESSION['username'];

答案 1 :(得分:0)

session_start()应该高于if语句。最好把它放在?php

下面

答案 2 :(得分:0)

当您在php中使用会话时必须在每个文件/页面中使用session_start()启动它想要获取或设置会话值,所以只需将此行添加到此文件和该文件中即可重定向到。