ndfweb.cn

PHP之COOKIE支持詳解


2010-09-24 23:56:47 (6465)



 建立商業站點或者功能比較完善的個人站點,常常需要記錄訪問者的信息,在PHP中提供了兩種方便的手段:session和cookie功能.為了永久的保持用戶信息,則cookie是最便捷的手段.在這裏我將為大家詳細的講解cookie的功能及使用方法.

    一: 設置cookie
        使用cookie前必須設置cookie.
        函數原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
        其中,除name外,所有的參數都是可選的,可以用空的字符串表示未設置.
        屬性value: 用來指定值.
        屬性path:  用來指定cookie被發送到服務器的哪一個目錄路徑下.
        屬性domain:能夠在瀏覽器端對cookie的發送進行限定. 
        expire參數:用來指定cookie的有效時間,它是一個標準的Unix時間標記.
                   可以用time()或者mktime()函數取得,以秒為單位.
        secure參數:表示這個cookie是否通過加密的HTTPS協議在網絡上傳輸.

    二: 設置cookie時的注意事項
        在同一個頁麵中設置cookie,實際上是按從後往前的順序進行的.如果要先刪除一個cookie,再寫入一個cookie,則必須先寫寫入語句,再寫刪除語句.否則會出現錯誤.
 
    三: setcookie舉例
        簡單的: setcookie("mycookie","value_of_mycookie");
        帶失效時間的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
        什麼都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);

    四: cookie的一些特點
        cookie是麵向路徑的.缺省path屬性時,WEB服務器頁會自動傳遞當前路徑給瀏覽器.指定路徑會強製服務器使用設置的路徑.
        在一個目錄頁麵裏設的cookie在另一個目錄的頁麵裏是看不到的.

    五: 接收和處理cookie
        PHP對cookie的處理是全自動的,和處理FORM變量的原則一樣.當然也可以使用PHP全局變量,$HTTP_COOKIE_VARS數組.
        例:  echo $mycookie;
             echo $cookie Array[0];
             echo count($cookie Array);
             echo $HTTP_COOKIE_VARS["mycookie"];
    
    六: 刪除cookie
        (1)調用隻帶有name參數的setcookie();
        (2)使失效時間為time()或time-1; 
  
    七: 使用cookie的限製
        (1) 必須在HTML文件的內容輸出之前設置;
        (2)不同的瀏覽器對cookie的處理不一致,使用時一定要考慮;
        (3)客戶端的限製,比如用戶設置禁止cookie,則cookie不能建立;
  
    八: 一個具體的例子,希望大家對cookie有更加深刻的認識

Php代碼 複製代碼
  1. <?    
  2.          //cookie.php    
  3.          if(!isset($flag))    
  4.            {    
  5.             setcookie("mycookie","this my cookie!");    
  6.             header("location:cookie.php?flag=1");    
  7.             exit;    
  8.             }    
  9.          ?>    
  10.          <html>    
  11.          <body>    
  12.          <?    
  13.             echo "cookie中有:".$mycookie;    
  14.          ?>    
  15.          </body>    
  16.          </html>   
本文版权:http://www.ndfweb.cn/news-534.html
  NDF俱乐部
  国际域名注册
  建站咨询
简体中文 NDF网站建设淘宝店 | ICO图标在线生成 | 外贸网站建设 | 联系我们
©2007-2024 NDF Corporation 鲁ICP备08005967号 Sitemap - RSSRSS订阅