Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对cookie过期执行操作_Php_Cookies_Setcookie - Fatal编程技术网

Php 对cookie过期执行操作

Php 对cookie过期执行操作,php,cookies,setcookie,Php,Cookies,Setcookie,当cookie过期时,我想做的事情会导致一个动作。例如,我有一个cookie: setcookie('loggedIn', true, time()+ 3600); 当cookie过期时,我希望能够自动将它们重定向到不同的网页,并调用一个php脚本来注销用户。您可以通过$\u cookie进行检查 您可以在单独的文件中对其进行编码并将其包含在每个页面中,也可以在XHR中实现它。您可以通过$\u COOKIE检查它 您可以在一个单独的文件中对其进行编码,并将其包含在每个页面中,也可以在XHR中实

当cookie过期时,我想做的事情会导致一个动作。例如,我有一个cookie:

setcookie('loggedIn', true, time()+ 3600);
当cookie过期时,我希望能够自动将它们重定向到不同的网页,并调用一个php脚本来注销用户。

您可以通过$\u cookie进行检查

您可以在单独的文件中对其进行编码并将其包含在每个页面中,也可以在XHR中实现它。

您可以通过$\u COOKIE检查它


您可以在一个单独的文件中对其进行编码,并将其包含在每个页面中,也可以在XHR中实现它。

听起来好像您试图做的是在一段时间后自动注销用户。Cookie过期不是一种合适的方法-用户可以更改Cookie的过期日期,并且可以在未达到其过期日期的情况下删除Cookie。例如,如果用户清除浏览器中的cookie,或使用私人浏览会话

自动注销用户的适当方法是在会话中存储过期日期,例如

// during login
$_SESSION["valid_until"] = time() + 3600 * 3; // stay logged in for three hours

// then, during page startup
if ($_SESSION["valid_until"] < time()) {
    session_destroy(); // or store data in the session to indicate it's inactive
    header("Location: error.php?err=session-timeout");
    exit();
}

听起来好像你要做的是在一段时间后自动注销用户。Cookie过期不是一种合适的方法-用户可以更改Cookie的过期日期,并且可以在未达到其过期日期的情况下删除Cookie。例如,如果用户清除浏览器中的cookie,或使用私人浏览会话

自动注销用户的适当方法是在会话中存储过期日期,例如

// during login
$_SESSION["valid_until"] = time() + 3600 * 3; // stay logged in for three hours

// then, during page startup
if ($_SESSION["valid_until"] < time()) {
    session_destroy(); // or store data in the session to indicate it's inactive
    header("Location: error.php?err=session-timeout");
    exit();
}

我想,但这将意味着包括在每一页。我正在寻找一种更通用的解决方案,在cookie过期时,脚本将自动运行,而不是只在需要运行页面加载时运行。@yitzih您可以将其写入单独的文件并包含在每个页面中吗?或者您可以在XHRI中实现它,但这意味着在每个页面上都包含它。我正在寻找一种更通用的解决方案,在cookie过期时,脚本将自动运行,而不是只在需要运行页面加载时运行。@yitzih您可以将其写入单独的文件并包含在每个页面中吗?或者您可以在XHR中实现它,因为它们更适合于登录管理。更适合于登录管理。