Rss Feed
Tweeter button
Facebook button
Technorati button
Reddit button
Myspace button
Linkedin button
Delicious button
Digg button
preload preload preload preload

PHP Örnekleri – İletişim Formu

Uzun bir aradan sonra biriken yazma hevesi ve  yoğunluktan kurtulmanın verdiği rahatlığı sebebiyle bugün itibariye, serpitoyu zenginleştirmeye çalışacağım. PHP-Derslerini takip ederek öğrenmeye çalışan arkadaşların tepkilerinden anladığım kadarıyla dersler haricinde,  küçük uygulamaların eksikliği hissediliyor. Bu eksikliği gidermenin tam zamanı.

Şimdi basit bir iletişim formu tasarlayalım, ve  formu php diliyle işler hale getirelim. Buyrun:

Html ve biraz da CSS yardımıyla basit bir form tasarlıyoruz.

	
// Dosya adı : form.php
	
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<table width="400" style="background-color:#E7EBDE;border:1px #8FAC86 solid; padding-left:5px;" align="center">
<tr>
<td colspan="2" align="center"><p align="center" style="color:#003300;font-size:14px;font-weight:bold;">İletişim Formu</p></td>
	
</tr>
<tr>
<td width="20%">Adınız </td>
<td>
<input type="text" name="iletisim_isim" style="width:250px;"/>
</td>
</tr>
<tr>
<td>e-posta adresiniz</td>
<td>
<input type="text" name="iletisim_email" style="width:250px;"/>
</td>
</tr>
<tr>
<td valign="top">Mesajınız</td>
<td>
<textarea name="iletisim_mesaj" style="width:250px;height:100px;margin-left:4px;"></textarea>
</td>
</tr>
<tr>
<td></td>
<td height="30">
<input type="submit" name="iletisimyolla" value="Gönder" />
<input type="reset" value="Temizle" />
</td>
</tr>
</table>
</form>
	

Form elementinin action parametresinde yazılan yol (URL ) , form verilerinin gönderileceği yoldur. 

	
<form  action="< ?=$_SERVER['PHP_SELF']?>" method="post">
	
/*
	
dipnot: $_SERVER['PHP_SELF'] , sayfanın bulunduğu url 'in kendisini temsil eder.
	
Bu şekilde, aynı formu bir defa kodlayıp birden fazla yerde kullanmanız için, kolaylık sağlar.
	
Her kullandığınız yerde tekrar tekrar action url i değiştirmenize gerek kalmaz.
	
*/
	

Formun post  edildikten sonraki kısmı için aynı dosyayı geliştirmemiz gerekiyor.

	
< ?php
if( empty ($_POST['iletisimyolla'] ) ) {
?>
</form><form  action="< ?=$_SERVER['PHP_SELF']?>" method="post">
<table width="80%" style="background-color:#E7EBDE;border:1px #8FAC86 solid; padding-left:5px;" align="center">
<tr>
<td colspan="2" align="center"><p align="center" style="color:#003300;font-size:14px;font-weight:bold;">İletişim Formu</p></td>
	
</tr>
<tr>
<td width="20%">Adınız </td>
<td>
<input type="text" name="iletisim_isim" style="width:250px;"/>
</td>
</tr>
<tr>
<td>e-posta adresiniz</td>
<td>
<input type="text" name="iletisim_email" style="width:250px;"/>
</td>
</tr>
<tr>
<td valign="top">Mesajınız</td>
<td>
<textarea name="iletisim_mesaj" style="width:250px;height:100px;margin-left:4px;"></textarea>
</td>
</tr>
<tr>
<td></td>
<td height="30">
<input type="submit" name="iletisimyolla" value="Gönder" />
<input type="reset" value="Temizle" />
</td>
</tr>
</table>
</form>
< ?php
}
else{?>
<p class="_orta_icerik">
< ?php
$email_address_to="atilla@akoglu.org";
$email_from=mysql_real_escape_string($_POST['iletisim_email']);
$subject = "Serpito İletişim Formu - Yeni Mesaj";
$message_contents = "<p>Mesaj Sahibi:".mysql_real_escape_string($_POST['iletisim_isim'])." </p><p><b> Mesaj:</b><br />".mysql_real_escape_string($_POST['iletisim_mesaj'])."</p>";
$header= "Content-type: text/html; charset='iso-8859-9'\r\n";
$header.= "From: ".mysql_real_escape_string($_POST['iletisim_email'])."\r\n";
$hearder= "Content-type: text/html; charset='iso-8859-9'\r\n";
$hearder.="From:atilla@akoglu.org\r\n";
$message_contents2 = "<p align='center'>Sevgili ".mysql_real_escape_string($_POST['iletisim_isim'])." mesajınız sistemimize başarıyla iletilmiştir. Mesajınızın bir kopyasını saklamanı için göndermiş bulunuyoruz. Serpito.Com'a gösterdiğiniz ilgile teşekkür ederiz.</p><p>Mesaj Sahibi:".mysql_real_escape_string($_POST['iletisim_isim'])." </p><p><b>Mesaj:</b><br />".mysql_real_escape_string($_POST['iletisim_mesaj'])."</p>";
$subject2 = "Serpito.Com İletişim Formu - Mesajınız kaydedilmiştir";
mail($email_address_to,$subject,$message_contents,$header);
	
mail($email_from,$subject2,$message_contents2,$hearder);
	
?>
<p align="center" style="color:#003300;font-size:14px;font-weight:bold;">Mesajınız bize ulaşmıştır.
	
En yakın zamanda size cevap verilecektir.Teşekkür eder, iyi günler dileriz.</p>
	
< ?php
}
	
?>
	

“iletisimyolla” isimli verinin post edilip edilmediğini kontrol ederek , yapılacak işlem seçiliyor. Post edilmemişse , iletişim formu gösteriliyor , edilmişse yani , gönder butonuna basıldığında, veriler işleme konuluyor. Olay bundan ibaret.

Bu örnekde , iletişim formunun verileri email yoluyla hem gönderene, hem de hedefe gönderiliyor.

Bu basit form uygulamasını , dilediğiniz şekilde geliştirmek mümkün. Gelen verileri filtreleme, güvenlik önlemlerini uygulamalarını kodlar üzerinde denemelisiniz.

Uygulamanın çalışan şeklini incelemek için buraya bakabilirsiniz.

Kolay gelsin.

Yazar hakkında
Atilla Akoğlu
Yazılım uzmanı & Serpito.com kurucusu & Müstakbel girişimlerin öncüsü & internet meraklısı & Antalya yolcusu... kişisel portfolyo
  • 12 responses to "PHP Örnekleri – İletişim Formu"

  • Arzu
    16:01 on Aralık 25th, 2008

    İletişim html nin içerisine form php ile yazılan kodları yapıştırdım.Sonra da iletisimyolla php adında bir dosya yapıp diğer kodları da yapıştırdım ama test sunucumda form göründüğü halde yönlendirdiğim mail adresine gelmiyor.İletisim html form php aynı dizine yerleştirdim.Nerde hata yapıyorum anlayamadım.Biraz daha açıklamanız mümkün mü?

  • Arzu
    16:09 on Aralık 25th, 2008

    İetişim formunun çalışması için bilgisayarda php ile ilgili özel bir programın kurulu olması gerekiyor mu?
    ftp ye dosyalarımı atmadan önce test sunucusunda çalışıp çalışmadığını gözlemleyebilir miyim?

  • serpito
    23:05 on Aralık 25th, 2008

    Formun action değerini kontrol ettin mi ?

    Yukarıdaki örnekte $_SERVER['PHP_SELF'] ile ayın sayfada işlem gerçekleştiriyor.

    Eğer iletisimyolla.php adında bir dosyaya yönlendireceksen
    < form method="post" action="iletisimyolla.php">..........
    şeklinde düzenleme yapman gerekiyor.

  • murat orhan
    11:26 on Ocak 5th, 2009

    merhbalar sayın yetkili;

    yukardaki iletişim formu için tşk ederim. lakin çalışmıyor. yaptığım işlemleri izahat etmek istiyorum.
    1.form.php dosyasını oluşturup ilk metini kopyaladım.
    2.iletisimyolla.php dosyalasını oluşturup diğer metini kopyaladım.
    3. ……….
    olarak değiştirdim.
    4.iletisimyola.php dosyasındaki mail bölümlerine kendi mail adresimi girdim
    5. ftp’den olarak siteye upload ettim.
    6. form.php çağırdım. bilgileri girdim. ve sonunda iletisimyola.php dosyası görntülendi tüm kodlarıyla..! mailimide kontrol ettiğimde malesef bilgilerinde ulaşmadığını gördüm. bunun çalışan halini makrom@hotmail adresine gönderebilirimisiniz.

    Not: elimde buna benzer bu mantıkta çalışan iletişim formu var. bunuda sorunu şöyle herşey çalışıyor mail gönderiyorgelen maile baktığımda gelen bilegiler boş gösteriyor. Bunu nasıl çözebilirim. yardımcı olursanınz mutlu olurum tşk ederim. iyi çalışmalar..

  • murat orhan
    11:28 on Ocak 5th, 2009

    merhbalar sayın yetkili;
    3. secenek çıkmamış tekrar yazıyorum
    3. form method=”post” action=”iletisimyolla.php” değiştiridim.

  • serpito
    16:07 on Ocak 5th, 2009

    murat: sunucunun php sunucusu olduğundan eminmisin?

    php kodlarını sayfada gösteriyorsa, yorumlayamıyor demektir, yani sunucu html sunucusu olabilir.

    tahminim doğruysa iletişim formunu php ile kullanamazsın.

    PHP sunucunun olduğuna emin isen , kodlarındaki detayları da inceleyebiliriz.

    Kolay gelsin

  • murat
    18:35 on Haziran 25th, 2009

    selam. ben bu php kodlarını html içinde kullanabilirmiyim? yani kendi yaptığım html sayfasının içinde çalıştırabilir miyim?

  • Karan
    0:45 on Ağustos 7th, 2009

    Selamün aleyküm hocam siz baya ustasınız sanırım php konusunda şu üst taraftaki iletişim formunun dosyalarını paylaşırmısınız nerdeyse hiç yok denecek az az bilgiye sahibim phpde yada zahmet olmasa e-mail olarak yollasanız

  • ahmet
    11:07 on Ekim 23rd, 2009

    sayın yetkili yorum yazan arkadaşların yazdıklarını okuduktan sonra sanırım bir yanlış anlaşılma var diye düşündüm. ben ilgili kodları form.php isimli dosyaya yazdım.yani ikinvi bir php dosyası falan yapmadım çünkü öyle izah etmişsiniz. fakat çalıştırdığımda Bu sayfayı görme yetkiniz yok diye bir hata aldım ve adres çubuğunda http://localhost/alistirma/ olarak görüyorum. acaba yerel sunucum yada php yorumlayıcımmı demeliyim tam olarak bilmiyorum, bu komutları tanımıyormu.

  • ahmet
    11:10 on Ekim 23rd, 2009

    http://localhost/alistirma/ yazmıyor tamamını bu kutuya yazamadım daha doğrusu yazıyorum fakat yarısını sanırım çalıştırılabilir kod olduğundan mesaj kutusu kayıt esnasında kesiyor.

  • serpito
    11:22 on Ekim 23rd, 2009

    http://localhost/alistirma/form.php olarak açmayı denedin mi?

  • Yazılım TV, Php, MySQL, db..
    21:56 on Aralık 15th, 2009

    this is thank you.. :)

  • Leave a Reply

    * Required
    ** Your Email is never shared