PHP Form Validation - Campo obbligatorio
- Pagina precedente Validazione del modulo PHP
- Pagina successiva Form PHP URL/E-mail
Questa sezione mostra come creare campi di input obbligatori e creare messaggi di errore necessari.
PHP - Campo di input
Dalle regole di validazione della sezione precedente, vediamo che i campi "Nome", "Email" e "Genere" sono obbligatori. Questi campi non possono essere vuoti e devono essere compilati nell'HTML del modulo.
Campo | Regole di validazione |
---|---|
Nome | Obbligatorio. Deve contenere lettere e spazi. |
Obbligatorio. Deve contenere un indirizzo email valido (che include @ e .). | |
Sito web | Opzionale. Se compilato, deve contenere un URL valido. |
Commento | Opzionale. Campo di input a multilinea (casella di testo). |
Genere | Obbligatorio. È necessario selezionare un'opzione. |
Nella sezione precedente, tutti i campi di input erano opzionali.
Nel codice seguente, abbiamo aggiunto alcune nuove variabili: $nameErr, $emailErr, $genderErr e $websiteErr. Queste variabili di errore salvano i messaggi di errore dei campi richiesti. Abbiamo anche aggiunto un if else per ogni variabile $_POST. Questa istruzione verifica se il variabile $_POST è vuoto (attraverso la funzione PHP empty()). Se è vuoto, il messaggio di errore viene memorizzato in variabili di errore diverse. Se non è vuoto, l'input utente viene inviato tramite la funzione test_input():
<?php}} // Definire variabili e impostare valori vuoti $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Il nome è obbligatorio"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "L'email è obbligatoria"; } 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 = "Il genere è obbligatorio"; } else { $gender = test_input($_POST["gender"]); } } ?>
PHP - Mostra messaggi di errore
In un modulo HTML, aggiungiamo un po' di script dietro ogni campo richiesto. Se necessario, viene generato un messaggio di errore appropriato (se l'utente tenta di inviare il modulo senza aver compilato i campi obbligatori):
Esempio
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Nome: <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> Sito web: <input type="text" name="website"> <span class="error"><?php echo $websiteErr;?></span> <br><br> <label>Commento: <textarea name="comment" rows="5" cols="40"></textarea></label> <br><br> Sesso: <input type="radio" name="gender" value="female">Femmina <input type="radio" name="gender" value="male">Maschio <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Invia"> </form>
Ecco la verifica dei dati di input, ovvero “Il campo Nome contiene solo lettere e spazi?” e “Il campo E-mail contiene una sintassi di indirizzo e-mail valida?” e se è stato compilato il campo Website, “Questo campo contiene un URL valido?”.
- Pagina precedente Validazione del modulo PHP
- Pagina successiva Form PHP URL/E-mail