Php IE没有正确存储$会话变量,但在mozilla中可以正常工作
这个问题只存在于IE中。Mozilla和chrome工作正常,很难找出我的错误所在 我有一个for循环,用于构建多级$\u会话变量,例如:Php IE没有正确存储$会话变量,但在mozilla中可以正常工作,php,internet-explorer,session,loops,session-variables,Php,Internet Explorer,Session,Loops,Session Variables,这个问题只存在于IE中。Mozilla和chrome工作正常,很难找出我的错误所在 我有一个for循环,用于构建多级$\u会话变量,例如: $seq = 1; for($d=1; $d<=10; $d++){ if($_POST["COMPANY_$d"] && $_POST["PHONE_$d"]){ $_SESSION['c'][$seq]["COMPANY"] = $_POST["COMPANY_$d"]; $_SESSION
$seq = 1;
for($d=1; $d<=10; $d++){
if($_POST["COMPANY_$d"] && $_POST["PHONE_$d"]){
$_SESSION['c'][$seq]["COMPANY"] = $_POST["COMPANY_$d"];
$_SESSION['c'][$seq]["PHONE"] = $_POST["PHONE_$d"];
if($_POST["COUNTRY_$d"] == 'Canada'){
$_SESSION['c'][$seq]["STATE"] = $_POST["STATE_$d"];
}else{
$_SESSION['c'][$seq]["STATE"] = $_POST["STATE_2_$d"];
}
$_SESSION['c'][$seq]["COUNTRY"] = $_POST["COUNTRY_$d"];
$_SESSION['c'][$seq]["ADDY1"] = $_POST["ADDY1_$d"];
$_SESSION['c'][$seq]["ADDY2"] = $_POST["ADDY2_$d"];
$_SESSION['c'][$seq]["CITY"] = $_POST["CITY_$d"];
$_SESSION['c'][$seq]["ZIP"] = $_POST["ZIP_$d"];
$seq++;
}//end declare var in $_SESSION
}//end for
我不确定11是来自我的循环还是其他代码。我花了3个小时仔细检查代码,没有发现任何干扰。这在Mozilla中有效,IE是怎么回事?我的问题是什么?如果您在IE中禁用了Cookie,那么PHP将尝试将会话ID附加到URL,以便将会话连接到您的浏览器。如果您的应用程序无意中从URL中清除了会话ID(无论是从代码中还是通过.htaccess设置了任何命令),那么这可能就是问题所在。我首先检查你的IE浏览器,确保它没有禁用Cookie来验证问题是否存在。你的php是否配置为使用Cookie来存储
$\u会话
?默认情况下,它们存储在内部,从不离开web服务器。这很奇怪。会话不应受到浏览器的影响,它们是服务器端管理的。尝试清除IE缓存和cookies列表。在Firefox和Chrome上也一样。
Array
(
[c] => 11
)