我正在尝试登录php,但我需要保持登录状态。我首先使用cookies但是每个人都说我需要使用会话cookie。我成功保存了会话变量,但现在我正在处理注销按钮,它有一个切换函数的onclick事件。它不起作用。 这是代码: JQuery函数 -
function logout() {
$('body').append("<?php session_unset(); session_destroy(); ?>");
location.assign("index.php");
}
PHP -
<?php
if(!isset($_SESSION["username"]) || !isset($_SESSION["password"])){
echo '<button type="button" name="button" onclick="showRegister();">Register</button>
<button type="button" name="button" onclick="showLogin();">Login</button>';
}else{
echo '<button type="button" name="button">Publica un anunt</button>
<button type="button" name="button" onclick="logout();">Logout</button>';
}
?>
答案 0 :(得分:0)
当你做
时function logout() {
$('body').append("<?php session_unset(); session_destroy(); ?>");
location.assign("index.php");
}
在javascript上 - 它只包含客户端页面的PHP代码,不在服务器端执行。
如果您需要注销 - 您需要构建页面logout.php,如
<?php
session_unset(); session_destroy();
?>
并使用ajax请求它,如下:
function logout() {
$.ajax({
url: 'logout.php',
success: function(){
location.assign("index.php");
}
});
}
或者您可以像这样构建logout.php:
<?php
session_unset(); session_destroy();
header("Location: index.php");
?>
并通过链接关注用户,没有任何ajax,如下所示:
<a href='logout.php'>Log out</a>