PHP設置COOKIE保留時間為瀏覽器進程
例如:
以下為引用的內容:<?php$USERID='PHPer';$CookieTime=0;setcookie('USERID', '$USERID', time()+$CookieTime,'/','pcpchina.com');?>
你會發現這個語句執行過后,Cookie里什么也沒有,到下一個頁面就顯示沒有$USERID這個COOKIE變量值。問題分析如下:
首先,設置瀏覽器進程的“Cookie 過期的時間”這個值并不是當前Unix時間戳+0,如果設置為瀏覽器進程的話,直接將過期時間設置為0即可。其次,不清楚你測試這個頁面時候使用的域名是什么,如果你設置了“pcpchina.com”的話,就說明你必須使用“pcpchina.com”進行訪問cookie才會有效,其實如果 你的域名很多訪問這個頁面的話,那么這個地方可以為空或者訪問這個cookie的域名都是一個域下面的,那么就設置為“.pcpchina.com”,記得前面有“點”
上面的程序如果你這樣寫的話,可能會有效:
以下為引用的內容:<?php$USERID='PHPer';$CookieTime=0;setcookie('USERID','$USERID',0,'/','');echo(isset($_COOKIE['USERID'])?$_COOKIE['USERID']:'');?>
第一次打開這個頁面時候是不會有任何輸出的,因為cookie并不會在當前頁面即刻生效。刷新以后會顯示的。
