Home / Programmazione / PHP / Validazione email con PHP
Mattepuffo

Validazione email con PHP

Validazione email con PHP

Oggi vediamo come validare le email con PHP, ma senza usare Regex.

Useremo la funzione filter_var(), che richiede come minimo due argomenti:

  • il valore da validare
  • il tipo di filtro

Con questa funzione possiamo in verità validare molti tipi di dato diversi.

Vediamo come possiamo usare il tutto per validare le email.

Prima di tutto il nostro form:

       <form action="#" id="frm_email_amici" method="post">
            <dl>
                <dt><label for="emailam">Email:</label></dt>
                <dd><input type="text" name="email" value="" /></dd>
            </dl>
            <dl>
                <dd><input type="submit" value="Send" name="btn_email" /></dd>
            </dl>
        </form>

Un semplice form con una input text e un bottone.

 

La parte in PHP che si occupa del resto:

     <?php
        if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['btn_email_amici'])) {
            $emailSended = $_POST['email'];
            require_once 'lib/phpmailer.inc.php';
                if (!empty($emailSended)) {
                    if (!filter_var($emailSended, FILTER_VALIDATE_EMAIL)) {
                        echo 'Email non valida<br/>';
                    } else {
                        echo 'Email valida<br/>';
                    }
                }
           }
      ?>

Prima controlliamo che la textbox non sia vuota.

Se non lo è controlliamo il suo contenuto con filter_var().

Alla funzione passiamo il valore della textbox e il tipo di filtro: FILTER_VALIDATE_EMAIL.

Ci penserà il filtro a controllare la validità della forma.

In questo modo scriviamo meno codice e abbiamo meno margini di errori rispetto all'uso di Regex & co.

Qui potete trovare la documentazione su filter_var(), mentre qua i vari tipi di filtro esistenti.