PHP Form Validation - Verifica Email e URL
- Pagina precedente Modulo PHP obbligatorio
- Pagina successiva Completa il modulo PHP
Questa sezione mostra come verificare il nome, l'email e l'URL.
PHP - Verifica Nome
Il seguente codice mostra un metodo semplice per verificare se il campo nome contiene lettere e spazi. Se il campo nome è non valido, viene memorizzato un messaggio di errore:
$name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Sono ammesse solo lettere e spazi!"; }
Commento:La funzione preg_match() ricercano lo schema nella stringa, se lo schema esiste restituisce true, altrimenti restituisce false.
PHP - Verifica Email
Il seguente codice mostra un metodo semplice per verificare la sintassi di un indirizzo email. Se l'indirizzo email è non valido, viene memorizzato un messaggio di errore:
$email = test_input($_POST["email"]); if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "Formato email non valido!"; }
PHP - Verifica URL
Il seguente codice mostra un metodo per verificare la sintassi di un indirizzo URL. Se l'indirizzo URL è non valido, viene memorizzato un messaggio di errore:
$website = test_input($_POST["website"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%", =~_|]/i,$website)) { $websiteErr = "URL non valida"; }
PHP - Verifica Nome, Email e URL
Ora, lo script è il seguente:
Esempio
<?php // Definisci le variabili e imposta i valori a vuoto $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Il nome è obbligatorio"; } $name = test_input($_POST["name"]); // Verifica se il nome contiene lettere e spazi if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Sono ammesse solo lettere e spazi"; } } if (empty($_POST["email"])) { $emailErr = "L'email è obbligatoria"; } $email = test_input($_POST["email"]); // Verifica la sintassi dell'indirizzo email if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "Invalid email format"; } } if (empty($_POST["website"])) { $website = ""; } $website = test_input($_POST["website"]); // Verifica che l'indirizzo URL sia valido (questa espressione regolare consente anche gli underscore negli URL) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%", =~_|]/i,$website)) { $websiteErr = "Invalid URL"; } } if (empty($_POST["comment"])) { $comment = ""; } $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "Gender is required"; } $gender = test_input($_POST["gender"]); } } ?>
Vi spiegherò come prevenire che il modulo svuoti tutti i campi di input dopo che l'utente ha inviato il modulo.
- Pagina precedente Modulo PHP obbligatorio
- Pagina successiva Completa il modulo PHP