Salve,
io ho un form mail in php
però vorrei inserire un controllo campi vuoti
e un controllo email valida
grazie in anticipo....
Salve,
io ho un form mail in php
però vorrei inserire un controllo campi vuoti
e un controllo email valida
grazie in anticipo....
Allora..
Alè!Ti dice anche che errori fai :)Codice PHP:
<?
$email = $_POST['mail']; #Il campo mail del form con nome mail
$dest = $_POST['dest']; #Il campo mail del destinatario con nome dest
$messaggio = $_POST['messaggio']; #Il campo textarea per il mex con nome messaggio
#CONTROLLI
if(!eregi("([^@]+)@([^\.]+)\.[a-z0-9]{2,6}",$email)){
$err[] = "La tua e-mail non è valida!";
}
if(!eregi("([^@]+)@([^\.]+)\.[a-z0-9]{2,6}",$dest)){
$err[] = "L'e-mail del destinatario non è valida!";
}
if(trim($messaggio) == "") {
$err[] = "Devi compilare il campo del messaggio!";
}
if(!$err) {
if(mail($dest,"Oggetto",$messaggio,"From:$email") ) {
echo "E-Mail inviata a $dest !";
}
}else{
foreach($err as $errore) {
echo $errore."<br />";
}
}
Ultima modifica di Leo91 : 29-06-2006 alle ore 13.36.16
si funziona, il messaggio compare ma l'email viene inviata comunque
Scusa non ho capito. . .Originalmente inviato da mondoragazzi3000
EDIT: Osp non avevo chiuso una graffa...adesso va!
volevo dire che,
compare soltanto il messaggio: devi compilare...
però l'email viene inviata comunque
EDIT: ultima cosa, volevo chiederti cosa serve questa parte.
Dimenticavo: fa ancora lo stesso errore, invia lo stesso la mailCodice PHP:
if(!$err) {
if(mail($dest,"Oggetto",$messaggio,"From:$email") ) {
echo "E-Mail inviata a $dest !";
}
}else{
foreach($err as $errore) {
echo $errore."<br />";
}
}
FunCool: Non fare UP, usa il tasto Edita. Quando scrivi del codice inseriscilo tra i tag appositi.
Ultima modifica di funcool : 30-06-2006 alle ore 09.02.27
Quel pezzo controlla che non ci siano errori...Originalmente inviato da mondoragazzi3000
se non ci sono invia la mail, altrimenti fa vedere gli errori! asp che controllo...
P.S.: Aggiungi un ?> alla fine del codice
Ma io da quello script che avevi scritto tu io ho copiato soltanto la parte per controllare gli errori nel mio form e io nel mio form avevo già chiuso con ?>Originalmente inviato da Leo91
e ancora non funziona, anche se i campi sono vuoti invia comunque la mail
invece di if(!$err) prova a mettere if($err[0] == "") {
EDIT:
Questo mi funziona al 100%... se usi hotmail prova a guardare tra la posta indesiderata...controlla bene i nomi degli input del form!!!!Codice PHP:
<?
$email = $_POST['mail']; #Il campo mail del form con nome mail
$dest = $_POST['dest']; #Il campo mail del destinatario con nome dest
$messaggio = $_POST['messaggio']; #Il campo textarea per il mex con nome messaggio
#CONTROLLI
if(!eregi("([^@]+)@([^\.]+)\.[a-z0-9]{2,6}",$email)){
$err[] = "La tua e-mail non è valida!";
}
if(!eregi("([^@]+)@([^\.]+)\.[a-z0-9]{2,6}",$dest)){
$err[] = "L'e-mail del destinatario non è valida!";
}
if(trim($messaggio) == "") {
$err[] = "Devi compilare il campo del messaggio!";
}
if($err[0] == "") {
if(mail($dest,"Oggetto",$messaggio,"From:$email") ) {
echo "E-Mail inviata a $dest !";
}
}else{
foreach($err as $errore) {
echo $errore."<br />";
}
}
?>
Ultima modifica di Leo91 : 29-06-2006 alle ore 14.15.04
Pero' ti conviene copiare tutto lo script non solo una parte. Per questo forse non ti funziona. Perchè il comando mail lo hai messo nel tuo codice senza inserirlo nel codice if,, cosi' come ti ha scritto nell'esempio
grazie a tutti, ora tutto funziona!!!!!
Visto che risolto, chiudo.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen