在IE6中不会持久的会话变量不知道还能做什么

时间:2009-09-09 23:10:19

标签: php

我的情况非常简单,但我已阅读了很多帖子并尝试了这些建议,但似乎无法想出这个......

会话的变量不会传递到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,因此会话变量用未定义的索引标记...

有人可以告诉我如何解决这个问题吗?感谢

1 个答案:

答案 0 :(得分:1)

尝试使用Fiddler等网络调试代理。这将向您显示正在发送的cookie标头,并可能会对情况有所了解。默认情况下,简单地运行Fiddler会导致所有IE6流量通过。