我已经编写了php和ajax代码,如果在特定时期内没有任何活动,我想在其中注销用户。我已经设定会话超时仅60秒,仅用于测试。当前代码无法正常工作,并且60秒后似乎没有注销。
在A行,我收到错误意外令牌';'
php:
// Logout
<?php
if (isset($_GET['action']) && $_GET['action'] == "logout") {
unset($_SESSION['pageadmin']);
header('location: /mno.php');
exit();
}
?>
js:
<script>
jQuery(document).ready(function ($) {
let lastActivity = <?php echo $_SESSION['LAST_ACTIVITY']; ?>; // Line A
let now = <?php echo time(); ?>;
let logoutAfter = 60; // I am setting 60 seconds for demo purpose.
let timer = setInterval(function () {
now++;
let delta = now - lastActivity;
if (delta > logoutAfter) {
clearInterval(timer);
//DO AJAX REQUEST TO close.php
$.ajax({
url: "/mno.php",
type: 'GET', // GET also fine
data: {action:'logout'},
success: function(data){
console.log("I am inside success"); // Line B
alert(data);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
}
}, 1000);
});
</script>
我进行了一些调试,并将console.log放置在B行只是为了进行测试,我的代码已到达该行。
编辑1:上面的所有代码都在php文件中。
您需要在A行周围加上引号,以便它像JS文件中的字符串一样回显
let lastActivity = "<?php echo $_SESSION['LAST_ACTIVITY']; ?>"; // Line A