提交带条件的ajax表单

时间:2014-07-29 20:48:28

标签: php ajax

嗨,我正在进行身份验证页面,所以我的代码如下

    $(document).ready(function(){

       var form = $("#connexion");
       var login =$("#logins");
       var password=$("#passe");

          $("#go").click(function(e){
             e.preventDefault();
            $.ajax({type: "POST",
                    url: "check_con.php",
                    data: { email:login.val() , password:password.val() },
                    success:function(result){

                    if(result == 'true') 
                    {
                       alert(result);
                    }


            }});
          });
        });

我得到表单,登录名和密码,然后将它们传递给我的php脚本。

    <?php
    //data connection file
    //require "config.php";
    require "connexion.php";
    extract($_REQUEST);


        $pass=crypt($password);

        $sql = "select * from Compte where email='$email'";
        $rsd = mysql_query($sql);
        $msg = mysql_num_rows($rsd); //returns 0 if not already exist

        $row = mysql_fetch_row($rsd);

        if($msg == 0)
        {
           echo"false1";
        }
        else if($row[1] == crypt($password,$row[1]))
        {  
           echo"true";
        }
        else
        {
           echo"false2";
        }




    ?>
一切都很好,当我给出好的电子邮件和密码我得到了真的否则我得到了假,这不是问题,问题是我试图将用户重定向到另一个名为espace.php的页面,如果结果是真的所以我试过了。

    $(document).ready(function(){

       var form = $("#connexion");
       var login =$("#logins");
       var password=$("#passe");

          $("#go").click(function(e){

            $.ajax({type: "POST",
                    url: "check_con.php",
                    data: { email:login.val() , password:password.val() },
                    success:function(result){

                    if(result == 'true') 
                    {
                      form.submit(true);
                    }
                    else form.submit(false);


            }});
          });
        });

现在即使登录名和密码不正确表格已提交,我怎么能设法做到这一点我的意思是,如果信息是正确的我会转到另一页,否则我会留在同一页面。

1 个答案:

答案 0 :(得分:0)

使用json从authanication页面获取结果

<?php
    //data connection file
    //require "config.php";
    require "connexion.php";
    extract($_REQUEST);


        $pass=crypt($password);

        $sql = "select * from Compte where email='$email'";
        $rsd = mysql_query($sql);
        $msg = mysql_num_rows($rsd); //returns 0 if not already exist

        $row = mysql_fetch_row($rsd);
        $result = array();
        if($msg == 0)
        {
           $result['error'] = "Fail";
        }
        else if($row[1] == crypt($password,$row[1]))
        {  
           $result['success'] = "success";
        }
        else
        {
          $result['error'] = "try again";
        }

   echo json_encode($result); die;


    ?>

在ajax中,检查响应是什么。

$(document).ready(function(){

       var form = $("#connexion");
       var login =$("#logins");
       var password=$("#passe");

          $("#go").click(function(e){

            $.ajax({type: "POST",
                    url: "check_con.php",
                    data: { email:login.val() , password:password.val() },
                    success:function(result){
                      var response = JSON.parse(result);
                       if(response.error){
                             //here provide a error msg to user.
                             alert(response.error);
                        }
                      if(response.success){
                             form.submit();
                       }



            }});
          });
        });