CodeBlanks Logo Icon CodeBlanks

Özet - Formlar

PHP kursu · Başlangıç · Ders 105/116

Form, $_POST ve htmlspecialchars'ı birleştirerek kayıt formu yazarsın.

Özet - Formlar

Bu grupta form oluşturmayı, veriyi $_POST ile almayı, htmlspecialchars() ile XSS'i engellemeyi, empty() ve filter_var() ile doğrulama yapmayı ve hata mesajlarını göstermeyi öğrendin.

Bir kayıt formu sayfasının akışı şöyledir: formu göster → gönderimi denetle → veriyi $_POST'tan al → empty() ile boş alanları, filter_var() ile e-postayı denetle → hataları diziye topla → hata yoksa teşekkür et, varsa formu geri göster ve hataları yazdır.

Uygulama Kayıt formunu işle

$_POST['name'] = ""; ata. $_POST['email'] = "kötü"; ata. $errors = []; ile başla. if (empty($_POST['name'])) koşulunda $errors[] = "Ad gerekli"; yaz. if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) koşulunda $errors[] = "E-posta geçersiz"; yaz. Sonra if ($errors) koşulunda foreach ($errors as $error) ile echo $error . "\n"; yaz, else bloğunda echo "Hoş geldin, " . htmlspecialchars($_POST['name']) . "!"; yaz.

Örnek çözümü göster
Önce $_POST['name'] = ""; ve $_POST['email'] = "kötü"; yaz, $errors = []; ile başla. İki if ile hataları topla. Sonra if ($errors) { foreach ($errors as $error) { echo $error . "\n"; } } else { echo "Hoş geldin, " . htmlspecialchars($_POST['name']) . "!"; } ekle.
Örnek çözüm:
<?php
// Kayıt formunu işle
$_POST['name'] = "";
$_POST['email'] = "kötü";
$errors = [];
if (empty($_POST['name'])) {
    $errors[] = "Ad gerekli";
}
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    $errors[] = "E-posta geçersiz";
}
if ($errors) {
    foreach ($errors as $error) {
        echo $error . "\n";
    }
} else {
    echo "Hoş geldin, " . htmlspecialchars($_POST['name']) . "!";
}

Kendini test et

  1. Bir kayıt formunda ilk adım ne olmalı?

    • Formu doğrudan veritabanına yaz
    • Kullanıcıdan gelen veriyi güvenerek kabul et
    • Formu göster ve $_POST ile veriyi al
    • Hataları görmezden gel
    Cevabı göster

    Formu göster ve $_POST ile veriyi al — Doğru. Önce formu göster, gönderildiğinde $_POST ile veriyi alırsın.

  2. Özet kavramları eşle

    method="post"
    Veriyi gövdede gönderir
    $_POST['name']
    Alan değerini alır
    empty()
    Boş alanı yakalar
    htmlspecialchars()
    XSS'i engeller
  3. Özette htmlspecialchars çağrısını tamamla

    echo ____($_POST['name'], ENT_QUOTES);
    Cevabı göster
    echo htmlspecialchars($_POST['name'], ENT_QUOTES);

Başlangıç bölümündeki tüm dersler