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.

19 Comments

  • Arzu
    25 Aralık 2008 - 16:01 | Permalink

    İ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
    25 Aralık 2008 - 16:09 | Permalink

    İ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?

  • 25 Aralık 2008 - 23:05 | Permalink

    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
    05 Ocak 2009 - 11:26 | Permalink

    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
    05 Ocak 2009 - 11:28 | Permalink

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

  • 05 Ocak 2009 - 16:07 | Permalink

    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
    25 Haziran 2009 - 18:35 | Permalink

    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
    07 Ağustos 2009 - 00:45 | Permalink

    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
    23 Ekim 2009 - 11:07 | Permalink

    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
    23 Ekim 2009 - 11:10 | Permalink

    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.

  • 23 Ekim 2009 - 11:22 | Permalink

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

  • Yazılım TV, Php, MySQL, db..
    15 Aralık 2009 - 21:56 | Permalink

    this is thank you.. :)

  • Seyri Dizi
    28 Mart 2010 - 23:06 | Permalink

    asp de olanı lazım :(

  • gadfgdsa
    07 Eylül 2010 - 15:20 | Permalink

    tşk

  • Abdurrahman Yalvaç
    18 Aralık 2010 - 21:37 | Permalink

    söylediklerinizi uyguladım mail adrewsi yazan kısımlara kendi mailimi yazdım ama mailimie gelmiyor bilgiler.yardımcı olursanız sevinirim…

  • su arıtma
    30 Nisan 2011 - 11:08 | Permalink

    teşekkürler web sitemde kullanacağım

  • Mohombo
    09 Şubat 2012 - 20:39 | Permalink

    Veri tabanı ayarları nasıl yapılıyor?

  • Mehmet
    12 Mayıs 2014 - 03:22 | Permalink

    Hata verdi bende :(

  • Theron
    15 Mayıs 2014 - 11:14 | Permalink

    Bon ba je vais en parler sur un site web personnel

  • Bir Cevap Yazın

    E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>