-
Form Mail
Ciao a tutti. Sto inserendo sul mio sito un form mail. Non mi funziona. Tutte le volte che finisco di compilare i moduli(nome,email,ecc ecc) mi da il messaggio l'email non è stata inviata.
Vi allego il codice del file php:
<?
if(isset($_POST['flashMAIL'])){
//////////////////////////////////////////////
$nome = htmlspecialchars(stripslashes(utf8_decode(trim($_POST['nome']))),ENT_QUOTES);
$email = htmlspecialchars(stripslashes(utf8_decode(trim($_POST['email']))),ENT_QUOTES);
$oggetto = htmlspecialchars(stripslashes(utf8_decode(trim($_POST['oggetto']))),ENT_QUOTES);
$msg = nl2br(stripslashes(utf8_decode(trim($_POST['msg']))));
$msg = str_replace("<br />","",$msg);
$msg = htmlspecialchars($msg,ENT_QUOTES);
$msg = str_replace("","<br />",$msg);$page = "localhost"; $to = "miamail"; ////////////////////////////////////////////// $messaggio =' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head> <title>'.$page.'</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> body {margin:0px;padding:0px;} table {width: 100%;font-family:Verdana, Arial, Helvetica, sans-serif;} .tdSX {width:40%;font-size:13px;color:#333333;} .tdDX {width:60%;font-size:13px;color:#000066;} #titolo {width: 100%;font-size:14px;color:#003366;text-decoration:underline;} </style> </head><body><table> <tr><td colspan="2"> </td></tr><tr><td align="center" class="tdSX">Nome:</td> <td align="center" class="tdDX">'.$nome.'</td></tr> <tr><td align="center" class="tdSX">E-mail:</td><td align="center" class="tdDX">'.$email.'</td></tr> <tr><td align="center" class="tdSX">messaggio:</td><td align="center" class="tdDX">'.$msg.'</td></tr> </table></body></html>'; $intestazioni = "MIME-Version: 1.0\r\n"; $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n"; $intestazioni .= "To: ".$to."\r\n"; $intestazioni .= "From: ".$nome." <".$email.">\r\n"; $intestazioni .= "Return-Path: ".$nome."\n"; if (mail($to, $oggetto, $messaggio, $intestazioni)) { print "ris=ok"; } else { print "ris=error"; }
} else {
print "ris=error";
}
?>Questo la stringa in FLASH:
cancella.onRelease = function() {
for (i=0; i<campi.length; i++) {
eval(campi*).text = "";
}
};
invio.onRelease = function() {
dati = new LoadVars();
campiVuoti = false;
for (i=0; i<(campi.length-1); i++) {
if (eval(campi*).text == "") {
campiVuoti = true;
break;
}
dati[campi*] = eval(campi*).text;
}
if (!campiVuoti) {
dati.flashMAIL = true;
dati.onLoad = function(ok) {
if (ok) {
if (this.ris == "ok") {
esito.text = "L'e-mail è stata inviata correttamente";
for (i=0; i<(campi.length-1); i++) {
eval(campi*).text = "";
}
} else {
esito.text = "L'e-mail non è stata inviata";
}
} else {
esito.text = "Errore durante l'invio dei dati";
}
};
dati.sendAndLoad("sendmail.php", dati, "POST");
} else {
delete dati;
esito.text = "Tutti i campi sono obbligatori";
}
};
cancella.onRollOver = function() {
this.nextFrame();
};
cancella.onRollOut = cancella.onReleaseOutside=function () {
this.prevFrame();
};
invio.onRollOver = function() {
this.nextFrame();
};
invio.onRollOut = invio.onReleaseOutside=function () {
this.prevFrame();
};Dove sbaglio?!
Grazie anticipatamente!!!
Nico
ps miamail è sostitutivo della mia email... Non è quello l'errore...
-
Ciao Nicosour e benvenuto sul forum gt,
Domanda: il messaggio 'email non è stata inviata' viene restituito anche se l'email viene mandato o no?
-
Ciao!
No, non viene spedita l'email...
Qualche idea su cosa non funzioni?
Grazie
Nico
-
Scusa, ma di php non ci capisco quasi nulla e non sarei capace dirti cosi se l'errore sta nel php o il flash.:D
Comunque, l'actionscript postato mi ricorda molto quello usato in questo tutorial, potrebbe iniziare da la se non trova una risposta al tuo problema.
http://www.sephiroth.it/tutorials/flashPHP/email/index.php