搜尋
首頁後端開發php教程PHP如何操作Cookie?

PHP如何操作Cookie?

Nov 29, 2019 pm 02:21 PM
cookiephp

PHP如何操作Cookie?

Cookie是儲存在客戶端電腦上的文字文件,它們保留用於追蹤目的。 PHP透明地支援HTTP cookie。

辨識迴歸使用者涉及三個步驟

 ● 伺服器腳本將一組cookie傳送到瀏覽器。例如年齡等。

 ● 瀏覽器將此資訊儲存在本機電腦上以供日後使用

 ● 當下次瀏覽器向網路伺服器發送任何請求時,它會將這些cookie訊息傳送到伺服器,伺服器使用該資訊來識別使用者。

本章將教您如何設定cookie,如何存取它們以及如何刪除它們。

Cookie的剖析

Cookie通常設定在HTTP標頭中(儘管JavaScript也可以直接在瀏覽器上設定cookie)。設定cookie的PHP腳本可能會發送看起來像這樣的標題(瀏覽器F12,network(網絡)可以看到)

HTTP/1.1 200 OK
Date: Fri, 04 Feb 2000 21:03:38 GMT
Server: Apache/1.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; 
                 path=/; domain=jc2182.com
Connection: close
Content-Type: text/html

如您所見,Set-Cookie標頭包含名稱值對,GMT日期,路徑和域。名稱和值將進行URL編碼。 expires欄位是瀏覽器在給定時間和日期之後刪除cookie的指令。如果瀏覽器配置為儲存cookie,則會將此資訊保留到有效期。如果使用者將瀏覽器指向與cookie的路徑和網域相符的任何頁面,它會將cookie重新傳送到伺服器。瀏覽器的標題可能如下所示

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc)
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz

然後,PHP腳本可以存取環境變數$_COOKIE,其中包含所有cookie名稱和值。

用PHP設定Cookies

PHP提供了setcookie()函數來設定cookie。此函數最多需要六個參數,應在標記之前呼叫。對於設定每一個cookie,必須單獨呼叫此函數。

setcookie(name, value, expire, path, domain, security);

這是所有參數的細節

 ● name - 設定cookie的名稱。

 ● value - 設定命名變數的值,並且是您實際要儲存的內容。

 ● expire - 這指定自1970年1月1日格林尼治標準時間00:00:00以來的未來時間(以秒為單位)。在此之後,cookie將無法存取。如果未設定此參數,則在網頁瀏覽器關閉時cookie將自動過期。

 ● path - 指定cookie有效的目錄。單一正斜線字元允許cookie對所有目錄有效。

 ● domain - 這可用於在非常大的域中指定域名,並且必須至少包含兩個有效期。所有cookie僅對建立它們的主機和網域有效。

 ● security - 可以設定為1以指定cookie應僅透過使用HTTPS的安全傳輸發送,否則設定為0,這表示cookie可以透過常規HTTP發送。

以下範例將建立兩個cookie 名稱和年齡,這些cookie將在一小時後過期。

<?php
   setcookie("name", "John Watkin", time()+3600, "/","", 0);
   setcookie("age", "36", time()+3600, "/", "",  0);
?>
<html>
   
   <head>
      <title>用PHP设置Cookies</title>
   </head>
   
   <body>
      <?php echo "设置 Cookies"?>
   </body>
   
</html>

提示:time()函數傳回的是目前的時間戳,也就是1970年1月一日0點0分0秒到腳本執行的那一刻的秒數。

開啟瀏覽器存取腳本,然後按F12開啟開發者模式,選擇Network(網路)選項卡,選擇Headers,可以看到如下圖所示:

PHP如何操作Cookie?

使用PHP存取Cookie

PHP提供了許多存取cookie的方法。最簡單的方法是使用$_COOKIE變數。以下範例將存取上面範例中設定的所有cookie。

<html>
   
   <head>
      <title>用PHP访问cookie</title>
   </head>
   
   <body>
      
      <?php
         echo $_COOKIE["name"]. "<br />";
         
         echo $_COOKIE["age"] . "<br />";
  
      ?>
      
   </body>
</html>

您可以使用isset()函數來檢查是否設定了cookie。如果設定了再進行輸出。

<html>
   
   <head>
      <title>用PHP访问cookie</title>
   </head>
   
   <body>
      
      <?php
         if(isset($_COOKIE["name"]))
                echo $_COOKIE["name"]. "<br />";
         if(isset($_COOKIE["age"]))
                echo $_COOKIE["age"] . "<br />";
  
      ?>
      
   </body>
</html>

用PHP刪除Cookie

正式地說,要刪除一個cookie,你應該只使用name參數呼叫setcookie()[也就是說想刪除那個name ,把他設定成空],但這並不總是有效,不應該依賴。最安全的做法是設定一個已經過期的日期

/ 設定過去時間為目前時間的之前的60秒/

<?php
   /* 设置过去时间为当前时间的之前的60秒 */
   setcookie( "name", "", time()- 60, "/","", 0);
   setcookie( "age", "", time()- 60, "/","", 0);
?>
<html>
   
   <head>
      <title>用PHP删除cookie</title>
   </head>
   
   <body>
      <?php echo "删除cookie" ?>
   </body>
   
</html>

推薦學習:PHP教學

#

以上是PHP如何操作Cookie?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51cto。如有侵權,請聯絡admin@php.cn刪除
PHP的目的:構建動態網站PHP的目的:構建動態網站Apr 15, 2025 am 12:18 AM

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP:處理數據庫和服務器端邏輯PHP:處理數據庫和服務器端邏輯Apr 15, 2025 am 12:15 AM

PHP在數據庫操作和服務器端邏輯處理中使用MySQLi和PDO擴展進行數據庫交互,並通過會話管理等功能處理服務器端邏輯。 1)使用MySQLi或PDO連接數據庫,執行SQL查詢。 2)通過會話管理等功能處理HTTP請求和用戶狀態。 3)使用事務確保數據庫操作的原子性。 4)防止SQL注入,使用異常處理和關閉連接來調試。 5)通過索引和緩存優化性能,編寫可讀性高的代碼並進行錯誤處理。

您如何防止PHP中的SQL注入? (準備的陳述,PDO)您如何防止PHP中的SQL注入? (準備的陳述,PDO)Apr 15, 2025 am 12:15 AM

在PHP中使用預處理語句和PDO可以有效防範SQL注入攻擊。 1)使用PDO連接數據庫並設置錯誤模式。 2)通過prepare方法創建預處理語句,使用佔位符和execute方法傳遞數據。 3)處理查詢結果並確保代碼的安全性和性能。

PHP和Python:代碼示例和比較PHP和Python:代碼示例和比較Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP行動:現實世界中的示例和應用程序PHP行動:現實世界中的示例和應用程序Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:輕鬆創建交互式Web內容PHP:輕鬆創建交互式Web內容Apr 14, 2025 am 12:15 AM

PHP可以輕鬆創建互動網頁內容。 1)通過嵌入HTML動態生成內容,根據用戶輸入或數據庫數據實時展示。 2)處理表單提交並生成動態輸出,確保使用htmlspecialchars防XSS。 3)結合MySQL創建用戶註冊系統,使用password_hash和預處理語句增強安全性。掌握這些技巧將提升Web開發效率。

PHP和Python:比較兩種流行的編程語言PHP和Python:比較兩種流行的編程語言Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP的持久相關性:它還活著嗎?PHP的持久相關性:它還活著嗎?Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器