首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带条件提交ajax表单

问带条件提交ajax表单
EN

Stack Overflow用户
提问于 2014-07-30 04:48:28
回答 1查看 120关注 0票数 0

嗨,我在一个认证页面上工作,所以我的代码如下

代码语言:javascript
复制
    $(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脚本。

代码语言:javascript
复制
    <?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的页面,所以我尝试了一下。

代码语言:javascript
复制
    $(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);


            }});
          });
        });

现在,即使登录和密码不正确,表单也提交了,我怎么能做到这一点呢?我的意思是,如果信息正确,我会转到另一个页面,否则我会留在同一个页面。

EN

回答 1

Stack Overflow用户

发布于 2014-07-30 17:12:22

使用json从身份验证页面获取结果

代码语言:javascript
复制
<?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中,检查响应是什么。

代码语言:javascript
复制
$(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();
                       }



            }});
          });
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25024724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档