Validare un indirizzo email

  • Creatore Discussione Creatore Discussione Athene
  • Data di inizio Data di inizio

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
Ciao ^^

Durante la costruzione del mio script php ( per renderlo più accativante per il prof XD) sto tentando d'inserire il codice per la validazione della email usando la funzione eregi() nel seguente modo :

PHP:
<?php

if (strlen($_POST['nome'] && $_POST['cognome'])==0 ){ //validazione  della correttezza del tipo del parametro $_POST['nome'] e $_POST['cognome']

  exit ("I parametri nome e cognome sono  obbligatori");
}

echo'</br>';

 if (!eregi("^[a-z0-9][_.a-z0-9-]+@([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})", $_POST['email']))
    {
        echo "Indirizzo email NON valido";
    }
    else
    {
        echo "Indirizzo email valido";
    }

if(isset($_POST['sottomissione'])){ 
    unset($_POST['sottomissione']);// se non elimino tale varibile prima del foreach viene ciclata e stampata nella tabella//
    echo "<table width=\"50%\"  border=\"2\" cellspacing=\"2\" cellpadding=\"2\">";//ho modificato i parametri originali dati x la tabella//
    foreach($_POST as $nome_campo => $valore_campo){ //* in questo caso la variabile $_POST (array superglobale) è composta da : $_POST['nome']..$_POST['cognome'] ecc..Essendo già associativo non serve fare nulla ma se si vuole mostare tale array associativo è necessario scrivere $nuovoarray=$_POST; (DOPO UNSET())*//
        echo"<tr><td>$nome_campo</td><td> $valore_campo</td></tr>";
    }
    echo "</table>";
}
?>


e quando vado a provare mi dà questo tipo d errore : Deprecated: Function eregi() is deprecated in line 10 indirizzo email valido ( anche se l'indirizzo era ovviamente sbagliato) ...Non capisco dove ho sbagliato :confused:
 
ciao
la funzione eregi è deprecata non si deve più usare, dovresti usare la preg_match(), comunque per validare un indirizzo email usa questo
PHP:
<?php
//....
	$email=filter_var($email, FILTER_SANITIZE_EMAIL);
	if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
		//indirizzo errato
	}else{
		//indirizzo giusto
	}
//...
?>
 

Discussioni simili