Ultimele tutoriale de dezvoltare web
 

PHP 5 Formulare - Câmpuri obligatorii


Acest capitol arată cum să facă câmpurile de intrare necesare și de a crea mesaje de eroare, dacă este necesar.


PHP - Câmpuri obligatorii

Din tabelul de reguli de validare pe pagina anterioară, vom vedea că "Name" , "E-mail" , și "Gender" câmpurile sunt obligatorii. Aceste câmpuri nu pot fi goale și trebuie să fie completat în formularul HTML.

Camp Reguli de validare
Nume Necesar. + Trebuie să conțină doar litere și spații albe
E-mail Necesar. + Trebuie să conțină o adresă de e - mail validă (with @ and .)
website Opțional. În cazul în care este prezent, acesta trebuie să conțină o adresă URL validă
cometariu Opțional. Câmp de intrare multi-linie (textarea)
Gen Necesar. Trebuie să selectați unul

În capitolul anterior, toate câmpurile de intrare au fost opționale.

În următorul cod am adăugat câteva noi variabile: $ nameErr, $ emailErr, $ genderErr, și $ websiteErr. Aceste variabile de eroare vor organiza mesaje de eroare pentru câmpurile obligatorii. Am adăugat, de asemenea, o declarație, dacă altcineva pentru fiecare variabilă $ _POST. Acest lucru verifică dacă variabila de $ _POST este gol (with the PHP empty() funcția). Dacă este gol, un mesaj de eroare este stocat în diferitele variabile de eroare, iar în cazul în care nu este gol, acesta trimite datele introduse de utilizator prin intermediul test_input() Funcția:

<?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 - Afișează mesaje de eroare

Apoi, în forma HTML, vom adăuga un pic de script după fiecare câmp obligatoriu, care generează mesajul de eroare corect, dacă este necesar (adică în cazul în care utilizatorul încearcă să trimită formularul fără să completeze câmpurile obligatorii):

Exemplu

<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 exemplu »

Următorul pas este de a valida datele de intrare, care este "Does the Name field contain only letters and whitespace?" Și "Does the E-mail field contain a valid e-mail address syntax?" de "Does the E-mail field contain a valid e-mail address syntax?" Și în cazul în care a completat, "Does the Website field contain a valid URL?" - "Does the Website field contain a valid URL?" .