我正在尝试通过单击注销按钮来销毁用户的会话,它起作用了,有一个问题,我必须按两次才能注销/销毁会话。任何形式的帮助都将不胜感激。使用以下代码
<form role="form" method="post">
<div class="pull-right-container">
<i class="icon fa fa-user">
<input type="submit" value="logout" class="btn btn-danger" name="logout"
onclick="sessionend()" >
</i>
</div>
</form>
<script type="text/javascript">
function sessionend()
{
<?php
if (isset($_POST["logout"]))
{
session_destroy();
}
?>
}
</script>发布于 2018-06-03 20:10:35
在提交按钮中不需要onclick()。尝试以下代码:-
<?php
if (isset ( $_POST ["logout"] )) {
session_destroy();
$redirectPageUrl= "http://xxxx/home.php";
header("Location: ".$redirectPageUrl);
}
?>
<form role="form" method="post">
<div class="pull-right-container">
<i class="icon fa fa-user">
<input type="submit" value="logout"
class="btn btn-danger" name="logout" />
</i>
</div>
</form>发布于 2018-06-03 20:24:46
如果有$_SESSION变量,您可能需要取消设置,然后调用函数session_destroy()。完成此操作后,您可以尝试测试任何会话变量,并可能添加重定向页面。
发布于 2018-06-03 21:25:19
尝试使用此代码。您需要调用session_unset()和session_destroy(),我也已经将该操作添加到您的表单中,请确保它将指向表单所在的相同页面。假设您的页面名为logout.php,您的表单操作将指向logout.php。请看下面的代码作为示例。
<?php
if (isset ( $_POST ["logout"] )) {
session_unset();
session_destroy();
header("Location: https://yourpage.com");
}
?>
<form role="form" method="post" action="logout.php">
<div class="pull-right-container">
<i class="icon fa fa-user">
<input type="submit" value="logout"
class="btn btn-danger" name="logout" />
</i>
</div>
</form>https://stackoverflow.com/questions/50666168
复制相似问题