En son web geliştirme öğreticiler
 

PHP 5 Formlar - Gerekli alanlar


Bu bölümde gerekli giriş alanları yapmak ve gerekirse hata iletileri nasıl oluşturulacağını gösterir.


PHP - Gerekli alanlar

Önceki sayfada doğrulama kuralları tablosundan biz görüyoruz "Name" , "E-mail" ve "Gender" alanlar zorunludur. Bu alanlar boş olamaz ve HTML biçiminde doldurulmalıdır.

Alan Doğrulama Kuralları
isim Gereklidir. + Sadece harf ve boşluk içermelidir
E-mail Gereklidir. + Geçerli bir e-posta adresi içermelidir (with @ and .)
Web sitesi İsteğe bağlı. Bu özellik varsa, geçerli bir URL içermelidir
Yorum Yap İsteğe bağlı. Çok hatlı giriş alanı (textarea)
Cinsiyet Gereklidir. birini seçmelisiniz

Bir önceki bölümde, tüm giriş alanlar isteğe idi.

$ NameErr, $ emailErr, $ genderErr ve $ websiteErr: Aşağıdaki kodda bazı yeni değişkenler ekledik. Bu hata değişkenler gerekli alanlar için hata iletileri düzenleyecek. Ayrıca her $ _POST değişken için eğer başka açıklama ekledik. $ _POST değişkeni boş ise bu denetler (with the PHP empty() fonksiyonu). Bu boş ise, bir hata mesajı farklı hata değişken depolanır, ve boş değilse, içinden kullanıcı giriş verileri gönderir test_input() işlev:

<?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ı Ekran

Sonra HTML biçiminde, biz (kullanıcı Gerekli alanları doldurmadan formu göndermek çalışırsa yani) Gerekirse doğru hata iletisi oluşturur gerekli her alanda, sonra biraz komut dosyası ekleyin:

Ö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
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">

</form>
»Run örnek

Bir sonraki adım, yani giriş verileri doğrulamak için ise "Does the Name field contain only letters and whitespace?" Ve "Does the E-mail field contain a valid e-mail address syntax?" Doldurduğu takdirde, ve, "Does the Website field contain a valid URL?" .