Php 登录后隐藏表单
我在PHP开发中遇到了一个障碍,我正在基于会话变量的存在打印表单。如果有一个名为username的会话变量,我不想打印登录表单,但是此代码仅在刷新页面时有效 是否有任何方法可以仅使用PHP来克服此问题,以便在用户登录时立即隐藏表单,而不必刷新表单 相关代码:Php 登录后隐藏表单,php,session,Php,Session,我在PHP开发中遇到了一个障碍,我正在基于会话变量的存在打印表单。如果有一个名为username的会话变量,我不想打印登录表单,但是此代码仅在刷新页面时有效 是否有任何方法可以仅使用PHP来克服此问题,以便在用户登录时立即隐藏表单,而不必刷新表单 相关代码: <?php if(isset($_SESSION['username'])) { print "Hello, " . $_SESSION['username']; } else { echo '<
<?php
if(isset($_SESSION['username'])) {
print "Hello, " . $_SESSION['username'];
} else {
echo '<form method="post" action="' ?> <?php echo htmlentities($_SERVER['PHP_SELF']); ?>
<?php
echo '">
Username: <input type="text" name="username" class="username" />
Password: <input type="password" name="password" class="password" />
<input type="submit" value="Log in" class="submit_btn" />
</form>';
}
?>
...
<?php
...
if ($final_hash == $db_pass) {
$_SESSION['logged-in'] = true;
$_SESSION['username'] = $username;
} else {
print "wrong pass!";
}
...
您可以使用Ajax提交表单,设置会话变量,然后使用java脚本隐藏表单。因为PHP是一种服务器端语言,所以不能只使用PHP。除非您将客户端发送到服务器(以某种方式重新加载页面),否则在没有客户端语言的情况下无法隐藏它 旁注:如果您还没有加载session_start()代码>任意位置;做否则,你的回音会话将无法回音。为什么不使用两个单独的页面检查会话并根据该页面重定向它们?@Fred ii-是的,我是Fred,谢谢。不客气;只是检查一下。它不在你的代码中。(不得不问);-)@Chitowns24此页面不是专门的登录页面,登录表单将出现在网站的每个单页上,允许用户从任何地方登录,所以我不确定这是否有效?