PHP表单隐藏在页面刷新后而不是在提交后?

时间:2015-01-17 06:31:26

标签: php mysql database forms session

以下是我用来隐藏表单的代码

<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12" <?php if(!$_SESSION['login']) echo 'style="display:none;"'; else echo 'style="display:block;"';?>/>
<form method="post" action="">
<p>Hey, <?php echo ''.$_SESSION['user'].''; ?></p>
<input style="border: none; padding: 8px 15px; background: #BAFF00; box-shadow: 0px 0px 3px #757875;" type="submit" name="submit" value="Logout">
</form>
<?php
if ($_POST['submit'] == 'Logout'){
session_destroy();
$_SESSION['login'] = false;
}
?>

然而,我必须刷新页面以隐藏表单。据我所知,我认为$ _SESSION [&#39; login&#39;]变量是在表单提交后设置的。我第一次点击Logout时,页面会刷新,但有些显示的html没有被刷新(我不确定)。然后,再次单击“注销”按钮或刷新页面。注销部分隐藏起来。

1 个答案:

答案 0 :(得分:0)

使用此代码

<?php
session_start();
$_SESSION['user']='abc';
?>
<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12" <?php if(isset($_SESSION['login'])) echo 'style="display:none;"'; else echo 'style="display:block;"';?>/>
<form method="post" action="">
<p>Hey, <?php echo ''.$_SESSION['user'].''; ?></p>
<input style="border: none; padding: 8px 15px; background: #BAFF00; box-shadow: 0px 0px 3px #757875;" type="submit" name="submit" value="Logout">
</form>
</div>
<?php

if(isset($_POST['submit'])){
session_destroy();
$_SESSION['login'] = false;
}
?>