- Home
- Categorie
- Coding e Sistemistica
- PHP
- registrazione e-mail
-
registrazione e-mail
ciao a tutti :-)))
ho un programma in php per l'invio di newsletter e funziona correttamente.
L'unico problema che non riesco a risolvere, risiede nel fatto che quando dal form
sul sito provo ad iscrivermi alla newsletter con un indirizzo e-mail che ha un punto esempio
[email protected] mi dice "Invalid address" e non me lo registra..con gli altri indirizzi senza punto è tutto OK. come mai?Vi posto la parte di codice che secondo me è coinvolta in questo problema:
(secondo me è la riga $expression = che va corretta per fargli accettare anche gli indirizzi con il punto...ma come?)function add_email(){
global $email, $header, $reply_email;
$expression = "^[_A-Za-z0-9-]+@[_A-Za-z-]+(.[A-Za-z]+)(.[A-Za-z]+)*$";
if(empty($email)){
error("Please fill in all fields!");
}
if(!ereg("$expression",$email)) {
error("Invalid address");
}fatemi sapere
Ciao e GRAZIE
-
Io uso la seguente espressione regolare per validare i campi email:
[php]
$expression = "^[\w.-]+@\w+[\w.-]*?.\w{1,3}$";
[/php]
-
ciao Satifal e grazie innanzitutto per la pronta risposta.
Ho provato a sostituire la mia espressione con quella che mi hai gentilmente postato ma mi da il seguente messaggio di errore:Warning: ereg() [function.ereg]: REG_BADRPT in /test/test/test/newsletter/add_unsub.php on line 2
-
Allora ti posto la funzione completa che utilizzo io:
[PHP]
function chkEmail($email) {
$email = trim($email);
if ($email != "") {
if (preg_match( '/^[\w.-]+@\w+[\w.-]*?.\w{1,3}$/', $email)) {
return true;
}
}
return false;
}
[/PHP]
-
grazie Satifal, così funziona benissimo.
sei un amico, grazie ancora per la gentilezza! :-)))a presto