我希望当用户访问我的页面时index.php
。它应该创建一个有过期时间的cookie,如果用户再次尝试在5分钟内访问该页面,他应该被重定向到显示USER TIMEOUT的页面。
index.php
应该创建一个Cookie
如果用户在5分钟内再次访问该页面,他/她应该收到USER TIMEOUT
消息。
答案 0 :(得分:3)
在创建cookie
时,在登录或方法上使用此选项setcookie("user", "User Name", time()+5*60);
setcookie()方法的语法是 -
setcookie(name, value, expire, path, domain);
其中 expire
是Cookie过期的时间,您可以通过向{{1}返回的值添加几秒钟来相对于当前时间给出此时间方法, time()
是Cookie的名称,通过该名称可以访问值, name
是值。请参阅文档here。
在其他页面上查看 -
value
应该在发送输出之前调用方法setcookie()和header()。您可以使用 -
替代(有点棘手)header()if (!isset($_COOKIE["user"]))
header("Location:timeout.php");
这将使用javascript重定向页面。
index.php的内容 -
if (!isset($_COOKIE["user"]))
echo '<script type="text/javascript">
document.location = "timeout.php";
</script>';
timeout.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>
答案 1 :(得分:0)
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);
}
}