我正在尝试实现一个注销机制,它将由一个点击链接组成,该链接应将SESSION变量设置为True,将用户发送到登录页面,PHP将在该页面检查同一变量的值,如果设置为True则在重新生成会话之前销毁cookie。问题是,每次加载页面时,都会发生onclick事件(我可以通过回显页面顶部的变量来确认这一点,该变量始终返回1),但第一次除外,因为变量仍未设置,所以我会收到一条错误消息。这是我的代码:
JavaScript:
<script>
function destroy_session(){
<?php $_SESSION["Logout"]=True; ?>
}
document.getElementById("logout").onclick=destroy_session;
</script>
HTML:
<li><a href="../index.php" id="logout"><i class="fa fa-sign-out fa-fw"></i> Logout</a>
PHP:
if ($_SESSION['Logout']){
session_unset();
session_destroy();
session_start();
}
我做错什么了吗?有办法解决这个问题吗?
js:
function profile_logout(){
$('#response').html("Please wait...");
$.post( "/logout.php", function( data ) {
$('#response').html(data);
});
return false;
}
html:
<li id="response"><a href="javascript:void(0);" onclick="profile_logout();"><i class="fa fa-sign-out fa-fw"></i> Logout</a>
logout.php:
<?php
@session_start();
session_unset();
session_destroy();
echo "Logout success !";
?>
注意:不要忘记添加库jquery
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
例如:)