1

我一直在页面请求之间超时。有时它似乎有效,而另一些则无效。似乎看不到模式或原因。我在每个页面顶部使用以下代码并$_SESSION['start']在验证和登录用户时进行设置。

<?php 
session_start();
$inactive = 86400;
if(isset($_SESSION['start']) ) {
$session_life = time() - $_SESSION['start'];
if($session_life > $inactive){
    header("Location: login/logged_out.php");
}
}
$_SESSION['start'] = time();

$isLoggedIn = isset($_SESSION['first_name']) && isset($_SESSION['username']);

$_SESSION['url'] = $_SERVER['REQUEST_URI'];
?>

我做错了什么,如何让用户保持登录状态?我必须设置一个cookie吗?或者是PHPINI文件中的默认会话到期时间低于我设置的时间,因此让我超时。任何想法我可以如何覆盖它并让用户在我指定的时间内保持登录状态。这开始让我有点发疯了。

我还看到使用ini_set("session.cookie_lifetime","86400");可能有效?

任何帮助都会非常受欢迎。

4

0 回答 0