PHP setcookieがdomainパラメータを指定した後、IEでcookieが失効する解決方法を設定します。


以下のコード:chromeとfirefoxでは、3つのcookie:cookie[one],cookie[two],cookie[three]を生成できます。IEの下では、cookie[one],cookie[two]の2つのクッキーしか生成できません。3つ目は指定されています。
 
<?php
setcookie(“cookie[one]“, “cookieone”,time()+36000,”/”);
setcookie(“cookie[two]“, “cookietwo”,time()+36000,”/”);
setcookie(“cookie[three]“, “cookiethree”, time()+36000,”/”,”.65.la”);
//
if (isset($_COOKIE["cookie"])) {
foreach ($_COOKIE["cookie"] as $name => $value) {
$name = htmlspecialchars($name);
$value = htmlspecialchars($value);
echo “$name : $value <br />
”;
}
}
?>
実験を重ねた後、確認IEは「65.la」という形式のドメイン名パラメータが不適切であると判断した。cookieがすべてのサブドメインに共通する場合は、グローバル変数によって実現されます。