Php IE没有正确存储$会话变量,但在mozilla中可以正常工作

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

这个问题只存在于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['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
)