Form Verilerini Alma
PHP'de form verilerini almak için, HTML form elementlerindeki input, select veya textarea gibi alanların name
özelliği kullanılarak gönderilen veriler $_POST
veya $_GET
dizileri aracılığıyla PHP koduna aktarılır.
Örneğin, aşağıdaki HTML formu kullanarak bir kullanıcının adını ve e-posta adresini alabiliriz:
<form method="post" action="submit-form.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>
Bu form, kullanıcının adını ve e-posta adresini girerek "submit-form.php" adlı bir PHP dosyasına gönderir.
submit-form.php
dosyasında, formdan gelen verileri almak için $_POST
dizisini kullanabiliriz. Örneğin:
$name = $_POST['name'];
$email = $_POST['email'];
echo "Welcome, " . $name . ". Your email address is " . $email;
Bu örnekte, $_POST
dizisi, formdan gelen verileri alır ve bunları $name
ve $email
değişkenlerine aktarır. Sonra, echo
ifadesiyle bu değişkenleri kullanarak bir mesaj gösterilir.
Form verilerini $_POST
yerine $_GET
dizisi aracılığıyla da alabilirsiniz. Bunun için HTML formunun method
özelliğini get
olarak ayarlamanız ve PHP kodunda $_GET
dizisini kullanmanız gerekir.
Form verilerini alırken, isset()
işlevi kullanarak, gelen verilerin boş olup olmadığını kontrol etmek önemlidir. Örneğin, aşağıdaki kod, formdan gelen name
verisinin boş olup olmadığını kontrol eder:
if (isset($_POST['name']) && !empty($_POST['name'])) {
// `name` verisi formdan gelen ve boş değil
}
else {
// `name` verisi formdan gelmedi veya boş
}
Form verilerini alırken, $_POST
veya $_GET
dizilerinin doğru şekilde kullanıldığından emin olmak da önemlidir. Bu dizilerin içindeki veriler, kötü amaçlı kullanıcılardan gelebilecek saldırılara karşı korunmalıdır. Bu nedenle, form verilerini doğru biçimde doğrulamanız, filtrelemeniz ve işlemeniz gerekebilir.
Form verilerini alma işlemi sırasında, formdan gelen verilerin doğruluğunu kontrol etmek önemlidir. Bu nedenle, form verilerini işlemeden önce filter_input()
ve filter_var()
gibi işlevleri kullanarak gelen verileri doğrulayabilirsiniz.
Örneğin, aşağıdaki kod, formdan gelen e-posta adresinin geçerli bir e-posta adresi olduğunu kontrol eder:
$email = $_POST['email'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// `email` verisi geçerli bir e-posta adresi
}
else {
// `email` verisi geçersiz bir e-posta adresi
}
Form verilerini alma işlemini gerçekleştirdikten sonra, bu verileri veritabanına kaydetmek veya başka bir işlem yapmak isteyebilirsiniz. Bu durumda, PDO veya mysqli gibi bir veritabanı bağlantısı oluşturmanız ve form verilerini güvenli bir şekilde işlemeniz gerekebilir.
Örneğin, aşağıdaki kod, formdan gelen verileri bir MySQL veritabanına kaydeder:
// Veritabanı bağlantısını oluştur
$servername = "localhost";
$username = "kullanici_adi";
$password = "sifre";
$dbname = "veritabani_adi";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Form verilerini al
$name = $_POST['name'];
$email = $_POST['email'];
// Veritabanına kaydet
$sql = "INSERT INTO kullanicilar (isim, email) VALUES ('$name', '$email')";
if ($conn->query($sql) === TRUE) {
echo "Kayıt başarılı";
} else {
echo "Hata: " . $sql . "<br>" . $conn->error;
}
$conn->close();
Bu örnekte, mysqli
sınıfını kullanarak MySQL veritabanı bağlantısı oluşturulur. Sonra, formdan gelen veriler $_POST
dizisi aracılığıyla alınır ve INSERT INTO
SQL ifadesiyle veritabanına kaydedilir.
Form verilerini alma işlemi, PHP'de web geliştirme için temel bir adımdır. Form verilerini doğru bir şekilde almak ve işlemek, web uygulamanızın kullanılabilirliği ve güvenliği için önemlidir.
Last updated
Was this helpful?