簡體   English   中英

php中的setcookie和$ _COOKIE之間的區別

[英]difference between setcookie and $_COOKIE in php

通過setcookie()$_COOKIE設置cookie有什么區別嗎?

有時,當通過setcookie設置cookie時,我沒有通過$ _COOKIE ['cookie_name']獲得該cookie的值。但是在setcookie之后立即顯示js console.log,顯示cookie已設置但是如果我嘗試獲取值通過$ _COOKIE的cookie,我沒有得到更新的值。

我糊塗了..!!

你實際上不能用這樣的代碼“設置”一個cookie:

$_COOKIE['cookie'] = $my_var;

所有這一切都是為$_COOKIE數組添加一個新值。 沒有Set-Cookie HTTP標頭被發送回響應中的客戶端(瀏覽器),並且不會在客戶端上創建cookie。

使用setcookie()函數設置cookie。

當前接受的答案正確指出$_COOKIE是在PHP進程開始時設置/初始化的,之后不會更新。 您可以自己更新,但不要期望該值繼續下一個請求。

在setcookie功能中,您只能設置cookie名稱。 如果您想獲得該cookie值,那么您可以通過$_COOKIE['name']

確保在創建cookie時,您還需要在setcookie函數中設置域名。

在PHP中,我們可以使用函數setcookie()設置cookie。 該函數的語法是

setcookie(name,value,expire,path,domain,secure)

例如, setcookie('name',$name,0,'/'); 將在根目錄'/'中創建一個名為name的cookie,其值為變量$ name。 為了訪問cookie,我們可以使用$_COOKIE['cookiename'] ;

使用setcookie,您只能在php中設置cookie:

setcookie("myCookie", $value, time() + 3600);

但是如果你想獲得或使用那個cookie,你可以使用$ _COOKIE,就像你想要使用一些cookie值一樣:echo $ _COOKIE ['cookie_name'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM