php中cookie即時生效(php設置cookie多種方法)

本文目錄一覽:

PHP即時cookie有效期時間怎麼設置?

回”問題補充”

PHP手冊上關於setcookie函數的expire參數有這樣一個解釋

If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).

如果設為0 或者忽略該參數, cookie將在session結束時(關閉瀏覽器時)過期

所以, 如果要寫4,5個參數, 那把第三個設為0就可以了

php中的cookie問題

php setcookie 後無法立即生效,必須到下一個頁面才能生效

你第一次打開相當於是 setcookie,這個時候 $_Cookie 中還找不到這個鍵值

刷新後,相當於第二次訪問,這個時候才能讀取之前設置的cookie值

所以要刷新後才會顯示 :)

php里的cookie立即生效問題 菜鳥求教。。!!

用來註冊 COOKIE 的函數。主要是用於以數組形式註冊多個 COOKIE 。

各個參數和 setcookie 函數相同。除了第二個參數。。這個自定義函數允許你把數組傳入,並註冊成 COOKIE。中間的循環註冊 COOKIE 代碼即是。。

$_COOKIE[$var] = $value;

這一行代碼,是讓 COOKIE 在當前腳本中即時生效用的。。 $_COOKIE 雖然是預定義變數。。但是變數就是變數。。是允許自己往裡面存數據的。。

php里的cookie立即生效問題 菜鳥求教。。!

用來註冊 COOKIE 的函數。主要是用於以數組形式註冊多個 COOKIE 。

各個參數和 setcookie 函數相同。除了第二個參數。。這個自定義函數允許你把數組傳入,並註冊成 COOKIE。中間的循環註冊 COOKIE 代碼即是。。

$_COOKIE[$var] = $value;

這一行代碼,是讓 COOKIE 在當前腳本中即時生效用的。。 $_COOKIE 雖然是預定義變數。。但是變數就是變數。。是允許自己往裡面存數據的。。

PHP即時cookie有效期時間怎麼設置

設置方法如下:

setcookie(“cookie_name”, “abcd”, time()+3600);

解釋:這個cookie有3600秒的有效期;

cookie有效期在退出作用域那一刻開始生效;

重新又有3600秒,設置cookie時,不會考慮之前的是否設置cookie和cookie是否有效,可以認為是強制設置。

如果關閉瀏覽器重新打開又重新算(當然這個要php.ini設置了關閉瀏覽器立即失效的開關),其實就是打開頁面產生cokeie開始算起,如果你打開頁面產生cokeie的時間有1800秒了,假如設置的3600秒失效,再次刷新頁面就剩1800秒了

PHP的cookie問題

發錯地方了!

PHP中使用cookie

1、設置Cookie

PHP用SetCookie函數來設置Cookie。必須注意的一點是:Cookie是HTTP協議頭的一部分,用於瀏覽器和伺服器之間傳遞信息,所以必須在任何屬於HTML文件本身的內容輸出之前調用Cookie函數。

SetCookie函數定義了一個Cookie,並且把它附加在HTTP頭的後面,SetCookie函數的原型如下:

int

SetCookie(string

name,

string

value,

int

expire,

string

path,

string

domain,

int

secure);

除了name之外所有的參數都是可選的。value,path,domain三個參數可以用空字元串代換,表示沒有設置;expire

secure兩個參數是數值型的,可以用0表示。expire參數是一個標準的Unix時間標記,可以用time()或mktime()函數取得,以秒為單位。secure參數表示這個Cookie是否通過加密的HTTPS協議在網路上傳輸。

當前設置的Cookie不是立即生效的,而是要等到下一個頁面時才能看到.這是由於在設置的這個頁面里Cookie由伺服器傳遞給客戶瀏覽器,在下一個頁面瀏覽器才能把Cookie從客戶的機器里取出傳回伺服器的原因。

在同一個頁面設置Cookie,實際是從後往前,所以如果要在插入一個新的Cookie之前刪掉一個,必須先寫插入的語句,再寫刪除的語句,否則可能會出現不希望的結果。

來看幾個例子:

簡單的:

SetCookie(“MyCookie”,

“Value

of

MyCookie”);

帶失效時間的:

SetCookie(“WithExpire”,

“Expire

in

1

hour”,

time()+3600);//3600秒=1小時

什麼都有的:

SetCookie(“FullCookie”,

“Full

cookie

value”,

time()+3600,

“/forum”,

“.phpuser.com”,

1);

這裡還有一點要說明的,比如站點有幾個不同的目錄,那麼如果只用不帶路徑的Cookie的話,在一個目錄下的頁面里設的Cookie在另一個目錄的頁面里是看不到的,也就是說,Cookie是面向路徑的。實際上,即使沒有指定路徑,WEB伺服器會自動傳遞當前的路徑給瀏覽器的,指定路徑會強制伺服器使用設置的路徑。解決這個問題的辦法是在調用SetCookie時加上路徑和域名,域名的格式可以是「」,也可是「.phpuser.com」。

SetCookie函數里表示value的部分,在傳遞時會自動被encode,也就是說,如果value的值是「test

value」在傳遞時就變成了「test%20value」,跟URL的方法一樣。當然,對於程序來說這是透明的,因為在PHP接收Cookie的值時會自動將其decode。

如果要設置同名的多個Cookie,要用數組,方法是:

SetCookie(“CookieArray[]”,

“Value

1″);

SetCookie(“CookieArray[]”,

“Value

2″);

SetCookie(“CookieArray[0]”,

“Value

1″);

SetCookie(“CookieArray[1]”,

“Value

2″);

2、接收和處理Cookie

PHP對Cookie的接收和處理的支持非常好,是完全自動的,跟FORM變數的原則一樣,特別簡單。

比如設置一個名為MyCookier的Cookie,PHP會自動從WEB伺服器接收的HTTP頭裡把它分析出來,並形成一個與普通變數一樣的變數,名為$myCookie,這個變數的值就是Cookie的值。數組同樣適用。另外一個辦法是引用PHP的全局變數$HTTP_COOKIE_VARS數組。

分別舉例如下:(假設這些都在以前的頁面里設置過了,並且仍然有效)

echo

$MyCookie;

echo

$CookieArray[0];

echo

count($CookieArray);

echo

$HTTP_COOKIE_VARS[“MyCookie”];

就這麼簡單。

3、刪除Cookie

要刪除一個已經存在的Cookie,有兩個辦法:

一是調用只帶有name參數的SetCookie,那麼名為這個name的Cookie將被從關係戶機上刪掉;另一個辦法是設置Cookie的失效時間為time()或time()-1,那麼這個Cookie在這個頁面的瀏覽完之後就被刪除了(其實是失效了)。

要注意的是,當一個Cookie被刪除時,它的值在當前頁在仍然有效的。

4、使用Cookie的限制

首先是必須在HTML文件的內容輸出之前設置;

其次不同的瀏覽器對Cookie的處理不一致辭,且有時會出現錯誤的結果。

第三個限制是在客戶端的。一個瀏覽器能創建的Cookie數量最多為30個,並且每個不能超過4KB,每個WEB站點能設置的Cookie總數不能超過20個。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285704.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 16:05
下一篇 2024-12-22 16:06

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進位的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進位。 一、AES加密介紹 AE…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有著廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python學習筆記:去除字元串最後一個字元的方法

    本文將從多個方面詳細闡述如何通過Python去除字元串最後一個字元,包括使用切片、pop()、刪除、替換等方法來實現。 一、字元串切片 在Python中,可以通過字元串切片的方式來…

    編程 2025-04-29

發表回復

登錄後才能評論