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