登录后隐藏表格

时间:2014-02-28 19:49:53

标签: php session

我在PHP开发中遇到了障碍,我根据会话变量的存在打印表单。如果有一个名为username的会话变量,我不想打印登录表单,但是此代码仅在刷新页面时有效。

有没有办法只使用PHP来克服这个问题,这样一旦用户登录就会隐藏表单而不必刷新。

相关代码:

<?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!";

  } 

感谢您提前提供任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用Ajax提交表单,设置会话变量,然后使用java脚本隐藏表单。你不能只用PHP来做,因为PHP是一种服务器端语言。除非您将客户端发送到服务器(以某种方式重新加载页面),否则无法使用客户端语言隐藏它。