導航:首頁 > 編程語言 > phpcookie無效

phpcookie無效

發布時間:2025-01-20 18:51:18

php獲取cookie後怎麼使用

php獲取cookie使用方法:
cookie和session都可以暫時保存在多個頁面中使用的變數,但是它們有本質的差別。cookie存放在客戶端瀏覽器中,session保存在伺服器上。它們之間的聯系是session ID一般保存在cookie中。
cookie工作原理
當客戶訪問某個網站時,在PHP中可以使用setcookie函數生成一個cookie,系統經處理把這個cookie發送到客戶端並保存在c:Documents and Settings用戶名\Cookies目錄下。cookie是HTTP標頭的一部分,因此setcookie函數必須在任何內容送到瀏覽器之前調用。這種限制與header()函數一樣。當客戶再次訪問該網站時,瀏覽器會自動把c:Documents and Settings用戶名\Cookies目錄下與該站點對應的cookie發送到伺服器,伺服器則把從客戶端傳來的cookie將自動地轉化成一個PHP變數。
通過$_COOKIE['xxx']讀取客戶端發來的cookie。
創建 cookie
通過 setcookie() 函數來創建一個 cookie ,成功返回 TRUE ,否則返回 FALSE 。
語法:
bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )
參數說明:
name cookie 名稱
value 可選,cookie 值
expire 可選,過期時間,時間戳格式
path 可選,伺服器端有效路徑,/ 表示整個域名有效,默認為當前設置 cookie 時頁面的路徑
domain 可選,該 cookie 有效的域名
<?php
setcookie("username", "nostop", time()+3600); //設置了一個名稱為 username 的cookie,其值為 xiaoli ,並在1小時候後過期。如果時間也被省略,cookie 將會在會話結束後(一般是瀏覽器關閉)失效。
?>
cookie 會以一定格式被存儲在用戶計算機特定位置。
<?php
setcookie("username", "nostop", time()+3600, "/", ".example.com"); //在example.com 域名的 / 路徑下該 cookie 都有效(即全站有效)。
?>
讀取 cookie
PHP 內置了 $_COOKIE 變數以訪問設置的 cookie 值。
例子:
<?php
echo $_COOKIE["username"]; //nostop
?>
銷毀 cookie
可以通過設置 cookie 過期時間為以前的時間點來銷毀一個 cookie :
<?php
setcookie("username", "", time()-3600);
?>
cookie注意事項
1、SetCookie()之前不能有任何html輸出,就是空格,空白行都不行。
2、SetCookie()後,你在當前頁調用echo $_COOKIE["name"]不會有輸出。必須刷新或到下一個頁面在過期之前才可以看到Cookie值。
3、由於 cookie 信息存儲於用戶的計算機中,那麼就有可能偽造或修改 cookie 從而造成 cookie 欺騙,一般可以對 cookie 的值進行加密來預防欺騙。讀取 cookie 的時候,對 cookie 解密即可。
4、Cookie是保存在客戶端的,用戶禁用了Cookie,你的Cookie自然也就沒作用啦!
<?php
setcookie('username','nostop',time()+3600); //創建cookie
if(isset($_COOKIE["username"])){ //使用isset()函數檢測cookie變數是否已經被設置
echo "您好!".$_COOKIE["username"]; //您好!nostop 讀取cookie
}else{
echo "請登陸";
}
?>

Ⅱ 如何使用PHP操作cookie

PHP setcookie() 函數向客戶端發送一個 HTTP cookie。cookie 是由伺服器發送到瀏覽器的變數。cookie 通常是伺服器嵌入到用戶計算機中的小文本文件。每當計算機通過瀏覽器請求一個頁面,就會發送這個 cookie。cookie 的名稱指定為相同名稱的變數。例如,如果被發送的 cookie 名為 "name",會自動創建名為 $user 的變數,包含 cookie 的值。
必須在任何其他輸出發送前對 cookie 進行賦值。如果成功,則該函數返回 true,否則返回 false。

setcookie(name, value, expire, path, domain, secure)
name 必需。規定 cookie 的名稱。
value 必需。規定 cookie 的值。
expire 可選。規定 cookie 的有效期。
path 可選。規定 cookie 的伺服器路徑。
domain 可選。規定 cookie 的域名。
secure 可選。規定是否通過安全的 HTTPS 連接來傳輸 cookie。
可以通過 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 來訪問名為 "user" 的 cookie 的值。在發送 cookie 時,cookie 的值會自動進行 URL 編碼。接收時會進行 URL 解碼。如果不需要這樣,可以使用 setrawcookie() 代替。

程序1:
設置並發送 cookie:
1 <?php
2 $value = "my cookie value";
3 // 發送一個簡單的 cookie
4 setcookie("TestCookie",$value);
5 ?>
01 <html>
02 <body>
03 ...
04 ...
05 <?php
06 $value = "my cookie value";
07 // 發送一個 24 小時候過期的 cookie
08 setcookie("TestCookie",$value, time()+3600*24);
09 ?>
10 <html>
11 <body>

程序2:
檢索 cookie 值的不同方法:
01 <html>
02 <body>
03 <?php
04 // 輸出個別的 cookie
05 echo $_COOKIE["TestCookie"];
06 echo "<br />";
07 echo $HTTP_COOKIE_VARS["TestCookie"];
08 echo "<br />";
09 // 輸出所有 cookie
10 print_r($_COOKIE);
11 ?>
12 </body>
13 </html>
程序輸出:
1 my cookie value
2 my cookie value
3 Array ([TestCookie] => my cookie value)

程序3:
通過把失效日期設置為過去的日期/時間,刪除一個 cookie:
1 <?php
2 // 把失效日期設置為一小時前
3 setcookie ("TestCookie", "", time() - 3600);
4 ?>

程序4:
創建一個數組 cookie:
01 <?php
02 setcookie("cookie[three]","cookiethree");
03 setcookie("cookie[two]","cookietwo");
04 setcookie("cookie[one]","cookieone");
05 // 輸出 cookie (在重載頁面後)
06 if (isset($_COOKIE["cookie"]))
07 {
08 foreach ($_COOKIE["cookie"] as $name => $value)
09 {
10 echo "$name : $value <br />";
11 }
12 }
13 ?>
程序輸出:
1 three : cookiethree
2 two : cookietwo
3 one : cookieone

程序5:
view sourceprint?
1 /**
2 * 01.cookie設置
3 * */
4 function ssetcookie($var, $value, $life=0) {
5 global $_SGLOBAL, $_SC, $_SERVER;
6 setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['cookiepath'],$_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0);
7 }

Ⅲ thinkphpcookie設置domain不生效

thinkphpcookie設置domain不生效的原因如下。
1、domain參數設置錯誤:在設置cookie的domain參數時,需要確保它的值是正確的域名格式,比如example.com。如果domain參數設置不正確,瀏覽器是不會接受該cookie的。
2、設置的域名與當前域名不匹配:如果您在本地開發環境中設置了cookie的domain參數,但是在實際生產環境中使用了不同的域名,那麼cookie就不能跨域傳遞了。
3、瀏覽器設置阻止了cookie:有些瀏覽器可能會阻止cookie的設置,可以檢查瀏覽器的cookie設置,確保它們沒有被禁用。

閱讀全文

與phpcookie無效相關的資料

熱點內容
氣動隔膜式壓縮機 瀏覽:470
linux如何修改主機名 瀏覽:104
單片機游標上下移動 瀏覽:526
數據加密驗證 瀏覽:106
程序員被激怒 瀏覽:891
winxp找不到伺服器dns地址 瀏覽:842
以文本文件的格式保存考生文件夾 瀏覽:41
編譯原理文法分為幾類 瀏覽:568
JAVA基礎學python要多久 瀏覽:74
java流量控制 瀏覽:934
java實現多重繼承 瀏覽:705
票據通加密狗怎麼在新系統上使用 瀏覽:793
航模加密狗連接電腦 瀏覽:473
好用的匯編語言編譯器 瀏覽:863
自己編譯安卓虛擬機 瀏覽:911
中國的古代演算法 瀏覽:656
上層怎麼看程序員 瀏覽:25
程序員便當排骨 瀏覽:855
如何禁用安卓全家桶 瀏覽:261
oa伺服器異常怎麼辦 瀏覽:73