PHP設(shè)置COOKIE保留時(shí)間為瀏覽器進(jìn)程
例如:
以下為引用的內(nèi)容:<?php$USERID='PHPer';$CookieTime=0;setcookie('USERID', '$USERID', time()+$CookieTime,'/','pcpchina.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即可。其次,不清楚你測試這個(gè)頁面時(shí)候使用的域名是什么,如果你設(shè)置了“pcpchina.com”的話,就說明你必須使用“pcpchina.com”進(jìn)行訪問cookie才會(huì)有效,其實(shí)如果 你的域名很多訪問這個(gè)頁面的話,那么這個(gè)地方可以為空或者訪問這個(gè)cookie的域名都是一個(gè)域下面的,那么就設(shè)置為“.pcpchina.com”,記得前面有“點(diǎn)”
上面的程序如果你這樣寫的話,可能會(huì)有效:
以下為引用的內(nèi)容:<?php$USERID='PHPer';$CookieTime=0;setcookie('USERID','$USERID',0,'/','');echo(isset($_COOKIE['USERID'])?$_COOKIE['USERID']:'');?>
第一次打開這個(gè)頁面時(shí)候是不會(huì)有任何輸出的,因?yàn)閏ookie并不會(huì)在當(dāng)前頁面即刻生效。刷新以后會(huì)顯示的。

網(wǎng)公網(wǎng)安備