التحقق من صحة نموذج jQuery والتحقق من القيم مع قاعدة بيانات MySQL من خلال البرنامج النصي PHP

StackOverflow https://stackoverflow.com/questions/1165805

سؤال

لدي نموذج يحتوي على مربع نص إدخال وإرساله.

عند تقديم النموذج، يجب أن تمر قيمة TextBox إلى البرنامج النصي PHP وتحقق من القيم سواء كانت موجودة في قاعدة بيانات MySQL. إذا كان موجودا، فعندما نحتاج إلى إظهار مربع تنبيه تفيد بأن "القيمة المدخلة موجودة بالفعل، جرب شيئا جديدا". إذا كانت القيمة لا توجد نموذج يمكن تقديمه إلى البرنامج النصي PHP وهو في إجراء النموذج.

حاولت مع مسج ورمز أدناه:

 $(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";
    }

أقترح الحل الأفضل لهذه المشكلة.

هل كانت مفيدة؟

المحلول

هذا لأنك تنبيه "مكررة" بغض النظر عن إخراج 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 الخاص بك بالفعل السجل إذا لم يكن مكررا (لا يشير الكود الخاص بك إلى حد كبير)؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top