Validazione dei dati in PHP – Parte 2 di 2

Posted on febbraio 25, 2009
Filed Under Form Email | Leave a Comment

Dopo aver compreso la funzionalita’ di filter_var realizziamo un semplice form con validazione dei dati ed invio di una mail di conferma che includera’:
- nome
- email
- Home Page
- Messaggio

Una volta che tutti i dati saranno stati corretti e validati verra’ inviata una mail di conferma all’indirizzo inserito.

Il primo passo e’ la creazione del form:
<form name=”modulo” method=”post”>
Nome: <br/>
<input type=”text” name=”nome” value=”<?php echo $nome; ?>” size=”50″ /><br/><br/>
Email: <br/>
<input type=”text” name=”email” value=”<?php echo $email; ?>” size=”50″/> <br/><br/>
Home Page: <br/>
<input type=”text” name=”url” value=”<?php echo $url; ?>” size=”50″ /> <br/><br/>
Messaggio: <br/>
<textarea name=”msg” rows=”5″ cols=”50″><?php echo $msg; ?></textarea>
<br/>
<input type=”submit” name=”Submit” />
</form>

In testa al form dovra’ essere inserito il seguente codice PHP:
<?php
$errori = “”;    // Ci verranno inseriti gli errori da mostrare a video…

isset($_POST['nome']) ? $nome = $_POST['nome'] : $nome = “”;
isset($_POST['email']) ? $email = $_POST['email'] : $email = “”;
isset($_POST['url']) ? $url = $_POST['url'] : $url = “”;
isset($_POST['msg']) ? $msg = $_POST['msg'] : $msg = “”;

if (strlen($nome)>0)
$nome = filter_var($nome, FILTER_SANITIZE_STRING);
if ($nome == “”)
$errori .= ‘Inserire un nome valido.<br/><br/>’;

if (strlen($email)>0)
{
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$errori .= “$email non e’ un indirizzo mail valido<br/><br/>”;
}
if ($email == “”)
$errori .= “Indirizzo mail non valido o non presente<br/><br/>”;

if (strlen($url)>0)
{
$url = filter_var($url, FILTER_SANITIZE_URL);
if (!filter_var($url, FILTER_VALIDATE_URL))
$errori .= “$url non e’ un URL valido<br/><br/>”;
}
if ($url == “”)
$errori .= “URL non presente o non valido<br/><br/>”;

if (strlen($msg)>0)
$msg = filter_var($msg, FILTER_SANITIZE_STRING);
if ($msg == “”)
$errori .= ‘Inserire il messaggio da inviare.<br/><br/>’;

// Controllo gli errori…
if (strlen($errori) > 0)
echo ‘<div style=”color: red”>’ . $errori . ‘<br/></div>’;
else
{
$destinatario = ‘info@freescriptphp.com’;    // Da cambiare in base alle esigenze
$subject = ‘Mail dal form’;
$message  = ‘From: ‘.$nome.”\n”;
$message .= ‘Email: ‘.$email.”\n”;
$message .= ‘Homepage: ‘.$url.”\n”;
$message .= “Message:\n”.$msg.”\n\n”;
mail($destinatario, $subject, $message);
}
?>

Others Script adv

Leave a Reply