html' target='_blank'>Cookie是強大而方便的功能,它能提供一個范圍內的全程變量,來看看cookie的語法:
setcookie(cookievalue, value, time, path, domain);
cookievalue是設置的 cookie 變量;
value 是將一個值設置成cookie的變量;
time 是這個 cookie 變量作用的時間;
path 是 cookie 作用的路徑;
domain 是 cookie 作用的域。
注意:
在php程序內設置cookie時一定不能在html這個標記的后面設置,必須保證在設置cookie前無數據輸出。
根據register_globals的設置,可以從cookie建立普通的php變量,不過一般不推薦依賴于此特性,因為出于安全考慮該選項通常是關閉的。
php會自動的接收和處理cookie,我們只需要在需要它的時候直接調用即可,你可以使用print_r($_cookie)把整個cookie數組的值全部打印出來。
下面看個例子:
setcookie("cookietime","2001-5-2",time()+3600,"/","test.php");
這個 cookie 設置的意思是給日期 "2001-5-2" 設置一個 cookie 變量 $cookietime ,其作用時間為 3600 秒,這個變量在 /test.php 里生效。
這時在 test.php 里加上 echo $cookietime; 就會顯示出 2001-5-2 .
如果將 cookie 里的時間置空,那么關閉瀏覽器后,cookie 就失效了.
cookie有一個特殊的地方就是cookie設置的值并不會馬上被執行,直到第二次引用時才會被執行,那么第一次引用的cookie值是什么呢?
就是cookie上一次設置的值,這兒理解起來有點費勁,沒關系,舉個例子就全明白了:
setcookie("cookietime",time,time()+3600,"/","test.php");
第一次引用時 $cookietime內沒有值,第二次引用時發現 $cookietime 內的 time才顯示出來,修該time為 2001:
setcookie("cookietime",2001,time()+3600,"/","test.php");
再執行一次,第一次引用時 $cookietime 的值為 time,第二次引用 $cookietime 的值才為 2001;
那么 cookie 的這個特性有何功用呢?聰明的讀者可能已經知道其用法了,就是用于通告和報警功能上的。
看個關于使用cookie 這個特性的例子,這里程序要實現的功能是當用戶下一次來瀏覽網站時,所有這個用戶沒看過的新信息后面都添加一個 (new),用cookie 來完成這個功能再簡單不過了,至少在我看來還沒有任何其它方法能比使用 cookie 來完成這個功能更簡單的了.
存儲信息自然需要時間值,只要數據庫有存儲與每條信息相關的時間值加上 cookie 就能完成這個看上去還不錯的功能~
test.php:
$time=date('Y-m-d H:i:s');
setcookie("cookietime",$time,time()+3600000,"/","test.php");
......
......
//從數據庫取出時間值
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答