就是说,我在登录页面登录后,session已经被注册了,这时点击一些连接时,地址栏中会将PHPSESSID一起传递过去(即HTTP://... .../XXX.PHP?PHPSESSID=XXXXXXXXXXXXXXXXXXXXXXXXXX),但有时却不可以,尤其是在第二次点击一些连接时,地址栏中为HTTP://... .../XXX.PHP,并没有将PHPSESSID传递过去,以致在下一个页面中无法使用SESSION.这是怎么回事啊?
调试欢乐多
在最后一个页面SESSION失效的情况下,我手动将?PHPSESSID=XXXXXXXXXXXXXXXXXXXXXXXXXX加入到地址栏中(即变为HTTP://... .../XXX.PHP?PHPSESSID=XXXXXXXXXXXXXXXXXXXXXXXXXX),重新连接时,SESSION却到了.
##################test111.php#########################
session_start();
$userid="abc";
$passwd="123";
session_register("userid");
session_register("passwd");
header(sprintf("Location: %s", "test222.php"));
?>test222.php<?
##################test111.php#########################
session_start();
echo $userid;
echo $passwd;
?>结果,没有输出
我将test111.php做了一下修改:<?
##################test111.php#########################
session_start();
$userid="abc";
$passwd="123";
session_register("userid");
session_register("passwd");
echo "<a href=test222.php>test222.php</a>";
?>这时,正常输出.我的情况类似于此,不知道为什么??
##################test111.php#########################
session_start();
echo $_SESSION['userid'];
echo $_SESSION['passwd'];?>
他那个的解决办法是
你说的这个可能是你的用?了吧.
你的代码给给出这一部分的吗?看看.
<?
##################test111.php#########################
session_start();
$userid="abc";
$passwd="123";
session_register("userid");
session_register("passwd");
?>
<a href="test222.php?<?=SID?>">test222.php?</a>";
header(sprintf("Location: %s", "test222.php"));
sessionid没有传过去(从地址栏中可以看出)
没有输出情况二,
echo "<a href=test222.php>test222.php</a>";
sessionid传过去了(从地址栏中可以看出)
可是输出