【发布时间】:2015-11-04 04:28:26
【问题描述】:
我一直想创建一个 JavaScript 函数来更改登录和未登录用户的 PHP 会话超时。
我已将会话超时添加到 header.php。这是因为当用户登录时,用户可以访问整个网站。但是,登录和未登录的用户都可以访问某些页面。
我不确定如何在if else 语句中制作JavaScript,这样它可以区分来宾session id,或者可能是Ajax 成功地适应来自PHP 的真或假返回。我不确定应该怎么做。
截至目前,我的网站将显示登录和未登录用户的弹出窗口,因为我在 header.php 中添加了会话超时和 Ajax
到处搜索,但根本找不到任何线索。请帮我。谢谢!这是我的代码。
ajax.js
window.onload = init;
var interval;
function init() {
interval = setInterval(trackLogin, 1000);
}
function trackLogin() {
var xmlReq = false;
try {
xmlReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlReq = false;
}
}
if (!xmlReq && typeof XMLHttpRequest != 'undefined') {
xmlReq = new XMLHttpRequest();
}
xmlReq.open('get', 'check.php', true);
xmlReq.setRequestHeader("Connection", "close");
xmlReq.send(null);
xmlReq.onreadystatechange = function() {
if (xmlReq.readyState == 4 && xmlReq.status == 200) {
if (xmlReq.responseText == 1) {
clearInterval(interval);
alert('You have been logged out. You will now be redirected to home page.');
document.location.href = "index.php";
}
}
}
}
【问题讨论】:
标签: javascript php jquery ajax session