- 1、PHP即時cookie有效期時間怎麼設置
- 2、不知道為什麼,php設置setcookie,沒有有效時間就失敗
- 3、如何使用PHP操作cookie
- 4、php如何設置COOKIE控制登錄用戶的過期時間
- 5、關於PHP中setcookie()的用法問題:
- 6、php如何設置COOKIE控制登錄用戶的過期時間?
設置方法如下:
setcookie(“cookie_name”, “abcd”, time()+3600);
解釋:這個cookie有3600秒的有效期;
cookie有效期在退出作用域那一刻開始生效;
重新又有3600秒,設置cookie時,不會考慮之前的是否設置cookie和cookie是否有效,可以認為是強制設置。
如果關閉瀏覽器重新打開又重新算(當然這個要php.ini設置了關閉瀏覽器立即失效的開關),其實就是打開頁面產生cokeie開始算起,如果你打開頁面產生cokeie的時間有1800秒了,假如設置的3600秒失效,再次刷新頁面就剩1800秒了
沒看到你的代碼,所以寫了個示例:
1. test1.php 設置cookie,並令其生存期為60秒
?php
setcookie(“times”, “1”, time()+60);
?
2. test2.php 取cookie
?php
if (isset($_COOKIE[“times”]))
echo “times ” . $_COOKIE[“times”] . “!br /”;
else
echo “cookie不存在!br /”;
?
test2.php 的運行結果:
times 1!
運行正常啊,可以取得cookie。
如果取不到,請檢查瀏覽器的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: ?php $value = “my cookie value”; // 發送一個簡單的 cookie setcookie(“TestCookie”,$value); ? html body … … ?php $value = “my cookie value”; // 發送一個 24 小時候過期的 cookie setcookie(“TestCookie”,$value, time()+3600*24); ? html body 程序2:檢索cookie 值的不同方法: html body ?php // 輸出個別的 cookie echo $_COOKIE[“TestCookie”]; echo “br /”; echo $HTTP_COOKIE_VARS[“TestCookie”]; echo “br /”; // 輸出所有 cookie print_r($_COOKIE); ? /body /html 程序輸出: my cookie value my cookie value Array ([TestCookie] = my cookie value) 程序3:通過把失效日期設置為過去的日期/時間,刪除一個 cookie: ?php // 把失效日期設置為一小時前 setcookie (“TestCookie”, “”, time() – 3600); ? 程序4:創建一個數組 cookie: ?php setcookie(“cookie[three]”,”cookiethree”); setcookie(“cookie[two]”,”cookietwo”); setcookie(“cookie[one]”,”cookieone”); // 輸出 cookie (在重載頁面後) if (isset($_COOKIE[“cookie”])) { foreach ($_COOKIE[“cookie”] as $name = $value) { echo “$name : $value br /”; } } ? 程序輸出: three : cookiethree two : cookietwo one : cookieone 程序5: /** * 01.cookie設置 * */ function ssetcookie($var, $value, $life=0) { global $_SGLOBAL, $_SC, $_SERVER; setcookie($_SC[‘cookiepre’].$var, $value, $life?($_SGLOBAL[‘timestamp’]+$life):0, $_SC[‘cookiepath’], $_SC[‘cookiedomain’], $_SERVER[‘SERVER_PORT’]==443?1:0); }
在php函數裏面setcookie是有時間限制的
setcookie有3個參數
第一個參數是設置的變量名字
第二個參數是變量的值
第三個參數就是有效期了.有效期是以秒來計算的
假設你設置的cookie的有效期是1個小時,那麼從你設置的時間開始,到一個小時候這個cookie都有效.換句話說就是這個cookie變量能夠讀取到的時間是1個小時
一個小時之後這個變量就失效了.不存在了
用php控制用戶過期的話.先設置一個cookie.並設置時間長度.例如1天.每次當用戶訪問的時候都去讀取這個cookie.如果存在.就免驗證.如果不存在就重新驗證.這樣就實現了登陸用戶的過期時間問題.
setcookie(“TestCookie”, $value);
setcookie(“TestCookie”, $value, time()+3600); /* 有效期1 小時 */
你可以簡單的測試一下,不走下面的 if($_GET[“firstname”]==”T”) 這些判斷的時候,是否有設置 cookie 成功啊,例如:
?php
setcookie(“COO”,””,time()+3600);
var_dump($_COOKIE);
在php函數裏面setcookie是有時間限制的
setcookie有3個參數
第一個參數是設置的變量名字
第二個參數是變量的值
第三個參數就是有效期了.有效期是以秒來計算的
假設你設置的cookie的有效期是1個小時,那麼從你設置的時間開始,到一個小時候這個cookie都有效.換句話說就是這個cookie變量能夠讀取到的時間是1個小時
一個小時之後這個變量就失效了.不存在了
用php控制用戶過期的話.先設置一個cookie.並設置時間長度.例如1天.每次當用戶訪問的時候都去讀取這個cookie.如果存在.就免驗證.如果不存在就重新驗證.這樣就實現了登陸用戶的過期時間問題.
setcookie(“TestCookie”, $value);
setcookie(“TestCookie”, $value, time()+3600); /* 有效期1 小時 */
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/126300.html