我试图在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 我怎么能这样做?
答案 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()
启动它想要获取或设置会话值,所以只需将此行添加到此文件和该文件中即可重定向到。