|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano Provincia
Messaggi: 376
|
[PHP] Controllo struttura e-mail
Ho fatto il controllo (lato client) per la struttura della mail ([email protected])
Questo è il codice: Codice:
var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
if (!espressione.test(modulo.email.value)) {
alert("ATTENZIONE: e-mail non valida!")
modulo.email.focus()
return false
}
Codice:
if (($username == '') || ($sesso == '') || ($giorno == '') || ($mese == '') || ($anno == '') || ($email == '') || ($pass == '') || ($pass2 == '')) { echo "Non hai compilato tutti i campi."; }
else {
if ((strlen($username) < '4') || (strlen($username) > '16')) { echo "Errore lunghezza username"; }
else {
if ((strlen($pass) < '6') || (strlen($pass) < '6')) { echo "Errore lunghezza password"; }
else {
if ($pass != $pass2) { echo "Password non coincidono"; }
}
}
}
Inoltre potete dirmi se mancano dei controlli, oppure se si possono ottimizzare quelli che ho già fatto... Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano Provincia
Messaggi: 376
|
ho risolto cosi la questione della validità della mail:
Codice:
if (($username == '') || ($sesso == '') || ($giorno == '') || ($mese == '') || ($anno == '') || ($email == '') || ($pass == '') || ($pass2 == '')) { echo "Non hai compilato tutti i campi."; }
else {
if ((strlen($username) < '4') || (strlen($username) > '16')) { echo "Errore lunghezza username"; }
else {
if (!ereg('^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)*\.([a-zA-Z]{2,6})$', $_POST['email'])) { echo "email non valida"; }
else {
if ((strlen($pass) < '6') || (strlen($pass) > '16')) { echo "Errore lunghezza password"; }
else {
if ($pass != $pass2) { echo "Password non coincidono"; }
}
}
}
}
grazie |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
|
I controlli sono apposto, ma il tuo script funzionerebbe pure se l'utente mettesse come username o come password una sfilza di spazi vuoti.
Probabilmente non è quello che vuoi, pertanto un ereg sul nome e uno sulla pass potrebbero essere un'utile aggiunta. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano Provincia
Messaggi: 376
|
ho riprovato a fare la registrazione e funziona tutto perfettamente... ma mi viene visualizzato questo errore:
Deprecated: Function ereg() is deprecated in C:\Program Files (x86)\EasyPHP5.3.0\www\VirtuaLovers\registra.php on line 29 cosa puo essere? |
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
|
Basta tradurre il termine "deprecated" per capirlo...
Se vedi il sito PHP.net dicono chiaramente che ereg è una funzione vecchia soppiantata da preg_match. Tutto qui. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:57.



















