我创建了一个名为destroy()
按钮onclick
事件的函数logout
。但问题是服务器端代码在该函数中总是在页面加载时被调用,无论是否单击了注销按钮。我想要做的就是为lastVisit
按钮的会话可变onclick
logout
事件设置一个值。请让我知道什么是合适的方式,谢谢,
function destroy()
{
<?php $_SESSION['lastVisit'] = "logout"; ?>
alert('hi');
}
答案 0 :(得分:2)
你正在混合php代码和javascript代码,他们不能一起工作,你需要做一个ajax调用,这很简单,因为你使用的是jQuery。
Javascript
jQuery(document).ready(function() {
jQuery("#LogoutButtonID").click(destroy());
});
function destroy() {
jQuery.ajax({
"url":"http://www.example.com/someScriptToLogout.php",
"success":function() {
alert("i logged out");
}
});
}
和someScriptToLogout.php
<?php
session_start();
$_SESSION['lastVisit'] = "logout";
答案 1 :(得分:1)
为什么不采用Ajax方式?
PHP:
if(isset($_POST['endSession'])){
destroy();
echo 'Hi';
}
function destroy(){
$_SESSION['lastVisit'] = "logout";
}
的javascript:
$.post('logOut.php',{endSession:'yes'},function(hi){
alert(hi)
})
肯定会做你想做的事情
请注意:此解决方案将假设您的页面中包含jQuery,并且您的php代码位于名为logOut.php
的页面中