cookie 常用於識別使用者。
什麼是 Cookie?
cookie 常用於識別使用者。 cookie 是伺服器留在使用者電腦中的小檔案。每當相同的電腦透過瀏覽器請求頁面時,它同時會發送 cookie。透過 PHP,您能夠建立並取回 cookie 的值。
如何建立 cookie?
setcookie() 函數用於設定 cookie。
註:setcookie() 函數必須位於 標籤之前。
文法
<code>setcookie(name, <span>value</span>, expire, path, domain);</code>
範例
在下面的範例中,我們將建立一個名為 “user” 的 cookie,把為它賦值 “Alex Porter”。我們也規定了此cookie 在一小時後過期:
<code><span><span><?php</span>setcookie(<span>"user"</span>, <span>"Alex Porter"</span>, time()+<span>3600</span>); <span>?></span></span><span><<span>html</span>></span><span><<span>body</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>
註釋:在發送cookie 時,cookie 的值會自動進行URL 編碼,在取回時進行自動解碼(為防止URL 編碼,請使用setrawcookie() 取而代之)
如何取回Cookie 的值?
PHP 的 $_COOKIE 變數用來取回 cookie 的值。
在下面的例子中,我們取回了名為「user」 的cookie 的值,並把它顯示在了頁面上:
<code><span><span><?php</span><span>// Print a cookie</span><span>echo</span><span>$_COOKIE</span>[<span>"user"</span>]; <span>// A way to view all cookies</span> print_r(<span>$_COOKIE</span>); <span>?></span></span></code>
在下面的例子中,我們使用isset() 函數來確認是否已設定了Cookie:
<code><span><span><<span>html</span>></span><span><<span>body</span>></span><span><span><?php</span><span>if</span> (<span>isset</span>(<span>$_COOKIE</span>[<span>"user"</span>])) <span>echo</span><span>"Welcome "</span> . <span>$_COOKIE</span>[<span>"user"</span>] . <span>"!<br />"</span>; <span>else</span><span>echo</span><span>"Welcome guest!<br />"</span>; <span>?></span></span><span></<span>body</span>></span><span></<span>html</span>></span></span></code>
如何刪除cookie?
當刪除 cookie 時,您應使過期日期變更為過去的時間點。
刪除的範例:
<code><span><span><?php</span><span>// set the expiration date to one hour ago</span> setcookie(<span>"user"</span>, <span>""</span>, time()-<span>3600</span>); <span>?></span></span></code>
如果瀏覽器不支援 cookie 怎麼辦?
如果您的應用程式涉及不支援 cookie 的瀏覽器,您就必須採取其他方法在應用程式中從一張頁面向另一張頁面傳遞訊息。一種方式是從表單傳遞資料(有關表單和使用者輸入的內容,稍早前我們已經在本教學中介紹過了)。
下面的表單在使用者點擊提交按鈕時向 “welcome.php” 提交了使用者輸入:
<code><span><<span>html</span>></span><span><<span>body</span>></span><span><<span>form</span><span>action</span>=<span>"welcome.php"</span><span>method</span>=<span>"post"</span>></span> Name: <span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"name"</span> /></span> Age: <span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"age"</span> /></span><span><<span>input</span><span>type</span>=<span>"submit"</span> /></span><span></<span>form</span>></span><span></<span>body</span>></span><span></<span>html</span>></span> 取回 "welcome.php" 中的值,就像这样: <span><<span>html</span>></span><span><<span>body</span>></span>Welcome <span><span><?php</span><span>echo</span><span>$_POST</span>[<span>"name"</span>]; <span>?></span></span>.<span><<span>br</span> /></span> You are <span><span><?php</span><span>echo</span><span>$_POST</span>[<span>"age"</span>]; <span>?></span></span> years old. <span></<span>body</span>></span><span></<span>html</span>></span></code>
以上就介紹了32 PHP Cookies,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。