如何使用ajax方法交叉检查数据库中是否存在数据?

时间:2014-03-06 11:17:59

标签: javascript php jquery ajax

这是用于检查手机号码数据(与其他数据)的验证并将其转发到存储手机号码的 validate_user.php 的JavaScript代码。 但是我想只存储那些手机号码存在于另一个表中的用户的数据,否则我想显示一条错误消息,上面写着'用户不在数据库中'

我需要帮助。我该怎么办?

提前致谢。

的JavaScript

$(document).ready(function() {
    $("#user_submit_form").submit(function() {
        var user_data = $("#user_submit_form").serialize();
        var mobile = new Array();
        mobile = $('#mobile').val().split("");

        if (mobile.length != 10 || !(mobile[0] == 7 || mobile[0] == 8 || mobile[0] == 9)) {
            alert('Please enter a valid mobile number');
        } else {
            $.ajax({
                type: "post",
                url: "validate_user.php",
                data: user_data,
                dataType: "json",
            }); // End ajax method
            alert('Thank You');
            window.location.reload();
        }
    });
});

这是服务器端PHP代码:

<?php 
session_start();

require("config/config.php"); 

    if(isset($_POST['user_submit']))

             $mobile =mysql_real_escape_string ($_POST['mobile']); 
             $dob = mysql_real_escape_string($_POST['dob']);



$hostname = '';
$database = '';
$username = '';
$password = '';


$conn = mysql_connect($hostname,$username,$password);
if(!$conn){
die("Unable to Connect server!".mysql_error());
}
mysql_select_db($database) or die("Unable to select database!".mysql_error());
 $sql = mysql_query('SELECT mobile FROM mobile_db WHERE mobile="'.$mobile.'"');
                if(mysql_num_rows($sql) == 1)
                {
    $query = 'INSERT INTO taj_contact_info (chassis,pin,title,fname,lname,email,mobile,dob,anniversary,company,designation,home_business,add1,add2,city,state,pincode,timestamp) VALUES("'.$mobile.'","'.$dob.'",'.strval(time()).')';

            $sql1= mysql_query($query); 
                }
                    else
                        {
                            return true;
                        }



?>

2 个答案:

答案 0 :(得分:4)

    $(document).ready(function() {
    $("#user_submit_form").submit(function() {
        var user_data = $("#user_submit_form").serialize();
        var mobile = new Array();
        mobile = $('#mobile').val().split("");

        if (mobile.length != 10 || !(mobile[0] == 7 || mobile[0] == 8 || mobile[0] == 9)) {
            alert('Please enter a valid mobile number');
        } else {
            $.ajax({
                type: "post",
                url: "validate_user.php",
                data: user_data,
                dataType: "json",
                success: function(json){
                if(json.error){
                   alert(json.error)// or do whatever you want
                    }
                else{
                   alert(json.success) // there your made a success call the do your staff
                    }
                  }
            }); // End ajax method
            alert('Thank You');
            window.location.reload();
        }
    });
});


**The Server Side php**

    <?php 
session_start();

require("config/config.php"); 

    if(isset($_POST['user_submit']))

             $mobile =mysql_real_escape_string ($_POST['mobile']); 
             $dob = mysql_real_escape_string($_POST['dob']);



$hostname = '';
$database = '';
$username = '';
$password = '';
$json = array();

$conn = mysql_connect($hostname,$username,$password);
if(!$conn){
$json['error'] = "Unable to Connect server!".mysql_error();
}
if(empty($json)){
mysql_select_db($database) or die("Unable to select database!".mysql_error());
 $sql = mysql_query('SELECT mobile FROM mobile_db WHERE mobile="'.$mobile.'"');
                if(mysql_num_rows($sql) == 1)
                {
    $query = 'INSERT INTO taj_contact_info (chassis,pin,title,fname,lname,email,mobile,dob,anniversary,company,designation,home_business,add1,add2,city,state,pincode,timestamp) VALUES("'.$mobile.'","'.$dob.'",'.strval(time()).')';

            $sql1= mysql_query($query);
            $json['success'] = "Successfully inserted"; 
                }
                    else
                        {
                            $json['error'] = 'A Fake Number';
                        }
}

echo json_encode($json);

答案 1 :(得分:0)

您可以使用成功回复

来验证这一点
$.ajax({
                type: "post",
                url: "validate_user.php",
                data: user_data,
                dataType: "json",
                success:(function(result){
                       if(empty(result)){
                          return false;
                       }else{
                         return true;
                       }
                 }));

            });