Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下拉式登录菜单_Javascript_Php_Jquery - Fatal编程技术网

Javascript 下拉式登录菜单

Javascript 下拉式登录菜单,javascript,php,jquery,Javascript,Php,Jquery,我正在使用jQuery在div中设置下拉式登录的动画。注册表单使用PHP检查数据库中是否存在用户。但是,如果我回显某个内容,下拉菜单就会消失,您必须再次单击它才能看到错误消息。以下是登录的外观: <form method="POST"> <input type="text" name="username" placeholder="Username" required> <input type="password" name="password" p

我正在使用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:


如您所见,当您按下submit按钮时,下拉菜单再次打开。

如我在评论中所述,我建议您使用ajax调用(只需在google中搜索对php的jquery ajax调用)

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

<script>
<?php
    if ($_POST['username']) {
        echo 'var postBack = true;';
    } else {
        echo 'var postBack = false;'
    }
?>
if (postBack) {
    $("#signin").show();
}
</script>

如果(回发){
$(“#签名”).show();
}
  • 默认情况下,您可以使登录可见,如果回发为false,则可以将其隐藏

试着把你的问题隔离出来,也许会更容易帮助你。总之,你的jquery动画代码在哪里?@AdamTal啊,是的,添加了它!检查此项您是否考虑过向服务器发出ajax调用以避免回发?@AdamTal和PHP/JS noob一样,我将如何执行此操作?感谢您的帮助,这是否适用于2个div?例如,使用$POST_u['regusername']?是的,您可以复制此代码,但可以更改回发变量名称(因此您不会定义它两次)和$(“#signin”).show();到类似$(“#register”).show()的东西;