Merhabalar, ben bir web projesi geliştiriyorum PHP olarak.
Benim şöyle bir sıkıntım var;
Örneğin kullanıcı giriş yap'a tıkladıktan sonra form'u action ediyor ve hatalıysa geri dönüyor. Fakat ben bu geri dönüş esnasında JS kullanarak hatayı form'un hemen üstünde yazdırmak istiyorum.
Yani Şöyle ki;
"Kullanıcı Adı: test
Şifre : test
GİRİŞ"
Yukarıda kullanıcı giriş butonuna bastı ve PHP hatalı kullanıcı geri dönüşünü yaptı. JS ile formun hemen üstüne hatalı giriş gibi bir cümle yazdırmak istiyorum;
"HATALI GİRİŞ
Kullanıcı Adı:
Şifre:
GİRİŞ"
Normalde bunu PHP ile GET değeri döndürerek yapabiliyorum fakat JS ile daha düzenli olacağını düşündüm.
Normalde ben GET ile yazdırıyorum ama bu seferde link kısmında örneğin "login.php?d=girisbasarisiz" gibi bir şey çıkıyor ortaya. Ben bunun yerine login olsun kontrol etsin hatalıysa alan adında bir değişiklik olmadan input un üstünde uyarı versin istiyorum.
PHP tarafında cookie oluşturup; sayfada da bu cookie değerini JavaScript'le okuyup hatayı ekranda gösterebilirsin. Fakat bu çok meşakketli bir iş. Cevap yazan arkadaşların da dediği gibi AJAX kullanman en mantıklı ve en kısa yol olur. Daha da ileri seviye olarak; XAJAX'ı tercih edebilirsin. XAJAX, PHP için geliştirilmiş bir AJAX kütüphanesidir.
ajax form ile sayfa yenilenmeden üye kaydı örneği sayfayı yenilemeden üye bilgilerini kontrol etmek için bir çok yol var ben basitlerinden birini örnek olarak paylaşacağım. ajax from standart en çok kullanılan yöntem , sonra formdata ile bir dizi oluşturarak , sonra form serialize ile form nesnesi ile gönderim, ve en son biraz daha karmaşık olan resim yada dosya upload ile sayfa yenilenmeden gönderim işlemlerina ait paylaşımda bulunacağım...
ilki form girişi olsun ... siz her hangi bir doğrulama kontrolünü kullanabilirsiniz...
bir form oluşturalım , form olmasıda gerekmez bir divde oluşturabilrisiniz burda nesneler çok ta önemli değil ama kullanıcı açısından anlaşılır olması gerekir ...
iki alan olsun kullanıcı adı ve şifre
sonra farklı bir dosyada bunları kontrol edip geri bilgi döndüreceğimiz bir alan olsun ... buda donenveri adlı bir p clası olsun boostrap ekleyin işlemlerde ve jquery ekleyin ki yapacağımız işşlemler kolay olsun ..
yada basit olsun siz sonra düzeltirsiniz şekli.... https://code.jquery.com/ jquery kodunu aldım yapıştırdım head tagları arsına ... şimdi başlayalım ...
iki sayfa olacak birincisi verilerin görüntüleneceği der.html ikincisi ise ders_islem.php
<script> function kontrolet(){ $("#donenveri").html('
Veriler Yükleniyor...
'); // bu kısım çok önmli değil ya yaptık öyle var ad=$("#ad").val(); var sifre=$("#sifre").val(); $.ajax({ type: "POST", url: "ders_islem.php", data:{ad:ad,sifre:sifre}, success: function(response) { $("#donenveri").html(response); // sonucu döne veri alanına ekledik ... }, }); } </script>
--------------------------------------------------------------------------------------------------------------- ders_islem php ile ilgili nokta şu url yazan kısımda bu formdan gelen veririnin nereye gideceği belirtilmiş. şimdi verilerin geldiği bu sayfada işlem yapıcaz normal php mantığı farklı bir şey yok sadece echo ile yazdırdığınız şeyler dönen verideki response değeridir bunu unutmayın. birde gelen formda ki method post olduğundan herhangi bir formdan gelen değer gibi işlem yapacağız...
//verileri aldık şimdi hangi işlemde kullanacaksak onu yaparız ister veritabanından kontrol ettirin isterseniz başka aklınıza ne gelyrosa onu yapalım ben kolay olsun diye sabitten işlem yapıcam
if($gelen_ad==$verdigim_kullaniciadi and $gelen_sifre=$verdiğim_sifre ){ echo "bigiler doğru , giriş başarılı ister burdan bir yönlendirme komutu koyun sayfa yönlensin ister ana sayfaki alan bir kod yazın yada sadece öyl ekalsın "; }else{