亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 PHP/Javascript 中的 cookie 過期前一分鐘提醒用戶?

如何在 PHP/Javascript 中的 cookie 過期前一分鐘提醒用戶?

PHP
慕哥6287543 2023-06-18 17:46:16
我正在尋找可以在 cookie 過期前一分鐘提醒登錄用戶的東西,以便他們在 cookie 過期前將內容保存在 CMS 中。關于如何實現相同目標的任何建議?我在我的授權文件中設置了以下內容setcookie("USERNAME", $user,time()+9000);setcookie("AUTHORID", $rec["id"],time()+9000);setcookie("AUTH", "1",time()+9000);setcookie("RIGHTS", $rec["rights"],time()+9000);
查看完整描述

3 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

你需要在 javascript 中做到這一點。

  1. 服務器為 cookie 設置新的過期時間

  2. 執行超時的javascript

  3. 在頁面上再次重新加載 1,2

// save minute before expiration

setTimeout(saveWork, (9000-60)*1000);


function saveWork(){

    // do your stuff

}


查看完整回答
反對 回復 2023-06-18
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

不可能。document.cookie 包含這樣的字符串信息:


key1=value1;key2=value2;...

所以沒有關于日期的任何信息。


您可以將時間過期時間傳遞給 javascript。一種方法是存儲另一個 cookie,所以你有這個:


$expireAt = time() + 9000;? ??

setcookie("USERNAME", $user,$expireAt);

setcookie("AUTHORID", $rec["id"],$expireAt);

setcookie("AUTH", "1",$expireAt);

setcookie("RIGHTS", $rec["rights"],$expireAt);

setcookie("EXPIREAT", $expireAt, $expireAt);

然后,這個獲取 cookie 的函數:(來源)


function getCookie(cname) {

? var name = cname + "=";

? var decodedCookie = decodeURIComponent(document.cookie);

? var ca = decodedCookie.split(';');

? for(var i = 0; i <ca.length; i++) {

? ? var c = ca[i];

? ? while (c.charAt(0) == ' ') {

? ? ? c = c.substring(1);

? ? }

? ? if (c.indexOf(name) == 0) {

? ? ? return c.substring(name.length, c.length);

? ? }

? }

? return "";

}

并設置一個計時器:


let expireat = getCookie("EXPIREAT");

if (expireat) {

? let timeAlert = Number(expireat) - 60;

? setTimeout(function() {

? ? // Do something

? }, timeAlert);

}

請記住,用戶可以更改 cookie 的值。


查看完整回答
反對 回復 2023-06-18
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

使用過期時間制作額外的cookie


setcookie("expiration_time", time,time()+9000);

經過測試,這個cookie的時間


if( $_COOKIES['expiration_time'] + 60 < time() ){

   //... you alert code 

}


查看完整回答
反對 回復 2023-06-18
  • 3 回答
  • 0 關注
  • 201 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號