我希望在用户点击“注销”时销毁会话,我试图通过使用jQuery调用函数onClick来执行此操作,然后使用jQuery调用包含session_destroy();
的.PHP文件。 / p>
的index.php
<?php
if(isset($_SESSION['username'])) {
echo "<li><a href='#' id='logOut' onclick='logOut();'>Log Out</a></li>";
}
?>
这使得注销按钮仅在用户登录时以及onClick应该调用Nav.js中包含的logOut()
时可见。
Nav.js
function logOut() {
$.get("../Controller/logOut.php");
return false;
}
logOut.php
<?php
session_destroy();
?>
当我点击“退出”时似乎没有任何事情发生,我在Chrome Dev控制台中没有收到任何错误。有什么问题?
答案 0 :(得分:4)
您必须在致电session_destroy()
<?php
session_start();
session_destroy();
header("Location: login.php"); //redirect your page to login page
?>
答案 1 :(得分:1)
您正在使用AJAX请求。要直接注销,只需直接调用logOut.php
文件。
function logOut() {
window.location = "../Controller/logOut.php";
return false;
}
或者最简单的方法:
<?php
if(isset($_SESSION['username'])) {
echo "<li><a href='../Controller/logOut.php' id='logOut'>Log Out</a></li>";
}
?>
您可能需要在销毁会话后向logOut.php
文件添加重定向。