下面的代碼:在chrome和firefox下可以生成三個cookie:
cookie[one]、cookie[two]、cookie[three]
在IE下,只能生成cookie[one]、cookie[two]兩個cookie,第三個因為指定了”.65.la”,導致cookie[three]生成失敗。
復制代碼 代碼如下:
<?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 />\n”;
}
}
?>
多次實驗之後,確認IE認為”.65.la”這種形式的域名參數是不規范的。如果要cookie在所有子域名通用的話,可以通過全局變量來變通的實現。