如何在每个网页php中检查会话是否过期?

时间:2013-04-03 12:34:45

标签: php

我正在构建我的教程网站。我有登录设施。会话开始后,我的主页打开。我将有多个网页,当我点击链接时,会话必须继续到下一个连续的页面。因此,最左上角的变量用户名将保持不变,直到会话过期(按下注销时)。怎么做?请帮我。

4 个答案:

答案 0 :(得分:1)

试试这个

if(isset($_SESSION['your_sess_name']) && !empty($_SESSION['your_sess_name'])) {
  echo 'your session exists';
}

退出

unset($_SESSION['your_sess_name']);
session_destroy();

答案 1 :(得分:1)

在您需要会话的每个网页中包含session_start();作为第一行。在每一页都打开它是不好的。

另外,为了检查会话是否打开,您可以包含以下代码

<?php
if(strlen(sessionid()) > 0){
    //session exists
    echo "Session Started!";
}else{
    echo "No Session Found!";
}
?>

您还可以将上述代码包含在一个文件中,并在需要会话的页面上将其要求。

答案 2 :(得分:1)

SESSION是非持久性cookie,它将在所有页面上可用,直到浏览器关闭。 SESSION的最长年龄取决于您在该会话中停留的时间,一旦您关闭浏览器窗口,会话将被浏览器终止。

简单地说,在所有PHP文件之上:您可以调用:

<?php
session_start();
if(isset($_SESSION['name']) && $_SESSION['name'] == 'some value')){

}
?>

答案 3 :(得分:1)

首先创建一个文件config.php。在这个文件中写下你的情况如下:

session_start();
if((!isset($_SESSION['session_name'])) and (!isset($_GET['lgact'])))
{
header("location:".SITE_URL."index.php");
exit;
}

然后只需将此文件包含在您的网页中。 include("config.php");
希望这是你找到的。