Formular PHP Obligatoriu. Formulare PHP - Câmpuri obligatorii. Instrucțiunea if else. Variabila $_POST. Funcția PHP empty(). Funcția test_input(). Variabile de eroare.

Formulare PHP - Câmpuri obligatorii (PHP Forms - Required Fields)

Acest capitol arată cum se pot face câmpurile de intrare necesare (input fields required) și se pot crea mesaje de eroare (error messages), dacă este nevoie.

PHP - Câmpuri obligatorii (PHP - Required Fields)

Din tabelul cu regulile de validare din pagina anterioară, vedem că sunt obligatorii câmpurile „Nume”, „E-mail” și „Gen”. Aceste câmpuri nu pot fi goale și trebuie completate în formularul HTML.

 
Câmp Reguli de validare
Nume Obligatoriu. + Trebuie să conțină doar litere și spațiu alb
E-mail Obligatoriu. + Trebuie să conțină o adresă de e-mail validă (cu @ și.)
Website Opțional. Dacă este prezent, trebuie să conțină o adresă URL validă
Coment Opțional. Câmp de introducere pe mai multe linii (Multi-line input field) (textarea)
Gen Obligatoriu. Trebuie să selectați unul

În capitolul precedent, toate câmpurile de intrare (input fields) au fost opționale.

În codul următor, am adăugat câteva variabile noi: $nameErr, $emailErr, $genderErr și $websiteErr $. Aceste variabile de eroare (error variables) vor conține mesaje de eroare (error messages) pentru câmpurile necesare (required fields). Am adăugat, de asemenea, o instrucțiune if else pentru fiecare variabilă $_POST. Se verifică dacă variabila $_POST este goală (cu funcția PHP empty()). Dacă este gol, un mesaj de eroare (error message) este stocat în diferite variabile de eroare (error variables)  și, dacă nu este gol, trimite datele de intrare (input data) ale utilizatorului prin funcția test_input():
 
<?php
// definiți variabilele și setați valorile goale
$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"]);
  }
}
?>