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>
< ?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'rn";
$header.= "From: ".mysql_real_escape_string($_POST['iletisim_email'])."rn";
$hearder= "Content-type: text/html; charset='iso-8859-9'rn";
$hearder.="From:atilla@akoglu.orgrn";
$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.




November 7th, 2009
admin
Posted in 
