明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

PHP4之COOKIE支持詳細(xì)說明

[摘要]PHP4之COOKIE支持詳解 建立商業(yè)站點(diǎn)或者功能比較完善的個(gè)人站點(diǎn),常常需要記錄訪問者的信息,在PHP中提供了兩種方便的手段:session和cookie功能.為了永久的保持用戶信息,則cookie是最便捷的手段.在這里我將為大家詳細(xì)的講解cookie的功能及使用方法. 一:...
PHP4之COOKIE支持詳解

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

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

    二: 設(shè)置cookie時(shí)的注意事項(xiàng)
        在同一個(gè)頁面中設(shè)置cookie,實(shí)際上是按從后往前的順序進(jìn)行的.如果要先刪除一個(gè)cookie,再寫入一個(gè)cookie,則必須先寫寫入語句,再寫刪除語句.否則會(huì)出現(xiàn)錯(cuò)誤.
  
    三: setcookie舉例
        簡(jiǎn)單的: setcookie("mycookie","value_of_mycookie");
        帶失效時(shí)間的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
        什么都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);

    四: cookie的一些特點(diǎn)
        cookie是面向路徑的.缺省path屬性時(shí),WEB服務(wù)器頁會(huì)自動(dòng)傳遞當(dāng)前路徑給瀏覽器.指定路徑會(huì)強(qiáng)制服務(wù)器使用設(shè)置的路徑.
        在一個(gè)目錄頁面里設(shè)的cookie在另一個(gè)目錄的頁面里是看不到的.

    五: 接收和處理cookie
        PHP對(duì)cookie的處理是全自動(dòng)的,和處理FORM變量的原則一樣.當(dāng)然也可以使用PHP全局變量,$HTTP_COOKIE_VARS數(shù)組.
        例:  echo $mycookie;
             echo $cookie Array[0];
             echo count($cookie Array);
             echo $HTTP_COOKIE_VARS["mycookie"];
     
    六: 刪除cookie
        (1)調(diào)用只帶有name參數(shù)的setcookie();
        (2)使失效時(shí)間為time()或time-1;  
    
    七: 使用cookie的限制
        (1) 必須在HTML文件的內(nèi)容輸出之前設(shè)置;
        (2)不同的瀏覽器對(duì)cookie的處理不一致,使用時(shí)一定要考慮;
        (3)客戶端的限制,比如用戶設(shè)置禁止cookie,則cookie不能建立;
    
    八: 一個(gè)具體的例子,希望大家對(duì)cookie有更加深刻的認(rèn)識(shí)
         <?
         //cookie.php
         if(!isset($flag))
           {
            setcookie("mycookie","this my cookie!");
            header("location:cookie.php?flag=1");
            exit;
            }
         ?>
         <html>
         <body>
         <?
            echo "cookie中有:".$mycookie;
         ?>
         </body>
         </html>
     
    怎么樣,通過上面的介紹,你是不是對(duì)PHP中的COOKIE功能有了詳細(xì)的了解.發(fā)揮你的聰明才智,讓你的站點(diǎn)功能更強(qiáng)大吧.如有問題請(qǐng)與 fbigov@sina.com聯(lián)系.讓我們一同進(jìn)步.