Php İle İletişim Formu Hazırlamak
Bana mı öyle geliyor oksa öyle mi bilmiyorum ama forumlarda, bloglarda, sağda solda adam akıllı bir şekilde iletişim formu yapılması anlatılmıyor. Anlatılıyorsada ben pek raslamadım. Kimiside kendi hazırladığı iletişim formunu başkalarının kullanması için paylaşıyor. Bu hazır iletişim formunu kullanmak isteyen kişide iletişim formu kendi istediği ek alanları ekleyemiyor. Mesela iletişim formunda Ad-soyad, E-mail, Konu ve mesaj alanları olsun… Bu alanlara telefon ya da adres gibi alanları ekleyerek kendi e-mail adreslerine gönderebilme işlemini yapamayanlar var.
Php nimetlerinden faydalanarak bu yazıda size iletişim formu nasıl hazırlanır ondan bahsedeceğim. Hatta anlatacağım bu yöntem ile İK formları dahi hazırlayabilirsiniz. Burada önemli olan sadece olayın mantığını ve nasıl işlediğini kavramaktır. Hemen başlayalım.
Uygulamada 2 farklı dosyamız olacak. Birisi form bilgilerinin girildiği sayfa, adı form.php olsun. Diğerine bu bilgileri alıp e-mail adresinize gönderen php sayfamız, onun adıda gonder.php olsun.
Aşağıdaki kodları kopyalayın ve form.php sayfanızı hazırlayın.
[html]
[/html]
Bu kodlar arasındaki en önemli nokta form tagı içerisindeki method=”post” action=”gonder.php” satırlarıdır. Burada method post olacak action da gönderme işlemini yapan php sayfamızın adı olacak.Birde her alan için belirlenen bir isim var. Bunlar name=”mesaj” kodları ile belirtilmiş durumda. Bu isimler ile çağıracağız gonder.php sayfamızda. Bunları yanlış yazmayın. Yeni alan eklediğinizde ismini belirtin ve aşağıda anlattığım şekilde gonder.php sayfanıza alın ve mailinize ekleyin.
Aşağıdaki kodlar ile gonder.php sayfanızı oluşturun. Gerekli açıklamalar en kısa ve öz şekilde kodlar arasındaki açıklama satırları arasında mevcut.
[php]
//formdan gelen bilgileri bu sayfaya çektik..
$adsoyad=$_POST['adsoyad'];
$email=$_POST['email'];
$telefon=$_POST['telefon'];
$konu=$_POST['konu'];
$mesaj=$_POST['mesaj'];
$emailadresi="ahwet1@gmail.com"; //kendi e-mail adresinizi yazin.
$emailkonusu="Iletisim Formu"; //gönderilen e-mailde konu olarak ne görünmesiniz istiyorsaniz buraya onu yazin.
//bos alanlari kontrol ediyoruz..
if (empty($adsoyad) or empty($email) or empty($telefon) or empty($konu) or empty($mesaj)){ //burayi kendinize göre çogaltabilirsiniz
print ('Lütfen bütün alanlari eksiksiz olarak doldurunuz.
‘); //eger bos alan var ise gerekli uyari mesaji.
print(‘Form Sayfasina Geri Dön‘); //form sayfasina geri dönüs linki
}
//bos alan yok ise asagidan da e-mail gönderilecektir.
else {
$emailicerigi=”
Ad-Soyad: $adsoyad
E-mail: $email
Telefon: $telefon
Konu: $konu
Mesaj: $mesaj”;
if(mail($emailadresi,$emailkonusu,$emailicerigi)){
print (‘Mailiniz basarili bir sekilde gönderildi. Ilginizden dolayi tesekkürler.’); //bu uyari yazisida mail gönderildiginde çikacaktir..
}
}
?>
[/php]
Yukarıdaki kodlar arasında birkaç önemli nokta var bunları açıklayayım. En üstteki;
$adsoyad=$_POST['adsoyad'];
kodu ile form.php sayfamızdan gelen bilgileri çekiyoruz. Form sayfanızdaki form alanlarının isimleri ile çağırıyoruz. Mesela adsoyad alanının form sayfasındaki ismi adsoyad. E-mail göndeirlen sayfada ise aynı ismi kulandım, orada da adsoyad isminde bir değişken içerisinde. Form sayfanıza alan ekledikçe bu alanı çoğaltabilirsiniz.
if (empty($adsoyad) or empty($email) or empty($telefon) or empty($konu) or empty($mesaj))
Kodları ile form sayfamızdan gelen alanların boş olup olmadığını kontrol ediyoruz. Formunuza yeni alan eklediğinizde bu kod parçası içerisine or empty($yenialanadi) şekilde ekleme yapabilirsiniz.
$emailicerigi=”
Ad-Soyad: $adsoyad
E-mail: $email
Telefon: $telefon
Konu: $konu
Mesaj: $mesaj”;
Bu kodlar ise gönderilen e-mailin içeriğini oluşturuyor. Yeni alan eklediğiniz buraya mesela; Adres: $adres şeklinde ekleme yapabilirsiniz.
Uygulamanın canlı demosunu görmek için burayı download etmek için ise burayı kullanabilirsiniz. Bu uygulamaya benze bir uylamayıda daha önceden bu yazımda sizlerle paylaşmıştım. Demodaki e-mail benim e-mail adresime gönderiliyor. Deme amaçlı doğru e-mail adresinizi girerek deneyebilirsiniz. Bende sizin e-mailinize cevap yazarak çalıştığını gösterebilirim (:
352 views
RenkliTeneke.Com blogundaki yeni yazılardan haberdar olmak için RSS Abonesi olabilirsiniz. İsterseniz Twitter'dan ya da FriendFeed'den takip edebilirsiniz. Ya da "Yeni yazılar e-mail adresime gelsin" diyorsanız e-mail abonesi olabilirsiniz.
Merhaba sevgili ziyaretçi. Şuanda renkliteneke.com bloguna " Ahmet" tarafından " 21 Aralık 2008" tarihinde yazılmış olan "Php İle İletişim Formu Hazırlamak" başlıklı bu yazıyı okuyorsun. Bu yazının başka bir yerde yayınlaması yasaktır. Her yazı ayrı bir özen içerisinde hazırlanıyor ve bu emeğin iki tık ile heba edilmesi pek hoşuma gitmez. Bu açıklama ise bilgilenmeniz için yazılmıştır.


(Bu yazı 7 oy aldı. Ortalama Değeri: 4,43 oy dan 5)
İletişim formunun oldukça önemli olduğunu düşünüyorum, şu şekilde geliştirebilirsiniz
Artık bir çok web Sayfası sahibi sayfasın iletişim bilgilerinin yanı sıra bir iletişim formununda var olmasını istiyor.
İletişim Formu hazırlamak için bir çok yol var..
Buda onlardan birisi, Kullanmak isteyenler için güzel, Sade bir Script
elinize saglık
özet çok güzel bir form, teşekkür ediyorum. en sonradki göder tezmile butonlarındaki tırnakları kopyala yapıştırla farklı bir kod olarak geçti benim dreamveawer programına sonra ya diyorum bu butonlar neden çalışmıyo sonra 5 dakka aradım durdum. bilginize…
saolasın kardeş eline sağlık…
iletişim formu için teşekkürler, basit ve güzel.
teşekkür ederim
merhabalar.
Bilgiler için çok teşekkürler fakat siteme koydum mesajınız başarılı bir şekilde gönderilmiş diyor ama bi trlü göndermiyor neden olabilir acaba ? bu arada Ferhat Kondakçı adlı aerkadşın yaptığı uyarıyıda yani ttırnak işareti sorununu da düzenledim ama hala göndermiyor.yardımcı olursanız sevinirim.İYİ ÇALIŞMALAR
@ferhat; Yukarıdaki kodları birleştirerek yapamadıysan buraya tıklayarak php iletişim formuna ait bütün kodların bir arada olduğu dosyayı indirebilirsin. Sanırım sen iletişim formunu oluşturmuşsun ancak e-mail göndermiyor.. Senin dikkat etmen gereken yer şurası: gonder.php içerisindeki e-mail adresine kendi e-mail adresini yaz. Belki orayı değiştirmeyi unutmuş olabilirsin.. Çünkü normalde bana bu iletişim formu aracılığı ile sık sık e-mail geliyor (: Demo sayfasından doldurup gönderiyorlar.
Hocam bende yaptım fakat arkadaşında da dediği gibi mail gönderildi diyor fakat mail filan gelmiyor.Mail adresi yerini değiştirdim !
@Müzik dinle;
Yazı içerisinde de belirtmiştim ben zaten e-mail adres alanına kendi e-mailinizi yazın diye :) Ufak bir dikkatsizlik olmuş ama düzeltmişsiniz. Sorun yok =)
Evet hocam yaptım:) formu editlemiştim de kendime göre.Diğer dosyadaki değerleri eklemeyi unutmuşum.
Yanlız siteye ekledimde hocam,linke tıkladığımda açılmıyor.Neden olabilir ? Link açılıyor ama form gelmiyor
Gönderilen e-mail adresini nasıl değiştirebiliriz ?
@Müzik dinle;
yukarıdaki yazının içerisinde bulunan “$emailadresi=”ahwet1@gmail.com”; //kendi e-mail adresinizi yazın.” kodundaki e-mail adresi yerine kendi e-mail adresinizi yazarsanız size gelir e-mail
Gelecek e-amil adresi değil,form doldurulduktan sonra gönderilen e-mail adresini nasıl değiştirebiliriz.Yani formun gönderildiği e-mail adresini(karşı tarafınkini) !!
merhaba
girişteki düşüncelerinize katılmamak mümkün değil.. (mutlaka istisnalar var)sizin gibi..
Anlatımınız için de gerçekten teşekkür ederim..
sadece bir şey eksik ya da eklenebilir sanki:
e-mail karakterleri kontrolü ile ilgili “if…” ifadesi eklenebilir miydi acaba?
Ahmet arkadaşım, öncelikle çok başarılı bir çalışma olmuş bunu belirteyim. O kadar senedir internet işiyle uğraşıyorum html ustası oldum ancak php yi bir türlü çözemedim. İletişim formları da buna dahil, sayende her şeyi bir seferde anladım. Eline, koluna, beynine sağlık. Gerçekten faydalı ve kaliteli bir paylaşım, tebrikler.
Ben gonder.php’ye mail adresimi yazdım, denedim mailime mesaj gelmedi ????
maya; evet eklenebilir. o biraz daha ayrıntılı.
Fırat Koyuncu; teşekkürler.
Gökhan; kodlar ile ilgi değişiklikler yapmamış olmalısınız. kodlarda sorun yok. az önce tekrar denedim ben form sorunsuz çalışıyor. hatta formun çalıştığından emin olmak isteyen arkadaşlar bana o formu doldurup gönderiyor bende cevaplıyorum. şöyle de olabilir; hostinginde php dosyaları çalışmıyordur?
Form kontrol aşamsında “or” kullanmışsınız. Bunun Tr karşılığı “veya” dır.PHP fonksiyonlarında,
1 veya 0 = 1 dir. Yani form alanlarından kullancının birini doldurması diğerlerini boş bırakıp işlemleri tamamlamasına buda gereksiz ve boş maillerin alınmasına sebep olabilir.or yerine and kullanmanızı öneririm.
if(empty($name) and empty($email) and…){
…
}else{
…
}
Hocam eline sağlık adam gibi bi döküman olmuş ama bu sayfadaki tırnaklar bozuk(normalden farklı=) benim gibi burdan kopileyip çalıştırmaya çalışanlara duyrulur. Burdan alıp yaparsanız çalışmıyor. Download edin sayfayı; http://www.renkliteneke.com/dosyalar/php-iletisim-formu.rar
Tekrar teşekkürler..
Öncelikle elinize sağlık ve iyi bayramlar :D çok güzel bir form olmuş fakat :D şimdi beceremediğim kısımlara gelelim
1.dediğiniz gibi mail adresini değiştirdim… değiştirilecek diğer şeyleri biz belirleyeceğimiz için değiştirmedim.
formu siteye yerleştirdim fakat doldurduktan sonra gonder.php sayfasına yönleniyor ve kalıyor boş bir sayfa.Sayfayı yenilediğim zaman ya tekrardan boş sayfa geliyor yada sanki hiçbir şey girilmemiş gibi davranıyor…acaba yanlış yaptığım bir yer mi var.. (bu arada hosting firmam php destekliyor)
Denedim bir türlü çalışmıyor daha dogrusu boşlukları eksiksiz doldurun hatası veriyor ama öyle bir problem yok hepsini dolduruyorum
Arkadaşlar iletişim formu kodlarında sürekli oluşan bir hata vardı. şuanda kodları daha net ve yanlışsız bir şekilde güncelledim. kodların sorunlu olması tırnak işaretelrinden ötürüydü. şuanda form.php ve gonder.php dosyalarının kodlarını rahatlıkla alıp kullanabilirsiniz :)
Warning: mail() has been disabled for security reasons in D:\inetpub\vhosts\atilimcisigorta.com.tr\httpdocs\gonder.php on line 27
hocam bu hatayı alıyorum
@muhammet
İletişim formununn gideceği e-mail adresi, e-mailin konsu ve emailin içeriği gibi değişken varlığından emin olun ve sorunsuz bir şekilde değer atanması yapıldığından emin olun.
Merhaba, okadar site dolaştım sizn kadar net, görsel ve indirilebilir dosya şeklinde anlatım yok.Kimi ya kdu eksik veriyor,kimisi ya gonder.php ye mail ekelenmesi gerekitiğini yazmıyor vesaire. elinize sağlık.
Benim sorunum form çalışıyor ancak mesaj maile geldiğinde satırlar alt alta değil sürekli sağa doğru gidiyor buda tek satırlı sağa doğru uzadıkça uzayan bir mesaj oluyorki okumak çok zor ve görsel değil. bunu nasıl çözebilirz. hotmail ve mynet uzantılı mail denedim ikisinide açtığımda bu sorun var.
webci; İletişim formu dosyaları içerisinde bulunan gonder.php‘yi açıp
$emailicerigi=”
Ad-Soyad: $adsoyad
E-mail: $email
Telefon: $telefon
Konu: $konu
Mesaj: $mesaj”;
kodlarını aşağıdaki gibi değiştirirseniz form ile gönderilen bilgiler alt alta görüntülenir.
$emailicerigi=”
Ad-Soyad: $adsoyad
E-mail: $email
Telefon: $telefon
Konu: $konu
Mesaj: $mesaj”;
Burada $emailicerigi değişkeninin içeriğini değiştirmiş oluyoruz. Bu değişkenin içine istediğiniz html kodlarını ekleyebilirsiniz.
teşekkürler dediğiniz değişiklikleri yapıp denedim sorun çözüldü.
İletişim formundan yollanan mailler spam kutusuna düşüyor bunu engellemenin bir yolu varmı?
Hocam benim isteğim şu iletişim formu doldurulacak ve gönder dediğinde aynı sayfa değişmeden yani http://www.siteadı.com/form.php den form doldurulup gönderildiğinde yine http://www.siteadı.com/form.php de kalacak ve formun yerinde mesajınız gönderilmiştir teşekkür ederiz falan bir not çıkacak. Yani tek bir php sayfası ile form tamam olabilirmi. teşekkürler saygılar
Yukarıdaki yazı hakkında kendi düşüncelerinizi yazın!
Lütfen yukarıdaki yazı hakkında düşüncelerini paylaş. Senin düşündüklerin bazen bu blogdaki yeni yayınlanacak yazının hangi konuda yazı yazılması gerektiğini belirliyor.kitapyurdu
En Çok Okunan Yazılar
Kategoriler
Meta
Takipçi Sayısı
Arşivler
Bağlantılar
Etiketler
Son Yorumlar
en çok yorumlananlar
en çok okunanlar