Beyler merhaba,
Html ve Php üzerinden kullandığım bir iletişim ve kayıt formum var sitemde, Fakat malesef insanlar formu doldurmadan gönder tuşuna tıkladıkları vakit form bos gönderıliyor, Böyle bir durumla karşı karşıya gelmemek adına ne yapmalıyım? ve nasıl yabilirm?
Acaba "X ve Y alanları boş bırkamyin gibi mesaj nasıl yapabilirim?
Bana yardımcı olursanız çok sevinirim.
Formda boş alan bırakmamk - soru
8
●4.788
- 07-05-2009, 01:38:29İstersen javascript ile ya da php ile kontrol yaparsın.
Bırak boş form gönderilmesini kontrol yazarsan şablona aykırı veriyi bile kabul etmeyebilirsin.
Yani abuk sabuk telefon numarası email adresi ve isim yazanlara uyarı mesajı verebilirsin.
Email için telefon numarası için hazır kodlar var.
Eğer girilen alanlar şablona uymuyorsa hata mesajı gösterebilirsin. - 07-05-2009, 03:17:42Örnek verelim ki. bir iletişim formu yazıyoruz.
<?php if ( $_POST['mail'] != '' ){ // ilk kontrolümüz mail boşsa aşağıda içerik sayfası tekrar yazacak. eğer doluysa isim boşsa uyarı verecek. $isim=$_POST['isim']; $mail=$_POST['mail']; $mesaj=$_POST['mesaj']; if (($isim != '' && $mail != '' && $mesaj != '') { // Değişkenler boşmu diye kontrol ettik echo "Lutfen bos alanlari doldurunuz.."; } else { // Burda mail gönderme veya veritabani ekleme işlemimizi yapıyoruz... } else { ?> Buraya html form kodlarimizi yaziyoruz... <form action="" method="post"> inputlar ve submit buttonu </form> <? } ?>Saygılarımla ANIL - 07-05-2009, 20:11:58<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1254"></head><body>
<?php
$to = "burda mail adresimi yaziyorum";
$subject = "Konu";
$headers = "From:" . $_POST["isim"];
$headers .= "<" . $_POST["eposta"] . ">\r\n";
$headers .= "Reply-To: " . $_POST["eposta"] . "\r\n";
$headers .= "Return-Path: " . $_POST["eposta"];
$message .= "iletisim form islem sonucu\n\n";
$message .= "Adi: " . $_POST["isim"] . "\r\n";
$message .= "Soyadi: " . $_POST["soyisim"] . "\r\n";
$message .= "Cinsiyet: " . $_POST["R1"] . "\r\n";
$message .= "Email Adresi: " . $_POST["email"] . "\r\n";
$message .= "Telefon: " . $_POST["telefon"] . "\r\n";
mail($to, $subject, $message, $headers);
?>
<SCRIPT LANGUAGE="JavaScript">
var shant="xxxxx.html" //
document.write('<strong>Loading...</strong>' + shant)//ekranda çykacak mesaj
function forPage()
{
location.href=shant
}
setTimeout ("forPage()", 5);//Bekleme süresi
</SCRIPT>
</body>
Bu ben'm PHP. sayfam iletişim formum içi, tam olarak nereye yerleştirmem gerekiyor sizin söylediğiniz kodu ? - 07-05-2009, 22:19:02İsthost hocam senin verdiğin kodda eğer boşluk karakteri gönderirlerse de kabul eder.
Aşağıdaki kontrolleri eklemek daha faydalı olur sanki.
Regexler hata verirse hangisinin hata verdiğini yaz düzeltelim.
Escapeler eklendi...
<?php // email adresi hatalıysa hat averir if(! eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST["eposta"])){ echo "<script>alert(\"E-mail Adresiniz Hatali!\")</script>"; header('Location: http://formun_olduğu_sayfa_adresi/'); } //isim harflerden oluşmuyorsa ve 3-25 karakter arasında değilse hata verir if(! eregi("^[a-zA-Z ÇçÖöİıŞşÜüĞğ]{3,25}$", $_POST["isim"])){ echo "<script>alert(\"Lutfen Gecerli bir isim belirtiniz!\")</script>"; header('Location: http://formun_olduğu_sayfa_adresi/'); } //soyisim harflerden oluşmuyorsa ve 2-50 karakter arasında değilse hata verir if(! eregi("^[a-zA-Z ÇçÖöİıŞşÜüĞğ]{2,50}$", $_POST["soyisim"])){ echo "<script>alert(\"Lutfen Gecerli bir soyisim belirtiniz!\")</script>"; header('Location: http://formun_olduğu_sayfa_adresi/'); } //sayı olmayan ve 10 haneden kısa telefon numaralarına hata verir if(! eregi("^[0-9]{10,11}$", $_POST["telefon"])){ echo "<script>alert(\"Lutfen Gecerli bir telefon belirtiniz!\")</script>"; header('Location: http://formun_olduğu_sayfa_adresi/'); } $to = "[COLOR="Red"]burda mail adresimi yaziyorum[/COLOR]"; $subject = "[COLOR="Red"]Konu[/COLOR]"; $headers = "From:" . $_POST["isim"]; $headers .= "<" . $_POST["eposta"] . ">\r\n"; $headers .= "Reply-To: " . $_POST["eposta"] . "\r\n"; $headers .= "Return-Path: " . $_POST["eposta"]; $message .= "iletisim form islem sonucu\n\n"; $message .= "Adi: " . $_POST["isim"] . "\r\n"; $message .= "Soyadi: " . $_POST["soyisim"] . "\r\n"; $message .= "Cinsiyet: " . $_POST["R1"] . "\r\n"; $message .= "Email Adresi: " . $_POST["email"] . "\r\n"; $message .= "Telefon: " . $_POST["telefon"] . "\r\n"; mail($to, $subject, $message, $headers); ?> <SCRIPT LANGUAGE="JavaScript"> var shant="xxxxx.html" // document.write('<strong>Loading...</strong>' + shant)//ekranda çykacak mesaj function forPage() { location.href=shant } setTimeout ("forPage()", 5);//Bekleme süresi </SCRIPT> </body>