cookie 常用於識別使用者。
cookie 常用於識別使用者。 cookie 是一種伺服器留在使用者電腦上的小檔案。每當同一台電腦透過瀏覽器請求頁面時,這台電腦將會傳送cookie。透過PHP,您能夠建立並取回cookie 的值。
setcookie() 函數用於設定cookie。
註: setcookie() 函數必須位於<html> 標籤之前。
setcookie(name, value, expire, path, domain);
在下面的例子中,我們將建立名為"user" 的cookie,並為它賦值"codercto"。我們也規定了此cookie 在一小時後過期:
<?phpsetcookie("user", "codercto", time()+3600);?><html>.....註:在傳送cookie 時,cookie 的值會自動進行URL 編碼,在取回時會進行自動解碼。 (為防止URL 編碼,請使用setrawcookie() 取代。)
您也可以透過另一種方式設定cookie 的過期時間。這也許比使用秒錶示的方式簡單。
<?php$expire=time()+60*60*24*30;setcookie("user", "codercto", $expire);?><html>.....在上面的實例中,過期時間被設定為一個月( 60 秒* 60 分* 24 小時* 30 天)。
PHP 的$_COOKIE 變數用來取回cookie 的值。
在下面的實例中,我們取回了名為"user" 的cookie 的值,並把它顯示在了頁面上:
<?php// 輸出cookie 值echo $_COOKIE["user"];// 查看所有cookieprint_r($_COOKIE);?>
在下面的實例中,我們使用isset() 函數來確認是否已設定了cookie:
<html><head><meta charset="utf-8"><title>碼農教學(codercto.com)</title></head><body><?phpif (isset($_COOKIE["user" ])) echo "歡迎" . $_COOKIE["user"] . "!<br>";else echo "普通訪客!<br>";?></body></html>
當刪除cookie 時,您應使過期日期變更為過去的時間點。
刪除的實例:
<?php// 設定cookie 過期時間為過去1 小時setcookie("user", "", time()-3600);?>如果您的應用程式需要與不支援cookie 的瀏覽器打交道,那麼您就必須使用其他的方法在您的應用程式中的頁面之間傳遞訊息。一種方式是透過表單傳遞資料(有關表單和使用者輸入的內容,在本教學的前面章節中我們已經介紹過了)。
下面的表單在使用者單點擊"Submit" 按鈕時,向"welcome.php" 提交了使用者輸入:
<html><head><meta charset="utf-8"><title>碼農教學(codercto.com)</title></head><body><form action="welcome.php" method=" post">姓名: <input type="text" name="name">年齡: <input type="text" name="age"><input type="submit"></form></body>< /html>
取回"welcome.php" 檔案中的值,如下所示:
<html><head><meta charset="utf-8"><title>碼農教學(codercto.com)</title></head><body>歡迎<?php echo $_POST["name"] ; ?>.<br>你<?php echo $_POST["age"]; ?> 歲了。 </body></html>