Php ile iletişim formu yapımı (Tek sayfada ve ayrı sayfada form kontrolü) | Web bulutu

Php ile iletişim formu yapımı (Tek sayfada ve ayrı sayfada form kontrolü)

php dersleri

Bu yazımda sizlere çalışan php iletişim formu yapımını göstereceğim. Öncelikle 2 çeşit olarak örnek sunacağım; birisi ayrı sayfada form kontrolü olacak (gonder.php), Diğeri ise aynı sayfa üzerinden tüm işlemleri halledeceğiz.

Öncelikle ayrı sayfada gönderim yaparak başlayalım işe…

Hızlı bir şekilde inputlarımızı olşturalım…

1
2
3
4
5
6
7
<form action="gonder.php" method="POST" name="iletisimform">
<input class="contact-input" name="ad" type="text" placeholder="Adınız..." />
<input class="contact-input" name="soyad" type="text" placeholder="Soyadınız..." />
<input class="contact-input" name="email" type="email" placeholder="E-mail Adresiniz..." />
<textarea class="contact-textarea" cols="50" name="mesaj" rows="10" placeholder="Mesajınız..."></textarea>
<input class="contact-input-submit" name="button" type="submit" value="Gönder" /> <input class="contact-input-reset" name="button" type="reset" value="Temizle" />
</form>

Burada dikkat edilmesi gereken; her inputa “name” ozelliği atamak ve türkçe karakter kullanmamaktır. ikinci dikkat edilmesi gereken ise, formun gönderim methodunu “post” olarak ayarlamamızdır. Bir de “get” methodu olarak kullanılan şekli var ama post methodu daha güvenlidir unutmayın..


index sayfamızda inputlarımızı kendimize göre yaptıktan sonra, sıra geldi action=”gonder.php” olarak tanımladığımız formun gideceği “gonder.php” sayfasını yapmaya..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
$ad =$_POST['ad'];
$soyad =$_POST['soyad'];
$email =$_POST['email'];
$mesaj =$_POST['mesaj'];
 
#değişkenkerden gelen verileri aldık
 
 
$kime = "name@name.com"; 
$name = 'Webbulutu'; # mailin kimden geldiğini belirtir.
$website = "name@webbulutu.net"; # hangi mailden geldiğini belirtir.
$konu = "İLETİŞİM FORMU BİLDİRİMİ"; # mail konusunu belirtir..
 
$headers= "MIME-Version: 1.0\r\n"; 
$headers.= "Content-Type: text/html; charset=ISO-8859-9\r\n"; 
$headers.= "X-Priority: 1\r\n"; 
$headers.= 'From:('.$name.')' . $website;
 
 
#mail teknik bilgilerini girdik..
 
$icerik = "
<div style='width:960px; height:auto; min-height:500px; border:1px solid ?#?00d6ff?;'>
Ad: $ad <br/>
Soyad: $soyad <br/>
E-posta: $email <br/><br/>
Mesaj: $mesaj
</div>";
 
#maile  dahil edilecek içerik  değişkeni yazıldı.
 
 
if ($ad=="" or $soyad=="" or $email=="" or $mesaj==""){
	echo "Lütfen formdaki boş alanları doldurunuz!";
	echo "<br />";
	echo '<a href="index.php">Geri Dön</a>';
}else {
	$gonder=mail($kime, $konu, $icerik, $headers);
 
	if ($gonder){
	echo "Mesajınız başarılı bir şekilde ulaştı";
	}else {
	echo "mesajınız gönderilirken sunucu taraflı hata oluştu..";
	}
}
#mail başarılı bir şekilde  gönderildi..
/*Webbulutu.net*/
?>

Sıra geldi Tek sayfada işlemleri yapıp, maili göndermeye ve hatta ekrana başarılı/hatalı mesajları yazdırmaya.

Bunun için if() sorgusunu kullanacağız. Mesaj gönderilmişse burası işleme alınsın, gönderilmemişse burası işleme alınsın gibi bir algoritma kullanacağız..

Ben ilk başta php kalıbımızı göstermek istiyorum ki, sizler düzenlemede sıkıntı çekmeyin..

?Download download.txt
1
2
3
4
5
6
7
<?php
if ($_POST){
	echo "Post edilmişse buradaki işlemler  uygulansın, yani Form kontrolu burada  yapılacak ve mail fonksiyonu  bu blogda yazılacak";
}else {
	echo "Post edilmemişse  burası çalışsın, yani form inputları burada olacak";
}
?>

Hazır kodları da aşağıdadır, Güle Güle kullanın..

?Download download.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<form action="tek-gonder.php" method="post" name="form">
<?php
$ad =@$_POST['ad'];
$soyad =@$_POST['soyad'];
$email =@$_POST['email'];
$mesaj =@$_POST['mesaj'];
 
$kime = "name@gmail.com";
$name = 'Webbulutu';
$website = "admin@webbulutu.net";
$konu = "WEBBULUTU.NET / İLETİŞİM FORMU BİLDİRİMİ";
$headers= "MIME-Version: 1.0\r\n"; 
$headers.= "Content-Type: text/html; charset=ISO-8859-9\r\n"; 
$headers.= "X-Priority: 1\r\n"; 
$headers.= 'From:('.$name.')' . $website;
$icerik = "
<div style='width:960px; height:auto; min-height:500px; border:1px solid #00d6ff;'>
Ad: $ad <br/>
Soyad: $soyad <br/>
E-posta: $email <br/><br/>
Mesaj: $mesaj
</div>";
 
$gonder=mail($kime, $konu, $icerik, $headers);
if($_POST){
if($ad=="" or $soyad=="" or $email=="" or $mesaj==""){
echo '<span class="contact-hata">Lütfen Formda  boş alan bırakmayınız!<span><br /><br />
<a class="back" href="tek-gonder.php">Geri Dön</a>';
}else
echo '<span class="contact-basarili">*Mesajınız başarılı bir şekilde  gönderildi! En kısa  sürede  size dönüş yapılacaktır..<span>';
}else {
echo '
<input class="contact-input" type="text" name="ad" placeholder="Adınız.." autocomplete="off"/><br />
<input class="contact-input" type="text" name="soyad" placeholder="Soyadınız.." autocomplete="off"/><br />
<input class="contact-input" type="email" name="email" placeholder="E-posta adresiniz.." autocomplete="off"/><br />
<textarea class="contact-mesaj" rows="10" cols="50" placeholder="Mesajınız.." name="mesaj"></textarea><br />
<input class="contact-button" type="submit" name="gonder" value="Gönder"/>
';
}
#mail başarılı bir şekilde  gönderildi..
/*Webbulutu.net*/
?>

Bir önceki yazımız olan Seçtiğim en iyi wordpress eklentileri (15 adet) başlıklı makalemizi de okumanızı öneririz.

Bir cevap yazın

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