Ciao a tutti
ho un problema ad di inviare tramite un form in flash una email usando uno script PHP che risiede su un server diverso da quello in cui è ospitato il movie.
All'indirizzo del tipo http://dominio1.com/form.swf ho il form con dei campi dinamici di testo istanziati nome, email, messaggio e lo script che usa l'ogetto sendAndLoads in questo modo:
codice:
// questo codice è in un swf su http://www.dominio1.it/
var invia = new LoadVars();
invia.nome = _root.nome;
invia.email = _root.email;
invia.messaggio = _root.messaggio;
invia.path = this;
invia.onLoad = function(success) {
if (success) {
avviso = this.risposta;
this.path.gotoAndPlay("inviato");
} else {
avviso = "Impossibile inviare i dati";
this.path.gotoAndPlay("inviato");
}
};
invia.sendAndLoad("http://www.dominio2.it/email.php", invia , "POST");
mentre di il codice PHP richiamato nel file residente sull'altroserver è:
codice:
<?php
// questo file si chiama email.php è localizzato in http://www.dominio2.it/
$destinatario = "lamiaemail@dominio.it";
$da = $_POST['nome'];
$email = $_POST['email'];
$messaggio = $_POST['messaggio'];
$successo=$_POST['successo'];
$oggetto = "Richiesta informazioni";
$msg = "";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "To: ".$destinatario."\r\n";
$headers .= "From: ".$da." <".$email.">\r\n";
$headers .= "Return-Path: ".$email."\n";
if (mail($destinatario, $oggetto, $messaggio, $headers)){
$msg = "GRAZIE per aver scritto.";
echo "&risposta=".$msg;
} else {
$msg = "Errore nell'invio";
echo "&risposta=".$msg;
}
?>
Ora, l'email parte e nel filmato in flash mi ritorna il messaggio "GRAZIE per aver scritto" generato dalla pagina PHP.
L'email di fatto arriva ma è vuota: le variabili 'da', 'email' e 'messaggio' pare non vengano passate dal movie al PHP (mentre è vero il viceversa poichè mi ritorna la variabile 'risposta' nel filmato)
Se posiziono SWF e PHP su uno stesso server allora funziona tutto correttamente.
E' un problema di passaggio di variabili?
Grazie anticipatamente