|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
|
[PHP] Controllo su form
Eccomi qui con l'ennesimo problema:
Come posso controllare che i caratteri inseriti in una form corrispondano alla struttura di una email ([email protected])? La form utilizzata è il classico <input type=text" |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
http://www.smartwebby.com/dhtml/email_validation.asp
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
|
Sarebbe molto meglio una espressione regolare. Se intendi da javascript, eccola:
Codice:
<script language="javascript">
function checkEmail() {
var email = document.getElementById('emailaddress');
var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value)) {
alert('Please provide a valid email address');
email.focus
return false;
}
}
</script>
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
|
Quote:
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 558
|
Ogni browser degno di questo nome permette di disattivare javascript se si vuole. Se non controlli lato server rischi di far finire roba pericolosa (ad esempio script javascript) nel database
|
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
|
Dunque, conviene farlo solo lato server
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
|
Quindi tutti i controlli che ho fatto lato client (controllo sui campi vuoti, password diverse e mail diverse) dovrei farli anche lato server?
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
|
Per questioni di sicurezza sì, a meno che non imponi l'utilizzo di Javascript per poter accedere.
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
|
|
|
|
|
|
|
#10 |
|
Bannato
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
|
Beh, uno dei modi potrebbe essere quello di preparare una DIV col messaggio in cui richiedi il Javascript e la metti al posto della form di login.
Quindi, nell'header del tuo file metti un'istruzione Javascript che cancella questa DIV, così la vede solo chi non ha Javascript, mentre gli altri vedranno direttamente la form della login. |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
|
Quote:
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano Provincia
Messaggi: 376
|
Codice:
<script language="javascript">
function checkEmail() {
var email = document.getElementById('emailaddress');
var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value)) {
alert('Please provide a valid email address');
email.focus
return false;
}
}
</script>
Codice:
<input type="text" name="email" style="width: 230px"/> Grazie |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
|
document.getElementById('emailaddress') deve avere l'id del tuo campo email (che non hai settato). Il campo deve specificarela funzione OnSumit da invocare (quando viene appunto inviato il form) con quella che fa il check dell'email.
|
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
il controllo lato client lo fai subito nella pagina del form, mentre il controllo lato server lo fai nella pagina php, chiaramente..
serve perchè se una persona non abilita il javascript potrebbe anche passare il controllo se è solo client-side... ti posto un controllo lato client javascript: Codice:
<script type="text/javascript">
function controllo()
{
var nome;
var pw;
var flag=1;
nome=document.form.nome.value;
pw=document.form.pw.value;
if(nome=="")
{
flag=0;
alert("campo nome vuoto!");
}
if(pw=="")
{
flag=0;
alert("campo pw vuoto!");
}
if(flag!=1)
{
document.form.action="form_login.html";
}
else
{
alert("dati inviati");
document.form.submit();
}
}
</script>
<body>
<form action="controllo.php" method="post" name="form" onsubmit="controllo()" enctype="multipart/form-data">
<table border="2" align="center">
<tr><td>Inserire nome</td><td><input type="text" name="nome"></td></tr>
<tr><td>Inserire pw</td><td><input type="password" name="pw"></td></tr>
<td align="center" colspan="2"><input type="submit" value="Accedi"></td>
</table>
</form>
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Milano Provincia
Messaggi: 376
|
Codice:
<script language="javascript">
function checkEmail() {
var email = document.getElementById('email');
var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value)) {
alert('Please provide a valid email address');
email.focus
return false;
}
}
</script>
puoi farmi l'esempio con il mio caso? |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Il controllo va fatto sia lato client che lato server, o al limite solo lato server.
Ma farlo solo lato client equivale a non farlo... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:03.












ho concluso con: kvegeta, doctordb, Leland Gaunt.








