所以我已经有了第一次使用网页设计的经历,但是我做了一些我不喜欢的事情,主要是因为时间的关系。所以无论如何,我不知道哪个是处理会话的正确方法。我在之前的项目中所做的是将PHP嵌入HTML并基于$ _SESSION中的任何内容,通常是id和用户类型编号,然后我通过嵌入式打开或关闭网站的部分内容PHP。
然而,这不是我最初想要这样做的原因,起初我想做的是制作一个JavaScript代码,通过AJAX向服务器发送请求,并检查会话是否仍处于活动状态,并且基于在网站的开放/关闭部分,但我必须在每个页面上提出请求,并经常确保用户已登录。我应该处理这样的客户端吗?
有哪些其他方法可以检查会话但不嵌入PHP并使用JavaScript来修改HTML文档。
答案 0 :(得分:0)
要做到这一点,你需要的只是循环上的ajax请求和检查会话的php文件。
Javascript
function checkLogin(un) { //put this function in a loop of some sort depending on how you want to use it
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
logout(xmlhttp.responseText);
}
}
xmlhttp.open("GET", "checklogin.php?un=" + un, true);
xmlhttp.send();
}
function logout(resp) {
if (resp == "false") { //comparing actual text, not boolean
window.location.href = 'logout.php'; //destroy the session or something
}
}
PHP文件checklogin.php(非常简单)
<?php
if ($_SESSION[$_GET['un']] != true) {
echo 'false';
}
?>
php将取决于你如何存储你的会话,但在这种情况下,它只是使用一个以其用户名为标准的会话,如果你已登录就存储true
。如果你决定,我会建议让它更复杂实际上使用它。