cookie 經常使用於識別用戶。cookie 是一種服務器留在用戶計算機上的小文件。每當同一臺計算機經過瀏覽器請求頁面時,這臺計算機將會發送 cookie。php
setcookie()函數用於設置cookiehtml
註釋:setcookie()函數必須位於<html>標籤以前。瀏覽器
實例1,建立名爲 "user" 的 cookie,併爲它賦值 "runoob"。咱們也規定了此 cookie 在一小時後過時:服務器
<?php setcookie("user", "runoob", time()+3600); ?> <html> .....
註釋:在發送 cookie 時,cookie 的值會自動進行 URL 編碼,在取回時進行自動解碼。(爲防止 URL 編碼,請使用 setrawcookie() 取而代之。)cookie
實例2,咱們還能夠經過另外一種方式設置 cookie 的過時時間。這也許比使用秒錶示的方式簡單。session
<?php $expire=time()+60*60*24*30; setcookie("user", "runoob", $expire); ?> <html> .....
PHP的$_COOKIE變量用於取回cookie的值。函數
在下面的實例中,咱們取回了名爲 "user" 的 cookie 的值,並把它顯示在了頁面上:編碼
<?php // 輸出 cookie 值 echo $_COOKIE["user"]; // 查看全部 cookie print_r($_COOKIE); ?>
在下面的實例中,咱們使用 isset() 函數來確認是否已設置了 cookie:spa
<html> <head> <meta charset="utf-8"> <title>PHP教程(runoob.com)</title> </head> <body> <?php if (isset($_COOKIE["user"])) echo "歡迎 " . $_COOKIE["user"] . "!<br>"; else echo "普通訪客!<br>"; ?> </body> </html>
當刪除 cookie 時,您應當使過時日期變動爲過去的時間點。code
<?php // 設置 cookie 過時時間爲過去 1 小時 setcookie("user", "", time()-3600); ?>
PHP Session
PHP session 變量用於存儲關於用戶會話(session)的信息,或者更改用戶會話(session)的設置。Session 變量存儲單一用戶的信息,而且對於應用程序中的全部頁面都是可用的。
Session 的工做機制是:爲每一個訪客建立一個惟一的 id (UID),並基於這個 UID 來存儲變量。UID 存儲在 cookie 中,或者經過 URL 進行傳導
用戶信息存儲到 PHP session 中以前,首先必須啓動會話。
開始PHP Session
session_start() 函數必須位於 <html> 標籤以前:
<?php session_start(); ?>
<html>
<body>
</body>
</html>
存儲Session變量
存儲和取回 session 變量的正確方法是使用 PHP $_SESSION 變量:
<?php session_start(); // 存儲 session 數據 $_SESSION['views']=1; ?> <html> <head> <meta charset="utf-8"> <title>PHP教程(runoob.com)</title> </head> <body> <?php // 檢索 session 數據 echo "瀏覽量:". $_SESSION['views']; ?> </body> </html>
若是您但願刪除某些 session 數據,可使用 unset() 或 session_destroy() 函數。
unset() 函數用於釋放指定的 session 變量:
實例
<?php session_start(); if(isset($_SESSION['views'])) { unset($_SESSION['views']); } ?>
或者調用session_destroy() 函數完全銷燬 session:
<?php session_destroy(); ?>