检查会话是否过期,然后重定向(Joomla)

时间:2013-04-08 11:30:50

标签: php joomla joomla2.5

我想要做的事情是如此简单,但我无法找到如何实现这一目标的线索。

我有一个巨大的表单,由几个php文件组成,这些文件是使用用户必须填写的AJAX调用的,我想要实现的是:

1)测试此表单的每个页面上的会话是否已过期。

2)如果会话过期,我想将他重定向到特定的网址,让我们说http://www.example.com

提前感谢您的帮助。 问候。

2 个答案:

答案 0 :(得分:3)

您可以使用

检查会话是否处于活动状态
$session = JFactory::getSession();

if ($session->isActive()) {
}

答案 1 :(得分:2)

我想到的第一件事是检查会话cookie是否存在。 如果会话处于活动状态,则默认情况下,PHP会话机制使用默认名称为“PHPSESSID”的cookie。因此,如果存在cookie PHPSESSID,则会话处于活动状态。

您可以检查会话cookie是否存在:

if(isset($_COOKIE['PHPSESSID'])) {
    echo 'Session is active!';
} else {
    echo 'Session is not active!';
}

要重定向,您可以使用:

header('Location: http://example.com');

要检查会话cookie名称,请使用以下命令:

session_start();
echo 'Session cookie name is: ' . session_name();

默认情况下是“PHPSESSID”,但您或服务器管理员可以更改它,请查看它!

希望这有帮助!