• 05-10-2018, 18:06:50
    #1
    Js ile üye girişi yaptırıyorum aynı kodları admin panelde yaptım ama burada ne oluyorsa çözemedim.

    giris.php dosyasında post yapıyorum gelen cevap olumlu ise giriş olumsuz ise hata verdiriyorum ama ne yaparsam yapayım sürekli cevap olumlu geliyor.

    post ettiğim sayfayı kontrol ediyorum gayet doğru cevap veriyor bir türlü çözemedim aşağıda js kodlarımı veriyorum sizce hata nerede yardımcı olurmusunuz.

     
    <script>
            $(function(){
                $("#girisyap").click(function(){
                    var ad = $("input[name=ad]").val();
                    var sifre = $("input[name=sifre]").val();
                    if (ad=="" || sifre==""){
                        $("#alert").html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><strong>Hata!</strong> Tüm Alanları Doldurunuz.</div>');
                    }else{
                        $.ajax({
                            url:"isle/users.php",
                            type:"POST",
                            data:$('#uyegir').serialize(),
                            beforeSend:function(){
                                $("#girisyap").hide();
                                $("#girisyap").after('<img src="images/loading_red.gif" alt="Yükleniyor" class="kapat"/> ');
    
                            },
                            success:function(cevap){
                                $("#alert").html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><strong>Başarılı!</strong> Yönlendiriliyorsunuz...</div>');
                                // window.location = "index.php";
                                $(".kapat").hide();
                            },
                            error:function(cevap){
                                $("#alert").html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><strong>Hata!</strong> Giriş bilgileri hatalı. Tekrar Deneyiniz.</div>');
                                $("#girisyap").show();
                                $(".kapat").hide();
                            }
                        });
                    }
                });
            });
        </script>
  • 05-10-2018, 18:08:37
    #2
    2 Sayfanınızda da jquery kütüphanesi ekli mi? Veya js dosyasından çekiyorsanız yolu düzgün mü?
  • 05-10-2018, 18:12:14
    #3
    Adalente adlı üyeden alıntı: mesajı görüntüle
    Js ile üye girişi yaptırıyorum aynı kodları admin panelde yaptım ama burada ne oluyorsa çözemedim.

    giris.php dosyasında post yapıyorum gelen cevap olumlu ise giriş olumsuz ise hata verdiriyorum ama ne yaparsam yapayım sürekli cevap olumlu geliyor.

    post ettiğim sayfayı kontrol ediyorum gayet doğru cevap veriyor bir türlü çözemedim aşağıda js kodlarımı veriyorum sizce hata nerede yardımcı olurmusunuz.

    <script>
            $(function(){
                $("#girisyap").click(function(){
                    var ad = $("input[name=ad]").val();
                    var sifre = $("input[name=sifre]").val();
                    if (ad=="" || sifre==""){
                        $("#alert").html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><strong>Hata!</strong> Tüm Alanları Doldurunuz.</div>');
                    }else{
                        $.ajax({
                            url:"isle/users.php",
                            type:"POST",
                            data:$('#uyegir').serialize(),
                            beforeSend:function(){
                                $("#girisyap").hide();
                                $("#girisyap").after('<img src="images/loading_red.gif" alt="Yükleniyor" class="kapat"/> ');
    
                            },
                            success:function(cevap){
                                $("#alert").html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><strong>Başarılı!</strong> Yönlendiriliyorsunuz...</div>');
                                // window.location = "index.php";
                                $(".kapat").hide();
                            },
                            error:function(cevap){
                                $("#alert").html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><strong>Hata!</strong> Giriş bilgileri hatalı. Tekrar Deneyiniz.</div>');
                                $("#girisyap").show();
                                $(".kapat").hide();
                            }
                        });
                    }
                });
            });
        </script>
    dataType: "json" yapın, daha sonra post ettiğiniz php sayfasında sonuc olumlu ise echo json_encode(array("login) => true); (eğer giriş yapılamdıysa aynı şekilde false değerini yazdırın) şeklinde sonuç yazdırın, daha sonra success içinde şöyle yakalayabilirsin if(cevap.login){ giriş yapıldı ise } else { giriş yapılmadı ise } ben böyle yapıyorum
  • 05-10-2018, 18:14:37
    #4
    İyide Bu Kodları Admin sayfasında çalıştırdım sorunsuz çalışıyor anlayamadığım nokta bu.
  • 05-10-2018, 18:21:12
    #5
    Tüm kodları neden $(function(){}); içine alıyorsun ? Ayrıca .click fonksiyonunu değilde, .on("click", function(){}) şeklinde kullanman daha doğru olur. if ile boşluk kontrolü yapmak yerine, inputlara required ve minlength attributeleri atarsan çok daha mantıklı olur. success ve error sonuçlarında fonksiyonlara cevap parametresi atamışsın, kullanmamışsın. Eğer kullanmayacaksan silebilirsin onları. data nesnesinin altına, dataType:"JSON" ekle sorunun çözülebilir.

    EDIT : #girisyap butonuna tıklayınca değilde, forma submit butonu ekleyip, $("#form").on("submit") yaparsan daha mantıklı olur. Form kontrollerini etkinleştirirsin bu sayede.
  • 05-10-2018, 18:54:23
    #6
    sorununuz devam ediyorsa belki burası yardımcı olur
    http://www.mucahittopal.com/php-ajax...st-islemi.html
  • 06-10-2018, 00:07:25
    #7
    Bu hatanın çalışması için 404-500 gibi sunucu hatası alması gerekir. Sizin döndürdüğünüz hata success fonksiyonunda yakalanır.
    error:function(cevap){
                                $("#alert").html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><strong>Hata!</strong> Giriş bilgileri hatalı. Tekrar Deneyiniz.</div>');
                                $("#girisyap").show();
                                $(".kapat").hide();
                            }
    Örnek: cevap json tipinde olsun.
    json_encode(
        array(
            "basarili" => array("message" => "Tebrikler başarıyla giriş yaptınız. Yönlendiriliyorsunuz...", "url" => "uye.php"),
            "basarisiz" => array("message" => "Giriş başarısız.", "url" => "")
        )
    );
    success:function(cevap){
         if(cevap.basarili){
                                $("#alert").html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><strong>Başarılı!</strong> Yönlendiriliyorsunuz...</div>');
                                // window.location = "index.php";
                                $(".kapat").hide();
                            }
    }else{
    $("#alert").html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><strong>Hata!</strong> Giriş bilgileri hatalı. Tekrar Deneyiniz.</div>');
                                $("#girisyap").show();
                                $(".kapat").hide();
    }
    Yazım hataları olabilir kontrol edersiniz.