PHP Eğitimi

PHP ANA SAYFA PHP'ye Giriş PHP Kurulumu PHP Sözdizimi PHP Yorumları PHP Değişkenleri PHP Yankı / Yazdır PHP Veri Türleri PHP Dizeleri PHP Numaraları PHP Matematik PHP Sabitleri PHP Operatörleri PHP If...Else...Elseif PHP Anahtarı PHP Döngüleri PHP Fonksiyonları PHP Dizileri PHP Süper Küreseller PHP Normal İfade

PHP Formları

PHP Form İşleme PHP Form Doğrulama PHP Formu Gerekli PHP Formu URL/E-posta PHP Formu Tamamlandı

PHP Gelişmiş

PHP Tarih ve Saat PHP Dahil PHP Dosya İşleme PHP Dosyası Aç/Oku PHP Dosyası Oluştur/Yaz PHP Dosya Yükleme PHP Çerezleri PHP Oturumları PHP Filtreleri PHP Filtreleri Gelişmiş PHP Geri Çağırma İşlevleri PHP JSON'u PHP İstisnaları

PHP OOP

PHP OOP nedir PHP Sınıfları/Nesneleri PHP Oluşturucu PHP Yıkıcı PHP Erişim Değiştiricileri PHP Kalıtımı PHP Sabitleri PHP Soyut Sınıfları PHP Arayüzleri PHP Özellikleri PHP Statik Yöntemler PHP Statik Özellikler PHP Ad Alanları PHP Yinelenebilirler

MySQL Veritabanı

MySQL Veritabanı MySQL Bağlantısı MySQL Veritabanı Oluştur MySQL Tablo Oluştur MySQL Veri Ekle MySQL Son Kimliği Al MySQL Ekle Çoklu MySQL Hazırlandı MySQL Seçim Verisi MySQL Nerede MySQL Sıralaması MySQL Verileri Sil MySQL Güncelleme Verileri MySQL Sınır Verileri

PHP XML'i

PHP XML Ayrıştırıcıları PHP SimpleXML Ayrıştırıcı PHP SimpleXML - Al PHP XML Expat'ı PHP XML DOM'si

PHP - AJAX

AJAX'a Giriş AJAX PHP AJAX Veritabanı AJAX XML'i AJAX Canlı Arama AJAX Anketi

PHP Örnekleri

PHP Örnekleri PHP Derleyici PHP Testi PHP Alıştırmaları PHP Sertifikası

PHP Referansı

PHP'ye Genel Bakış PHP Dizisi PHP Takvimi PHP Tarihi PHP Dizini PHP Hatası PHP İstisnası PHP Dosya Sistemi PHP Filtresi PHP FTP'si PHP JSON'u PHP Anahtar Kelimeler PHP Libxml PHP Postası PHP Matematik PHP Çeşitli PHP MySQLi PHP Ağı PHP Çıkış Kontrolü PHP Normal İfade PHP SimpleXML PHP Akışı PHP Dizisi PHP Değişken İşleme PHP XML Ayrıştırıcı PHP Posta Kodu PHP Saat Dilimleri

PHP Formları - Gerekli Alanlar


Bu bölüm, giriş alanlarının nasıl gerekli hale getirileceğini ve gerekirse hata mesajlarının nasıl oluşturulacağını gösterir.


PHP - Gerekli Alanlar

Bir önceki sayfadaki doğrulama kuralları tablosundan "Ad", "E-posta" ve "Cinsiyet" alanlarının gerekli olduğunu görüyoruz. Bu alanlar boş olamaz ve HTML formunda doldurulmalıdır.

Field Validation Rules
Name Required. + Must only contain letters and whitespace
E-mail Required. + Must contain a valid email address (with @ and .)
Website Optional. If present, it must contain a valid URL
Comment Optional. Multi-line input field (textarea)
Gender Required. Must select one

Önceki bölümde, tüm giriş alanları isteğe bağlıydı.

Aşağıdaki koda bazı yeni değişkenler ekledik: $nameErr, $emailErr, $genderErr ve $websiteErr. Bu hata değişkenleri, gerekli alanlar için hata mesajlarını tutacaktır. Ayrıca if elseher $_POST değişkeni için bir ifade ekledik. Bu, $_POST değişkeninin boş olup olmadığını kontrol eder (PHP empty() işleviyle). Boşsa, farklı hata değişkenlerinde bir hata mesajı saklanır ve boş değilse, test_input() işlev aracılığıyla kullanıcı giriş verilerini gönderir:

<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Name is required";
  } else {
    $name = test_input($_POST["name"]);
  }

  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
  }

  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
  }

  if (empty($_POST["comment"])) {
    $comment = "";
  } else {
    $comment = test_input($_POST["comment"]);
  }

  if (empty($_POST["gender"])) {
    $genderErr = "Gender is required";
  } else {
    $gender = test_input($_POST["gender"]);
  }
}
?>


PHP - Hata Mesajlarını Görüntüle

Ardından, HTML formunda, gerekli her alanın arkasına, gerektiğinde doğru hata mesajını veren küçük bir komut dosyası ekleriz (yani, kullanıcı formu gerekli alanları doldurmadan göndermeye çalışırsa):

Örnek

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">

</form>

Sonraki adım, "Ad alanı yalnızca harfler ve boşluklar mı içeriyor?" ve "E-posta alanı geçerli bir e-posta adresi sözdizimi içeriyor mu?" ve doldurulmuşsa, "Giriş verilerini doğrulamaktır. Web sitesi alanı geçerli bir URL içeriyor mu?".