我的情况非常简单,但我已阅读了很多帖子并尝试了这些建议,但似乎无法想出这个......
会话的变量不会传递到IE6中的下一页。 每次刷新页面都会创建一个新的session_id()。
我正在使用wamp / IE6,没有软件阻止cookie,并且隐私设置设置为中...我知道我可以将PHPSESSID传递到下一页,但安全问题不允许这种方法。
此代码是我正在尝试做的一个示例,它在Firefox中运行良好...这是基础知识:
t1.php
<?php
session_start();
error_reporting(E_ALL);
ini_set("display_errors", -1);
$mysession = session_id();
print_r($mysession);
print "<br>";
$_SESSION['test']="test";
print "<a href='t2.php'>t2</a>";
print "<br>";
$_SESSION['firstname'] = 'charlie';
print_r($_SESSION['firstname']);
print "<br>";
?>
t1.php的输出,即
ing0t5cn53kfa2ptb6l8duppa6 t2 charlie
t2.php
<?php
session_start();
$mysession = session_id();
print_r($mysession);
print "<br>";
print_r($_SESSION);
print "<br>";
print_r($_SESSION['test']);
print "<br>";
print_r($_SESSION['firstname']);
?>
t2.php的输出,即
bh9ueqb61gk3mriq5f3bem4jj1 Array ( ) Notice: Undefined index: test in C:\wamp\www\test\t2.php on line 10 Notice: Undefined index: firstname in C:\wamp\www\test\t2.php on line 13
IE6在下一页中创建一个新的session_id,因此会话变量用未定义的索引标记...
有人可以告诉我如何解决这个问题吗?感谢
答案 0 :(得分:1)
尝试使用Fiddler等网络调试代理。这将向您显示正在发送的cookie标头,并可能会对情况有所了解。默认情况下,简单地运行Fiddler会导致所有IE6流量通过。