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.

This article has 19 comments

  1. İ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ü?

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

  3. 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.

  4. 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..

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

  6. 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

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

  8. 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

  9. 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.

  10. 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.

  11. Yazılım TV, Php, MySQL, db..
    Salı 15 Aralık 2009, 9:56 pm

    this is thank you.. :)

  12. asp de olanı lazım :(

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

  14. teşekkürler web sitemde kullanacağım

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

  16. Hata verdi bende :(

  17. Bon ba je vais en parler sur un site web personnel

Leave a Reply

Manavgat Rehberi