jquery ve ajax kullanarak php doğrulama

2 Cevap php

i have a jquery ajax form. i have validation at server side for repeated username and email ID. which works fine without jquery/ajax.

PHP kodları i herhangi bir hata oluşursa geri dönmek için () kalıbı kullanılmıştır. Benim asıl sorun ajax altındadır

burada kodu

$(document).ready(function () {

    $("form#regist").submit(function () {
        var str = $("#regist").serialize();
        $.ajax({
            type: "POST",
            url: "submit1.php",
            data: $("#regist").serialize(),
            success: function () {

                $("#loading").append("<h2>you are here</h2>");

            }

        });
        return false;


    });
});

Başarı işlevi düzgün çalışır. benim veri geçerli olup olmadığını o zaman benim veri tekrarlanır ise o zaman db eklenmez, db eklenir. Şimdi ne ben bilmek istiyorum nasıl benim php dosyasından hata dönmek ve başarı olay bunu kullanıyor musunuz. Şimdiden teşekkürler ..

edit: Bu benim php komut dosyası nasıl görünüyor

$query = "SELECT username from userdetails WHERE username = '$username'";
$q = mysql_query($query) or die("error" . mysql_error());
$numrows = mysql_num_rows($q);
if($numrows > 0)
{
die("username already exixt");
//should i put something like this
//$error = "username already exists";
//return $error; --->> i am not sure about this..
}

şimdiden teşekkürler

2 Cevap

Php tarafı:

if($numrows > 0)
{
echo "username already exist";
}

Javascript tarafı:

success: function(msg)
  {
   if(msg == 'username already exist') alert(msg);
  }

Ama daha da geliştirmek JSON bazı makaleleri okumak için denemek için planlıyorsanız, bu, yani ham, yani sunucu tarafında iletişim json kullanabilirsiniz. Ve ayrıca kontrol bazı varsayılan hata kullanmaya çalışmalısınız gibi php ile bir dizi döndürür:

echo json_encode(array('error' => true, 'notice' => 'username exists'));

Sonra javascript tarafında (jquery) üzerine, json ajax isteği kullanın ve hata değişken doğru olup olmadığını belki siz kontrol hata için bir varsayılan işlevini kullanabilirsiniz olup olmadığını her zaman kontrol edin.

Bu yardımcı umuyoruz.

$(document).ready(function () {

    $("form#regist").submit(function () {
        var str = $("#regist").serialize();
        $.ajax({
            type: "POST",
            url: "submit1.php",
            data: $("#regist").serialize(),
            success: function (msg) {
                alert(msg);
            }

        });
        return false;

    });
});

Burada sunucu tarafında mesajı göndermek ve bunu göstermiştir nasıl göstermek :)