0

我突然在传递会话变量时遇到问题,我不知道我做错了什么。有关createSession.php 和passingSession.php,请参见下面的测试代码。我可以在 createSession.php 上创建会话,但是当我单击链接以查看会话是否传递给 passSession.php 时,会话现在是空的。

注意: session_start() 是每个页面上的第一件事。没有任何类型的前导空白。

创建会话.php

session_start();

$_SESSION['aID'] =  time();

if($_SESSION['aID']==""){
    echo "Session is empty. There is a problem creating sessions";
}else{
    echo "Session = ".$_SESSION['aID']." There is no problem creating sessions.  <a href='passingSession.php'>Click Here</a> to see if sessions are passing ok.";   
}

通过Session.php

session_start();

if($_SESSION['aID']==""){
    echo "Session is empty. There is a problem passing sessions.";
}else{
    echo "Session = ".$_SESSION['aID'].". Passing sessions is ok."; 
}
4

2 回答 2

1

不要使用 if($_SESSION['aID']=="") 来测试会话是否存在,而是使用isset()。您正在将会话变量与与未设置变量不同的空字符串进行比较。

使用这样的东西:

session_start();

if(!isset($_SESSION['aID'])){
    echo "Session is empty. There is a problem passing sessions.";
}else{
    echo "Session = ".$_SESSION['aID'].". Passing sessions is ok."; 
}
于 2013-06-10T14:28:45.753 回答
0

这是一个托管配置问题。所做的修改和会话现在再次正常工作。谢谢卡洛斯坎德罗斯

于 2013-06-10T15:54:52.687 回答