JQuery ve PHP doğrulama sorunu?

2 Cevap php

Ben PHP tarafında doğrulama yapmak istiyorum ve sonra benim JQuery kod ekranı var your changes have been saved Gönder düğmesine tıkladım ama JQuery kod doğrulama başarısız bile değişiklikler kaydedildi belirtiyor zaman.

PHP doğrulama yapabilir ve PHP onun doğrulama bittikten sonra JQuery onun şey böylece ben bu nasıl düzeltebilirim?

İşte benim jQuery kodudur.

$(function() {
    $('#changes-saved').hide();
    $('.save-button').click(function() {
        $.post($('#contact-form').attr('action'), $('#contact-form').serialize(), function(html) {
            $('div.contact-info-form').html(html);
            $('#changes-saved').hide();
            $('#changes-saved').html('Your changes have been saved!').fadeIn(4000).show();
        });

        $('a').click(function () {
            $('#changes-saved').empty();
            $('#changes-saved').hide();
        });

        return false; // prevent normal submit
    });
});

İşte benim PHP kodu parçasıdır.

// Check for an email address:
if (preg_match ('/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/', $_POST['email'])) {
    $email = mysqli_real_escape_string($mysqli, strip_tags($_POST['email']));
} else {
    echo '<p class="error">Please enter a valid email address!</p>';
}

2 Cevap

in the jquery you can add a if statment that check if the php validation pass, in the php you need to return a value like 1\0 or true \ false.

ve jquery bu parametreyi kontrol

Ben mesela onun kullanarak json eklemek, ancak aynı sorun

jQuery:

        $.post($('#contact-form').attr('action'), $('#contact-form').serialize(), function(data_pack){
            if(data_pack.msg ==1){
                # success do something ....
                            .........
            }

            alert(data_pack.html);

        }, 'json');

: gibi php kodu

if($validation_ok){
   $arr = array('msg'=>1,'html'=>$html);
}
else {
   $arr = array('msg'=>0,'html'=>$error_msg);
}
echo json_encode($arr);
exit;

Sen istemci tarafı ve sunucu tarafı (JavaScript ve PHP ile yani) ikisi ile de doğrulamak gerekir. Bu mümkün değilse, ben uyumsuz formu gönderme ve değişiklikler kaydedildi olmadığını belirlemek için javascript ile sunucudan yanıt ayrıştırma düşünecektim.