Web uygulamaları oluştururken, kullanıcıların veri girmesine izin veren formlara sahip olmak yaygındır. PHP'de form gönderimlerini halledebilir ve kullanıcı verilerini işleyebiliriz. Bu yazıda, PHP'de formların ve kullanıcı verilerinin nasıl işleneceğini keşfedeceğiz.
HTML Formları Oluşturma
Bir HTML formu oluşturmak için etiketi, ve <form> gibi çeşitli giriş öğeleriyle birlikte kullanırız. İşte basit bir form örneği: <input> <select> <textarea>
<form method="POST" action="process.php">
<label for="name">Name:</label>
<input type="text" id="name" name="name">
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<input type="submit" value="Submit">
</form>
Yukarıdaki örnekte, ad ve e-posta için iki giriş alanına sahip bir formumuz var. Formun method özniteliği "POST" olarak ayarlanmıştır ve action öznitelik, form verilerinin gönderileceği URL'yi belirtir.
Form Gönderimlerini İşleme
PHP'de form gönderimlerini işlemek için, gönderilen verileri işleyecek ayrı bir PHP dosyası oluşturmamız gerekir. İşte temel bir form işleme komut dosyası örneği:
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];
// Perform validation and data processing here
// Redirect to a thank you page
header('Location: thankyou.php');
exit;
}
?>
Yukarıdaki komut dosyasında, $_POST "POST" yöntemiyle gönderilen form verilerine erişmek için süper küreseli kullanıyoruz. Form alanlarının değerlerini ilgili adlarını kullanarak alabiliriz( name ve email bu durumda). Daha sonra gerekli doğrulama ve veri işleme işlemlerini gerçekleştirebiliriz.
Form verilerini işledikten sonra, kullanıcıyı bir teşekkür sayfasına veya başka bir uygun sayfaya yönlendirmek yaygındır. Örnekte, header() tarayıcıya bir yönlendirme başlığı göndermek için işlevi kullanıyoruz.
Kullanıcı Girişini Doğrulama
Veri bütünlüğünü ve güvenliğini sağlamak için kullanıcı girişinin doğrulanması çok önemlidir. PHP, düzenli ifadeler gibi girdi doğrulama için çeşitli işlevler ve teknikler sağlar filter_var(). İşte bir e-posta adresini doğrulama örneği:
$email = $_POST['email'];
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Email is valid
} else {
// Invalid email
}
Yukarıdaki örnekte, e-posta adresini doğrulamak için filtreli filter_var() işlevi kullanıyoruz. FILTER_VALIDATE_EMAIL E-posta geçerliyse, daha fazla işlemeye devam edebiliriz. Aksi takdirde, hatayı uygun şekilde ele alabiliriz.
Kullanıcı Girişini Temizleme
Kullanıcı girişinin sterilize edilmesi, SQL enjeksiyonu ve siteler arası komut dosyası çalıştırma(XSS) gibi güvenlik açıklarının önlenmesine yardımcı olur. htmlspecialchars() PHP, temizlik için veritabanına özgü işlevler gibi işlevler sağlar. İşte kullanıcı girdisini sterilize etmenin bir örneği:
$name = $_POST['name'];
$sanitizedName = htmlspecialchars($name, ENT_QUOTES, 'UTF-8');
// Use the sanitized name for further processing
Yukarıdaki örnekte, htmlspecialchars() kullanıcı tarafından sağlanan adı sterilize etmek için işlevi kullanıyoruz. Bu işlev, özel karakterleri HTML varlıklarına dönüştürerek olası HTML veya komut dosyası enjeksiyonunu engeller.
Sonuç olarak, formları ve kullanıcı verilerini işlemek, PHP web geliştirmenin önemli bir parçasıdır. HTML formları oluşturarak, form gönderimlerini işleyerek, kullanıcı girişini doğrulayarak ve verileri temizleyerek, uygulamalarımızın bütünlüğünü ve güvenliğini sağlayabiliriz.



