當前位置:首頁 » 編程語言 » setcookiephp

setcookiephp

發布時間: 2022-04-27 08:03:24

『壹』 php setcookie中path和domain怎麼設置

setcookie函數原型如下:

boolsetcookie(string$name[,string$value[,int$expire=0[,string$path[,string$domain[,bool$secure=false[,bool$httponly=false]]]]]])

其中name為cookie的名字,value為cookie的值,expire為過期時間的秒級時間戳(默認為0,代表內存cookie,關閉瀏覽器即失效)

path為cookie的路徑,瀏覽器在發送cookie是只會發送對應路徑及祖先級路徑的cookie,如cookieA設置在根下,cookieB設置在/dir/下,訪問dir的請求會帶著cookieB和cookieA,但訪問根路徑的請求只會帶著cookieA

domain為cookie的域名,只能設置為當前域或當前域的上級域。例如,一個在a.b.com的頁面,可以設置domain為a.b.com,b.com,設置為a.b.com只能在a.b.com中訪問cookie,若直接設置為b.com,則可以在其他b.com域下訪問

secure為true會對cookie進行HTTPS加密傳輸

httponly為true時,只能通過請求發送cookie,使用javascript無法讀取httponly的cookie,安全性更高

『貳』 php setcookie不成功(超級頭疼的問題)

cookie是和域名有關的,你setcookie的時候指定的域名、path和訪問時使用的是否配套?
給你一個調試建議:
首先由於返回setcookie這件事和瀏覽器是無關的,所以你可以只用firefox來測試,裝上firebug或者http header這種能夠截包的插件,請求你的php代碼對應url,看返回的response部分是否和你預期的setcookie一致就能知道你的程序是否有問題了。

回答補充:
這是一個php的經典常見問題,是你的代碼中因為編輯器的原因,在源代碼的?>後面出現了空白字元,和echo的效果是一樣的,所以在這個文件之後的set行為都會失敗。

解決辦法:
1、檢查你的源代碼,去除?>後的空行。
2、不寫?>,php -l不會有問題,也不會影響功能。

回答補充2:
你的php代碼是單獨寫在.php文件里的,還是和html代碼混在一起的?如果是後者的話,是肯定不可以的,因為前面如果有html輸出就已經在setcookie之前有頁面輸出了。如果是後者的話,?>結束符後面是必須緊跟eof的,不能有任何空白符,否則也會認為是向頁面輸出了?>之後的內容。

『叄』 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中setcookie()的用法問題:

你可以簡單的測試一下,不走下面的if($_GET["firstname"]=="T") 這些判斷的時候,是否有設置 cookie 成功啊,例如:

<?php

setcookie("COO","",time()+3600);
var_mp($_COOKIE);

『伍』 如何使用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 }

『陸』 php的setcookie問題

setcookie 隻影響下次訪問頁面時候的$_COOKIE的值,本次$_COOKIE的值不會因為setcookie而改變

『柒』 php是如何設置cookie的呢

<?php
//方法1
$_COOKIE['a']='a';
//方法2
setcookie('a','a',time()+3600*24);
//www.hi-docs.com/php/setcookie.html
?>

『捌』 php中setcookie失敗,為什麼

先把緩存打開,
在PHP里Cookie的使用是有一些限制的。
1、使用setcookie必須在<html>標簽之前
2、使用setcookie之前,不可以使用echo輸入內容
3、直到網頁被載入完後,cookie才會出現
4、setcookie必須放到任何資料輸出瀏覽器前,才送出
.....
由於上面的限制,在使用setcookie()函數時,學會遇到 "Undefined index"、"Cannot modify header information - headers already sent by"…等問題,解決辦法是在輸出內容之前,產生cookie,可以在程序的最上方加入函數 ob_start();
ob_start :打開輸出緩沖區
函數格式:void ob_start(void)
說明:當緩沖區激活時,所有來自PHP程序的非文件頭信息均不會發送,而是保存在內部緩沖區。為了輸出緩沖區的內容,可以使用ob_end_flush()或flush()輸出緩沖區的內容。

詳細出處參考:http://www.jb51.net/article/17056.htm

『玖』 php setcookie()的問題

當前發送的COOKIE不能馬上就是用的。

你換個頁面來輸出COOKIE試試。

比如 a.php是送出COOKIE的,b.php是查看或使用COOKIE的。

還有就是你自己的主機名是 *.qq.com么? 不是你的域名范圍你也無法生成COOKIE的。

『拾』 PHP 請問我setcookie的時候這句話是什麼意思

setcookie() 函數用於設置cookie,由於協議限制,在設置 cookie 之前,不能有任何內容向瀏覽器輸出。
這個是警告你的login文件在執行setcookie()之前有內容輸出。

熱點內容
超級訪問陳小春應采兒 發布:2025-05-16 09:43:29 瀏覽:478
緩存視頻合並工具最新版 發布:2025-05-16 09:35:03 瀏覽:194
花雨庭伺服器ip地址和埠 發布:2025-05-16 09:34:58 瀏覽:239
同時修改多台伺服器管理地址工具 發布:2025-05-16 09:20:36 瀏覽:421
什麼配置就能玩地平線 發布:2025-05-16 09:13:46 瀏覽:82
python旋轉圖片 發布:2025-05-16 09:13:40 瀏覽:638
少女前線防檢測腳本 發布:2025-05-16 08:59:07 瀏覽:728
編譯器對系統的依賴 發布:2025-05-16 08:37:29 瀏覽:711
javamap數組 發布:2025-05-16 08:37:28 瀏覽:451
移動光貓如何自行修改密碼 發布:2025-05-16 08:20:15 瀏覽:125