我一直试图在单击注销按钮时使用ajax函数破坏会话,但它确实通过ajax函数调用了我的php脚本中的函数
AJAX功能
<div id="logout_btn" class="btn-header transparent pull-right">
<span>
<a href="<?php echo APP_URL; ?>login.php" title="Sign Out" onclick="logoutck()" ><i class="fa fa-sign-out"></i></a>
</span>
<script>
function logoutck() {
var sendingData = { jsonrpc: "2.0", method: "logout"};
$.ajax({
type: "POST",
url: "/New_Dashboard/dashboard_html/server.php",
contentType: 'application/json; charset=utf-8',
dataType: "json",
async: false,
data: JSON.stringify(sendingData),
success: function( msg ) {
alert( "Data Saved: " + msg.result );
}
});
}
</script>
破坏会话的PHP函数
function logout(){
session_start();
if(isset($_SESSION)){
session_destroy();
}
header("Location: login.php");
}
首先,您需要编辑这样的标签:
<div id="logout_btn" class="btn-header transparent pull-right">
<span>
<a href="logout.php"><i class="fa fa-sign-out"></i></a>
</span>
</div>
另外,去掉所有不需要的JavaScript。
现在,您需要忽略注销功能,只需创建一个名为logout.php的新文件
<?php
session_start();
session_destroy();
header("Location: login.php");
exit(0);
?>
这可能是使用会话将用户注销的最简单示例。您可能需要添加以满足您的需求。
创建这样的链接:
<a href="logout.php" >Logout</a>
您的登录.php:
<?php
session_start();
session_destroy();
header("location:login.php");
?>
如果登录成功,则在登录验证.php文件中设置$_SESSION['login'] = 1;
。然后使用以下代码注销。
<?php
session_start();
unset($_SESSION['login']);
header("Location: login.php");
?>