Php $.lightbox中登录表单的post函数

Php $.lightbox中登录表单的post函数,php,jquery,ajax,Php,Jquery,Ajax,所以,我在灯箱中设置了一个登录表单。我想,当用户点击提交,一个功能检查,如果用户名和密码是正确的,然后再刷新,转到成员页面。它还应该在lightbox中显示错误 我对jQuery部分有一个问题,尤其是$.post函数 jQuery代码: $('#Connection form').submit('Connection',function(){ var Username = $('#UsernameConnection').val(); if(Username=="") { $(

所以,我在灯箱中设置了一个登录表单。我想,当用户点击提交,一个功能检查,如果用户名和密码是正确的,然后再刷新,转到成员页面。它还应该在lightbox中显示错误

我对jQuery部分有一个问题,尤其是$.post函数

jQuery代码:

 $('#Connection form').submit('Connection',function(){
var Username = $('#UsernameConnection').val();

if(Username=="")
{   
    $('#UsernameConnection').css('border-color','red');
    $('.ErrorUsernameConnection').text('Error 1');
    Username = "Empty Field";
}else

if(Username=="Invalid")
{
    $('#UsernameConnection').css('border-color','orange');
    $('.ErrorUsernameConnection').text('Error 2');
    Username = "Invalid field";
}

var Password = $('#Password Connection').val();

if(Password =="")
{   
    $('#Password Connection').css('border-color','red');
    $('.ErrorPassword Connection').text('Error 3');
    Password = "Empty field";
}
    if((Username==true)&&(Password==true))
    {           
        $.post('fonctions/connection.php',{VALUE1:VALUE2},function(connection)
        {
            $('.ConnectionError').text(connection);

            if(connection=="ok")
            {
                return true;
            }else
            {
                return false;
            }
        });     
    }else
    {   
        return false;
    }
    });
        });
PHP代码:

if(isset($_POST['Connection']))
{   
     all the verifying function goes here.
}
和HTML:

<div id="Connection">
    <div class="formConnection">
    <form method="POST" autocomplete="off" name="Connection">
        <label for="Connection">Username:</label><br/>
        <input type="text" name="UsernameConnection" id="UsernameConnection"/><br/>
        <span class="ErrorUsernameConnection"></span><br/>
        <label for="Connection">Password:</label><br/>
        <input type="password" name="PasswordConnection" id="PasswordConnection"/>
        <span class="ErrorPasswordConnection"></span><br/>
        <input type="checkbox" name="checkbox"/><label>Remember me</label><br/>
        <input type="submit" name="Connection" value="Log In" id="Connection" class="LogIn"/>       
    </form>
    </div>
</div>

用户名:


密码:

记住我
我的问题是:

  • $.post
    是此功能的正确功能吗?如有的话:

  • 由于脚本仅在用户单击submit按钮时启动,因此是否有必要仅为submit按钮在jQuery中创建一个新的
    var

  • 在这种情况下,php中的
    if(isset($\u POST['Connection'])
    部分是必要的,还是我可以立即放置该函数

  • 要使此功能正常工作,
    VALUE1
    VALUE2
    应该是什么


    • 我想这就是你想要做的:

      $('#Connection form').submit('Connection',function(){
      
          $.ajax({
            type: "POST",
            url: "some.php",
            data: { name: "John", password: "Boston" }
          }).done(function( msg ) {
            alert( "Data Saved: " + msg );
          });
      
       });
      

      基本上,您可以序列化表单并将其发布到页面。让页面发回一条消息(成功或失败,1或0),然后对这些数据进行处理。

      我认为你把事情复杂化了。您只需要通过AJAX发布表单。最简单的方法如下:

      $('#login-form').submit(function() {
          $.post('login.php', $(this).serialize(), function(response) {
              // do something on success or failure here
          });
          return false;
      });
      

      让您的
      login.php
      回显一个JSON对象,或
      true
      false
      ,并在lightbox中显示任何错误或其他内容。

      $(“#连接形式”)
      无法匹配您页面上的任何内容。@arxanas它将匹配容器中的一个表单,id连接:@arxanas和我自己:当我检查OP的HTML时,我什么也没说!;)@arxanas他没有id为“Connection”@rsplak的表单,也没有,因此它与任何内容都不匹配。