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


Check if session is expired, then redirect (Joomla)

我想做的事情很简单,但是我找不到如何实现它的线索。

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

1)测试session是否已经过期。

2)如果会话过期,我想把他重定向到一个特定的URL,比如http://www.example.com

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

您可以使用

检查会话是否处于活动状态
$session = JFactory::getSession();
if ($session->isActive()) {
}

我想到的第一件事是检查会话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',但你或服务器管理员可以更改它,所以检查一下!

希望这对你有帮助!