Javascript 如何设置php cookie的过期时间&;如果存在cookie,如何将用户重定向到其他页面

Javascript 如何设置php cookie的过期时间&;如果存在cookie,如何将用户重定向到其他页面,javascript,php,cookies,Javascript,Php,Cookies,当用户来到我的页面时,我想要index.php。它应该创建一个具有过期时间的cookie,如果用户在5分钟内再次尝试访问该页面,则应将其重定向到显示用户超时的页面 index.php应该创建一个cookie 如果用户在5分钟内再次访问该页面,他/她将收到一条用户超时消息。在登录时或在创建cookie时使用该消息 setcookie("user", "User Name", time()+5*60); setcookie()方法的语法为- setcookie(name, value, expir

当用户来到我的页面时,我想要
index.php
。它应该创建一个具有过期时间的cookie,如果用户在5分钟内再次尝试访问该页面,则应将其重定向到显示用户超时的页面

index.php
应该创建一个cookie


如果用户在5分钟内再次访问该页面,他/她将收到一条
用户超时
消息。

在登录时或在创建cookie时使用该消息

setcookie("user", "User Name", time()+5*60);
setcookie()方法的语法为-

setcookie(name, value, expire, path, domain); 
其中,
expire
是cookie将过期的时间,您可以通过在
time()
方法返回的值上再加几秒钟来指定相对于当前时间的时间,
name
是cookie的名称,通过它可以访问该值,而
就是该值。请参阅文档

在另一页,请与-

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>';
if(!isset($\u COOKIE[“用户”]))
回声'
document.location=“timeout.php”;
';
这将使用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>
<?php
session_start();
unset($_SESSION['visited']);
?>
<html><body>Timeout, again go to <a href="index.php">main page</a></body></html>

这是我的页面
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>
<?php
session_start();
unset($_SESSION['visited']);
?>
<html><body>Timeout, again go to <a href="index.php">main page</a></body></html>

超时,再次转到

Yes time()将返回当前时间,在5*60秒+当前时间之后,Cookie将过期。确保页眉()位于PHP页面的最顶端,并且在此之前您没有输出任何HTML。@user2294087是@allejo说的,
header()或
setcookie()
应在发送任何HTML输出之前调用。@user2294087然后等待5分钟,让cookie过期,再次重新加载页面。或者让过期时间小于我认为您正在同一页
index.php
上创建和检查cookie的时间?