PHP PDO iletişim formu
PHP,  WEB TEKNOLOJİLERİ

PHP PDO İletişim Formu | MYSQL4 min read

Merhabalar,
Bu yazıda sizlere PHP PDO iletişim formu ‘nu sunacağım.
İletişim Formu PHP dili MYSQL veritabanıyla yapılmıştır

Ayrıyetten sizlere faydalı düşündüğüm Çoklu Veri Silme PHP PDO MYSQL adlı yazıma ulaşabilirsiniz.

Bu uygulamada şunlar bulunmaktadır.

  • HTML5 input required (Doldurulması gereken zorunlu alan)
  • SweatAlert ile Başarı ve Uyarı, Hata Mesajı
  • Boostrap Form

Veritabanımız

PHP PDO iletişim formu veritabanı
Veritabanımız

Veritabanımızdaki Veriler

PHP PDO iletişim formu veriler
Veritabanımızdaki Veriler

Veritabanı bağlantımız (fonk.php)

<?php
$host = '127.0.0.1';
$dbname = 'iletisim_formu';
$username = 'root';
$password = '';
$charset = 'utf8';
//$collate = 'utf8_unicode_ci';
$dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_PERSISTENT => false,
    PDO::ATTR_EMULATE_PREPARES => false,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    //   PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES $charset COLLATE $collate"
];
try {
    $baglanti = new PDO($dsn, $username, $password, $options);
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Bağlantı hatası: ' . $e->getMessage();
    exit;
}
?>

İletişim Formumuz (index.php)

PHP PDO iletişim formu
İletişim Formumuz

Gereken Açıklamalar Kaynak Kodda belirtilmiştir.

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>İletişim Formu</title>
	<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
</head>
<body>
	
	<div class="container">
		<div class="row">
			<div class="col-md-6">
				<div class="card">
					<div class="card-body">
						<center><h1>İletişim Formu</h1></center>						
						<form method="POST" action="">
							<div class="form-group">
								<label for="exampleFormControlInput1">Adınız Soyadınız</label>
								<input type="text" class="form-control" name="ad_soyad"  placeholder="Ad Soyad" required="">
							</div>

							<div class="form-group">
								<label for="exampleFormControlInput1">Email Adresi</label>
								<input type="email" class="form-control" name="email"  placeholder="isim@örnek.com" required="">
							</div>		

							<div class="form-group">
								<label for="exampleFormControlInput1">Konu</label>
								<input type="text" name="konu" class="form-control" required="">
							</div>			

							<div class="form-group">
								<label for="exampleFormControlTextarea1">Mesaj</label>
								<textarea class="form-control" name="mesaj" rows="3" required="" placeholder="Mesajınızı yazınız"></textarea>
							</div>
							<button type="submit" class="btn btn-primary btn-lg btn-block">GÖNDER</button>
							<!-- / JS klasöründeki SweatAlert dosyasınını bağlıyoruz. -->
							<script src="js/sweetalert.min.js"></script>

							<!-- / Formumuzu Tamamlayıp PDO işlemlerine geçiyoruz -->

							<?php

							include('fonk.php'); // sayfamıza veritabanını çağırılıyor

							if ($_POST) // Verilerin Post Edilip Edilmediğini Kontrol Ediliyor
							{

								$kaydet = $baglanti->prepare('INSERT INTO mesajlar SET ad_soyad=:ad_soyad, email=:email, konu=:konu, mesaj=:mesaj'); //Eğer Veriler Post Edildiyse Post Edilen Verilen Veritabanına Gönderiliyor
								$insert = $kaydet->execute(array(  // Sorgumuz çalıştırıp ARRAY değişkeniyle tanımlanıyor

									'ad_soyad' => htmlspecialchars($_POST['ad_soyad']),
									'email' => htmlspecialchars($_POST['email']),
									'konu' => htmlspecialchars($_POST['konu']),
									'mesaj' => htmlspecialchars($_POST['mesaj']),
								));

								if ($insert) { // Eğer Verilerimiz Veritabanına Gönderildiyse SweatAlert ile uyarı verip sayfayı index.php sayfasına yönlendiriliyor
									echo '<script>swal("Başarılı","Mesajınız Bize İletildi , En Kısa Sürede Geri Dönüş Yapılacaktır...","success").then((value)=>{ window.location.href = "index.php"}); </script>'; 						
           
								}
								else  // Eğer Hatamız Mevcut ise SweatAlert İle yazdırıyoruz
								{
									echo '<script>swal("Hata","Daha sonra tekrar deneyin","error");</script>';
								}

							}
							?>
						</form>
					</div>
				</div>
				<center><h6>Developer By Fırat YILDIZ</h6><p>www.firatyildiz.net</p></center>
			</div>
		</div>
	</div>


	<script src="js/jquery-3.4.1.min.js"></script>	
	<script src="js/bootstrap.min.js"></script>

</body>
</html>

SweatAlert ile Uyarı

Umarım bu yazı sizlere faydalı olmuştur.

Bu uygulamayı birçok projelerinizde kullanabilir , entegre edebilirsiniz.

Entegre etmeden önce test ediniz.

PHP PDO iletişim formu ve veritabanına buradan bulabilirsiniz => PdoİletisimFormu.zip

Görüşleriniz bizim için değerli , emoji bırakarak yada yorum yazarak görüşlerinizi bize belirtebilirsiniz.

Herkese İyi KODLAMALAR 🙂