我希望当用户来到我的页面时index.php
。它应该创建一个带有过期时间的 cookie,如果用户在 5 分钟内再次尝试访问该页面,他应该被重定向到显示 USER TIMEOUT 的页面。
index.php
应该创建一个cookie
如果用户在 5 分钟内再次访问该页面,他/她应该会收到一条USER TIMEOUT
消息。
我希望当用户来到我的页面时index.php
。它应该创建一个带有过期时间的 cookie,如果用户在 5 分钟内再次尝试访问该页面,他应该被重定向到显示 USER TIMEOUT 的页面。
index.php
应该创建一个cookie
如果用户在 5 分钟内再次访问该页面,他/她应该会收到一条USER TIMEOUT
消息。
在登录或创建 cookie 时使用此方法
setcookie("user", "User Name", time()+5*60);
setcookie() 方法的语法是 -
setcookie(name, value, expire, path, domain);
expire
cookie 过期的时间在哪里,您可以通过在time()
方法返回的值上增加几秒来给出这个时间相对于当前时间的时间,name
是 cookie 的名称,将通过它来访问该值,并且value
是价值。请参阅此处的文档。
在其他页面上检查 -
if (!isset($_COOKIE["user"]))
header("Location:timeout.php");
应该在发送输出之前调用方法 setcookie() 和 header()。您可以使用的 header() 的替代方案(有点棘手)-
if (!isset($_COOKIE["user"]))
echo '<script type="text/javascript">
document.location = "timeout.php";
</script>';
这将使用 javascript 重定向页面。
index.php 的内容-
<?php
session_start();
if(!isset($_SESSION['visited']))
{
$_SESSION['visited'] = time();
setcookie("user", "User Name", time()+5*60);
}
else
{
if(!isset($_COOKIE["user"]))
header("Location:timeout.php");
}
?>
<html><body>This is my page</body></html>
timeout.php 的内容-
<?php
session_start();
unset($_SESSION['visited']);
?>
<html><body>Timeout, again go to <a href="index.php">main page</a></body></html>
if(!isset($_COOKIE["user"]))
{
$expire=time()+60*60*24*30;
setcookie("user", "Alex Porter", $expire);
//cookie for 5 mins
$time = time()+60*5;
setcookie("page_auth", "Alex Porter", $time);
}
else
{
if(isset($_COOKIE["page_auth"]))
{
header('location:timeout.php');
setcookie("user", "", time()-3600);
}
}