$value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo...」。"/> $value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo...」。">

首頁 >後端開發 >PHP問題 >setcookie php 失效怎麼辦

setcookie php 失效怎麼辦

藏色散人
藏色散人原創
2022-10-26 09:07:311784瀏覽

setcookie php失效的解決方法:1、開啟對應的PHP檔案;2、查看網域參數是否規範;3、透過全域變數來實現即可,程式碼如「foreach ($_COOKIE["cookie" ] as $name => $value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo...」。

setcookie php 失效怎麼辦

本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。

setcookie php 失效怎麼辦?

具體問題描述:

PHP setcookie指定domain參數後,在IE下設定cookie失效了?

解決方法

下面的程式碼:在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在所有子網域通用的話,可以透過全域變數來變通的實作。

推薦學習:《PHP影片教學

以上是setcookie php 失效怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn