Tips and Tricks

Home | Tips and Tricks | Art. # 47

Validare un indirizzo email con PHP

Registrazione Domini
Registrazione Domini Internet ai prezzi più bassi d'Europa: soli 5,40 euro più IVA all'anno!

Nell'ambito dell'utilizzo dei moduli nelle pagine Web capita spesso di chiedere all'utente, all'atto della compilazione del modulo stesso, di specificare il proprio indirizzo email ed è importante controllare che l'indirizzo venga scritto in maniera corretta, quindi secondo la forma:

nome@servizio.estensione

Questa pratica viene identificata come validazione dell'indirizzo email.

In PHP è possibile svolgere questo controllo con le espressioni regolari attraverso la funzione predefinita ereg(), booleana, la cui sintassi è la seguente:

ereg(espressione_regolare, stringa_da_valutare)

Nel caso della validazione di un indirizzo email con PHP conviene, essendo una pratica che capita di utilizzare in più punti di un unico sito, creare una funzione unica, da inserire nel file di configurazione del sito, e richiamarla all'occorrenza.

Creiamo dunque la funzione personalizzata is_email() che sarà composta dal seguente codice:

<?
    function is_email($email_to_test)
    {
        $re  = "^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])";
        $re .= "+(\.[a-zA-Z0-9_-]+)*\.([a-zA-Z]{2,6})$";
        if (ereg($re, $email_to_test))
        {
            return TRUE;
        }
        else
        {
            return FALSE;
        }
    }
?>

La funzione sarà parametrizzata ed accetterà come valore la stringa da valutare, ovvero l'indirizzo email. La variabile $re (che può essere scritta su di una sola riga) contiene l'espressione regolare di un indirizzo email e viene mandata in pasto alla funzione ereg() che in seconda battuta valuta la stringa passatale.

La nostra funzione personalizzata restituirà TRUE o FALSE a seconda che l'indirizzo email sia valido o meno.

Vediamo adesso come utilizzarla in fase do controllo di un modulo:

<?
    if (is_email("indirizzo@corretto.ext") == TRUE)
    {
        echo "Email valida!";
    }
    else
    {
        echo "Email NON valida!";
    }
?>

Valutando la stringa:

indirizzo@corretto.ext

la funzione restituirà il messaggio di successo. Qualora venisse inviata un'email scorretta dal punto di vista della sola forma, la funzione restituirà il messaggio di errore.

 

Scritto in data 10/02/2008

Segnalalo ad un Amico | Aggiungilo ai Preferiti

© 2008 Appunti PHP - A cura di Luca Ruggiero - Partita IVA 05564851219 - Privacy | Pubblicità | Contatti