如果信息无效,则使用jquery、Ajax将数据提交到数据库

data submitted into database if the informations are invalid using jquery,Ajax

本文关键字:Ajax 数据 提交 数据库 jquery 无效 信息 如果      更新时间:2023-09-26

我是Jquery和ajax的新手。我想检查邮件id是否已经存在于数据库中。所以我使用Ajax来检查电子邮件是否存在。我在提交表单时检查这个条件,所以我使用onSubmit事件。当我输入提交按钮时,上述条件被检查,然后插入到数据库中。但如果条件失败,电子邮件也插入数据库。误差是多少?我找不到这个错误,请帮助我!我的HTML代码是:

<body>
<div class="container">
        <div class="row">
            <div class="col-md-3">
            </div>
            <div class="col-md-6">
                <div class="inner">
                    <h3>Registration</h3>
                    <form class="form-horizontal" method="post" action = "" onSubmit=" return checkmail();">
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Firstname</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="Firstname" name="fname">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Lastname</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="Lastname"name="lname">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Email</label>
                            <div class="col-sm-9">
                                <input type="email" class="form-control" id="email" placeholder="Email" name="email" >
                                <span id="check"></span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputPassword3" class="col-sm-3 control-label">Password</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="pass" placeholder="Password" name="pass" >
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputPassword3" class="col-sm-3 control-label">re-Password</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="repass" placeholder="re-Password">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Mobile no</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="mob" placeholder="Mobile no" name="phone">
                            </div>
                            <h6 id="aaa"></h6>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Address1</label>
                            <div class="col-sm-9">
                                <textarea class="form-control" id="inputEmail3" placeholder="Address1" name="addr1"></textarea>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Address2</label>
                            <div class="col-sm-9">
                                <textarea class="form-control" id="inputEmail3" placeholder="Address2(optional)"name="addr2"></textarea>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-3" >Country</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="Country" name="country">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-3" >State</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="State" name="state">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-3" >City</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="City" name="city">
                            </div>
                        </div>                
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Zipcode</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="zip" placeholder="EX:456322" name="zip" >
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-offset-2 col-sm-10">
                                <input type="submit" class="btn btn-default" name="submit" value="Register">                      
                            </div>
                        </div>
                    </form>
                </div>
            </div>
            <div class="col-md-3">
            </div>
        </div>
    </div>

我的Jquery函数是

   function checkmail(){
                var mail= $('#email').val();
                if(mail ==""){
                    $("#email").focus();
                    alert("Enter mail id");
                    return false;
                }
                else
                {
                    $.ajax({
                        type:'post',
                        url :'check.php',
                        data: {emailid:mail},
                        success: function(responseText){
                            $("#check").html(responseText);
                            if(responseText != 1) { // if the response is 1 
                                $("#check").html("Available!"); 
                                return true;
                            }
                            else {
                                // else blank response                                          
                                $("#email").focus();
                                $("#check").html("Email are already exist.");
                                return false;
                            }
                        }
                    });
                }
            }
    </script>

check.php

  <?php
    $con = new mysqli('localhost','root','','registration');            //set coonection to db
    $mail = $_POST['emailid'];
    $query = mysqli_query($con, "select email from user where email='".$mail."' ");
    if(mysqli_num_rows($query) > 0)
    {
        echo '1';                                                       // if mail exist
    }

?>

提前感谢。

你应该这样做:

       <form class="form-horizontal" method="post" action = "" onSubmit="checkmail()">

并将脚本放在body标签开始后。

我建议你使用jquery

$("#form-id").on('submit',function(e){
e.preventDefault();
// Validation for data
});

使用下面的代码,只需做一些修改。

HTML

<body>
<div class="container">
        <div class="row">
            <div class="col-md-3">
            </div>
            <div class="col-md-6">
                <div class="inner">
                    <h3>Registration</h3>
                    <form id="myForm" class="form-horizontal" method="post" action="">
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Firstname</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="Firstname" name="fname">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Lastname</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="Lastname"name="lname">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Email</label>
                            <div class="col-sm-9">
                                <input type="email" class="form-control" id="email" placeholder="Email" name="email" >
                                <span id="check"></span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputPassword3" class="col-sm-3 control-label">Password</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="pass" placeholder="Password" name="pass" >
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputPassword3" class="col-sm-3 control-label">re-Password</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="repass" placeholder="re-Password">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Mobile no</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="mob" placeholder="Mobile no" name="phone">
                            </div>
                            <h6 id="aaa"></h6>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Address1</label>
                            <div class="col-sm-9">
                                <textarea class="form-control" id="inputEmail3" placeholder="Address1" name="addr1"></textarea>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Address2</label>
                            <div class="col-sm-9">
                                <textarea class="form-control" id="inputEmail3" placeholder="Address2(optional)"name="addr2"></textarea>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-3" >Country</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="Country" name="country">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-3" >State</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="State" name="state">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-3" >City</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="inputEmail3" placeholder="City" name="city">
                            </div>
                        </div>                
                        <div class="form-group">
                            <label for="inputEmail3" class="col-sm-3 control-label">Zipcode</label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" id="zip" placeholder="EX:456322" name="zip" >
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-offset-2 col-sm-10">
                                <input type="button" onClick="checkmail();" class="btn btn-default" name="submit" value="Register">                      
                            </div>
                        </div>
                    </form>
                </div>
            </div>
            <div class="col-md-3">
            </div>
        </div>
    </div>

JQuery代码

function checkmail(){
                var mail= $('#email').val();
                if(mail ==""){
                    $("#email").focus();
                    alert("Enter mail id");
                    return false;
                }
                else
                {
                    $.ajax({
                        type:'post',
                        url :'check.php',
                        data: {emailid:mail},
                        success: function(responseText){
                            $("#check").html(responseText);
                            if(responseText != 1) { // if the response is 1 
                                $("#check").html("Available!"); 
                                $("#myForm").submit();
                            }
                            else {
                                // else blank response                                          
                                $("#email").focus();
                                $("#check").html("Email are already exist.");
                                return false;
                            }
                        }
                    });
                }
            }

相应地更改form的id,保持为myForm