PHP setcookie設置Cookie用法(及設置無效的問題)
更新時間:2011年07月13日 01:07:13 作者:
平時用Session比較多,很少用到Cookie,這次是為了解決Discuz!自動同步登陸不得不用Cookie。
結果碰到一個問題,setcookie設置了Cookie并沒有生效,在瀏覽器端也沒有看到。查了一下,原來是setcookie是通過HTTP請求響應的Header來完成的,需要在請求響應內容輸出之前執(zhí)行(就像其他Header設定一樣)。
在php.ini中error_reporting = E_ALL的情況下,輸出內容之后再setcookie會彈出以下提示:
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\b.php:2) in … on line …
但因為當時php.ini設置成了error_reporting = E_ALL & ~E_NOTICE,于是沒有任何提示,所以開發(fā)的時候還是建議設成error_reporting = E_ALL 方便觀察到一些異常情況。
附一個setcookie用法實例
a.php
<?php
setcookie("page", "a.php");
$page = $_COOKIE["page"] ? $_COOKIE["page"] : "unknown";
echo "From " . $page . "<br /><br />";
?>
This is a.php. Go to <a href="b.php">b.php</a>
b.php
<?php
setcookie("page", "b.php");
$page = isset($_COOKIE["page"]) ? $_COOKIE["page"] : "unknown";
echo "From " . $page . "<br /><br />";
?>
This is b.php. Go to <a href="a.php">a.php</a>
在php.ini中error_reporting = E_ALL的情況下,輸出內容之后再setcookie會彈出以下提示:
復制代碼 代碼如下:
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\b.php:2) in … on line …
但因為當時php.ini設置成了error_reporting = E_ALL & ~E_NOTICE,于是沒有任何提示,所以開發(fā)的時候還是建議設成error_reporting = E_ALL 方便觀察到一些異常情況。
附一個setcookie用法實例
a.php
復制代碼 代碼如下:
<?php
setcookie("page", "a.php");
$page = $_COOKIE["page"] ? $_COOKIE["page"] : "unknown";
echo "From " . $page . "<br /><br />";
?>
This is a.php. Go to <a href="b.php">b.php</a>
b.php
復制代碼 代碼如下:
<?php
setcookie("page", "b.php");
$page = isset($_COOKIE["page"]) ? $_COOKIE["page"] : "unknown";
echo "From " . $page . "<br /><br />";
?>
This is b.php. Go to <a href="a.php">a.php</a>
相關文章
php中選擇什么接口(mysql、mysqli)訪問mysql
我們知道,mysqli是PHP 5中新提供的MySQL接口,此接口使用了面向對象的思想。使用mysqli接口的代碼可讀性更強,其執(zhí)行效率比mysql接口高2013-02-02Dedecms V3.1 生成HTML速度的優(yōu)化辦法
Dedecms V3.1 生成HTML速度的優(yōu)化辦法...2007-03-03php讀取csv數(shù)據(jù)保存到數(shù)組的方法
這篇文章主要介紹了php讀取csv數(shù)據(jù)保存到數(shù)組的方法,通過封裝的類文件實現(xiàn)這一功能,是對csv文件操作的實用技巧,需要的朋友可以參考下2015-01-01在WordPress中獲取數(shù)據(jù)庫字段內容和添加主題設置菜單
這篇文章主要介紹了在WordPress中獲取數(shù)據(jù)庫字段內容和添加主題設置菜單的方法,分別講解了get_option()函數(shù)和add_theme_page()函數(shù)的用法,需要的朋友可以參考下2016-01-01Ajax+Jpgraph實現(xiàn)的動態(tài)折線圖功能示例
這篇文章主要介紹了Ajax+Jpgraph實現(xiàn)的動態(tài)折線圖功能,結合實例形式分析了ajax結合jpgraph.php類庫繪制動態(tài)折線圖的相關操作技巧,需要的朋友可以參考下2019-02-02php自定義函數(shù)實現(xiàn)JS的escape的方法示例
這篇文章主要介紹了php自定義函數(shù)實現(xiàn)JS的escape的方法,結合完整實例形式分析了php實現(xiàn)JS的escape功能函數(shù)的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-07-07