中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP如何使用Cookie

發布時間:2020-06-22 10:57:16 來源:億速云 閱讀:132 作者:Leah 欄目:編程語言

PHP如何使用Cookie?針對這個問題,這篇文章給出了相對應的分析和解答,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。

Cookie是存儲在客戶端計算機上的文本文件,它們保留用于跟蹤目的。PHP透明地支持HTTP cookie。

識別回歸用戶涉及三個步驟

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

 ● 瀏覽器將此信息存儲在本地計算機上以供將來使用

 ● 當下次瀏覽器向Web服務器發送任何請求時,它會將這些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。此函數最多需要六個參數,應在<html>標記之前調用。對于設置每一個cookie,必須單獨調用此函數。

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

這是所有參數的細節

 ● name - 設置cookie的名稱。

 ● value - 設置命名變量的值,并且是您實際要存儲的內容。

 ● expire - 這指定自1970年1月1日格林尼治標準時間00:00:00以來的未來時間(以秒為單位)。在此之后,cookie將無法訪問。如果未設置此參數,則在Web瀏覽器關閉時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使用Cookie的方法,雖然從篇幅上看很復雜,但是示例代碼非常詳細且容易理解,如果想了解更多相關內容,請關注億速云行業資訊。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗定市| 安平县| 许昌县| 塔河县| 峨山| 秀山| 精河县| 台东县| 乡城县| 纳雍县| 芦溪县| 靖边县| 遂平县| 临猗县| 武城县| 简阳市| 慈溪市| 博罗县| 礼泉县| 五寨县| 山阴县| 蚌埠市| 宜春市| 兴山县| 枝江市| 宝丰县| 南京市| 信丰县| 沈阳市| 大同市| 宜川县| 郁南县| 台安县| 从江县| 全南县| 西吉县| 县级市| 邵阳县| 新巴尔虎右旗| 五台县| 类乌齐县|