下拉登录菜单


Dropdown sign in menu

我使用jQuery来动画div中的下拉符号。注册表单使用PHP来检查用户是否存在于数据库中。但是,如果我回一些东西,下拉菜单就会消失,您必须再次单击它才能看到错误消息。下面是登录的样子:

<form method="POST">
    <input type="text" name="username" placeholder="Username" required>
    <input type="password" name="password" placeholder="Password" required>
    <input type="submit" name="button" value="Sign in">
</form>
<?php
    session_start();
    $username = $_POST["username"];
    $password = $_POST["password"];
    include("connect.php");
    if($username && $password){
        $password = md5($password);
        $getquery = mysql_query("SELECT * FROM users WHERE username='$username' AND password = '$password'");
        $numrows = mysql_num_rows($getquery);
            if($numrows != 0){
                setcookie('username', $username, time()+3600);
            } else {
                echo "Invalid username.";
            }
    }
?>

jsfiddle: http://jsfiddle.net/3rr9w/1/

如你所见,当你按下提交按钮时,下拉菜单又会上升。

正如我在评论中所说的,我建议你使用ajax调用(只需搜索谷歌jquery ajax调用php)。

为了在不使事情变得更复杂的情况下回答当前的问题,请在代码末尾添加以下内容:

<script>
<?php
    if ($_POST['username']) {
        echo 'var postBack = true;';
    } else {
        echo 'var postBack = false;'
    }
?>
if (postBack) {
    $("#signin").show();
}
</script>
  • 你可以在默认情况下使登录可见,如果postBack为false则隐藏登录。