Jquery表单验证和通过PHP脚本使用Mysql数据库检查值

时间:2009-07-22 14:45:06

标签: php jquery mysql ajax form-submit

我有一个包含输入文本框和提交按钮的表单。

在提交表单时,文本框值应该传递给php脚本并检查它是否存在于Mysql数据库中。如果它存在,那么我们需要显示一个警告框,指出“已存在的值已存在,尝试新的事物”。如果该值不存在,则可以将表单提交给表单操作中的php脚本。

我尝试使用jquery,代码如下:

 $(document).ready(function() {

        $("#form_add").submit(function () {
        var pval = $("#name").val(); 
        var datastring = 'pname'+pval;
        $.post("unique_valid.php", {pname:pval }, function (data){
                alert('duplicate');
            });
            return false;
        }); 
});


此代码的问题是它在每个案例中显示警告框,但如果数据库中不存在值,则不允许提交表单。

  

Php代码:

$pname = $_POST['pname'];
if( $pname == $row['name']){
        echo "success";
    }else{
        echo "failure";
    }

建议更好地解决此问题。

1 个答案:

答案 0 :(得分:2)

那是因为无论PHP输出是什么,你都会警告'重复'。在发出警报之前,请尝试检查data的值,如下所示:

$(document).ready(function() {

        $("#form_add").submit(function () {
        var pval = $("#name").val(); 
        var datastring = 'pname'+pval;
        $.post("unique_valid.php", {pname:pval }, 
                   function (data){
                        if(data == 'failure'){
                            alert('duplicate');
                        }else{
                            alert('not a duplicate'); 
                        }
                });
                return false;
        }); 
});

我假设你的PHP代码实际上会保存记录,如果它不是重复的(虽然你的代码没有表明那么多)?