Cia ragazzi come va?
Come al solito avrei bisogno di una mano, ho un form flash + php e devo inserire un checkbox ma non so come richiamarlo nel codice.
L'action script è:
Mentre il php è:codice:errore_invio._alpha = 0; errore_server._alpha = 0; errore_mail._alpha = 0; notifica_inviato._alpha = 0; // creo una funzione per il fadeIn/fadeOut degli avvisi MovieClip.prototype.fadeAlpha = function(to:Number) { var t:Object = new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.None.easeNone, this._alpha, to, 1, true); t.path = this; t.onMotionFinished = function() { this.path.onFadeDone(); }; }; // creo una funzione che verifica che il campo richiamato sia stato riempito e non contenga spazi vuoti var validate = function (mail_field:String):Boolean { var temp = this[mail_field].text.split(" ").join(""); var r:Boolean = (temp.length<=0) ? false : true; return r; }; // creo la funzione di verifica per il campo mail var checkMail:Function = function (target:MovieClip, nameField:String):Boolean { var temp:String = target[nameField].text; temp = temp.split(" ").join(""); if (temp.length>0) { if (temp.lastIndexOf("@")>-1) { var temp2 = temp.split("@"); if (temp2[1].length>5) { var temp3 = temp2[1].split("."); if (temp3[0].length>2 && temp3[1].length>1) { return (true); } return (false); } return (false); } return (false); } return (false); }; // creo una funzione che viene richiamata al tentativo di invio var alert_report:Function = function (c:Number) { switch (c) { // // case 0 -> il primo caso viene richiamato se l'invio è avvenuto correttamente case 0 : notifica_inviato.onFadeDone = function() { this.onFadeDone = undefined; var intv = setInterval(function () { notifica_inviato.fadeAlpha(0); clearInterval(intv); }, 1000); }; notifica_inviato.fadeAlpha(100); break; // // case 1 -> il secondo caso viene richiamato se i campi obbligatori non sono stati compilati case 1 : errore_invio.onFadeDone = function() { this.onFadeDone = undefined; var intv = setInterval(function () { errore_invio.fadeAlpha(0); clearInterval(intv); }, 1000); }; errore_invio.fadeAlpha(100); break; // // case 2 -> il terzo caso viene richiamato se il server non risponde o se la mail non viene inviata correttamente case 2 : errore_server.onFadeDone = function() { this.onFadeDone = undefined; var intv = setInterval(function () { errore_server.fadeAlpha(0); clearInterval(intv); }, 1000); }; errore_server.fadeAlpha(100); break; case 3 : errore_mail.onFadeDone = function() { this.onFadeDone = undefined; var intv = setInterval(function () { errore_mail.fadeAlpha(0); clearInterval(intv); }, 1000); }; errore_mail.fadeAlpha(100); break; } }; // creo un array che mi contenga tutti i nomi dei campi di testo che intendo inviare via mail var campi:Array = new Array("societa", "nome", "cognome", "indirizzo", "citta", "prov", "cap", "tel", "fax", "cell", "mail", "contattare", "messaggio"); // e un altro array che contiene i nomi dei campi obbligatori var campiObbligatori:Array = new Array("nome", "cognome", "indirizzo", "citta", "prov", "cap", "tel", "mail"); // entrambi gli array appena creati devono essere riproposti in php secondo le istruzioni del file PHP // // restringo l'immissione di caratteri nel campo mail a quelli necessari this["mail"].restrict = "^ "; // attivo il TAB per i campi for (var i = 0; i<campi.length; i++) { var l:Number = i+1; this[campi[i]].tabIndex = l; } // attivo l'invio della mail sul pulsante "invia_form" invia_form.onRelease = function() { // creo il LoadVars per la comunicazione con il file PHP var lv_sendMail:LoadVars = new LoadVars(); // avvio un ciclo che mi verifica se i campi obbligatori sono riempiti // in caso positivo invia i dati al file PHP // in caso negativo attiva l'alert_report -> case 1 for (var m = 0; m<campi.length; m++) { if (campiObbligatori.toString().indexOf(campi[m])>=0) { if (validate(campi[m])) { if (campi[m] != "mail") { lv_sendMail[campi[m]] = this._parent[campi[m]].text; } else { if (checkMail(this._parent, campi[m])) { lv_sendMail[campi[m]] = this._parent[campi[m]].text; } else { alert_report(3); break; } } } else { alert_report(1); break; } } else { lv_sendMail[campi[m]] = this._parent[campi[m]].text; } // alla fine delle verifiche, se è tutto apposto, invio i dati if (m>=campi.length-1) { lv_sendMail.sendAndLoad("sendmail.php", lv_sendMail, "POST"); } } // compilo l'evento onLoad della classe LoadVars che mi verifica se l'invio è andato a buon fine o meno // nel caso sia stata inviata attiva l'alert_report -> case 0 // altrimenti attiva l'alert_report -> case 2 (errore del server) lv_sendMail.onLoad = function(ok) { if (ok) { if (this.report == "OK") { alert_report(0); reset_form.onRelease(); } else { alert_report(2); } } else { alert_report(2); } }; }; // il tasto "reset_form" si occupa di svuotare i campi del form reset_form.onRelease = function() { for (var r = 0; r<campi.length; r++) { this._parent[campi[r]].text = ""; } };
Ho provato ad inserirlo nella lista di campi ma nella mail che poi mi arriva nel campo del checkbox c'è scritto undefined...codice:<? if(!empty($_POST)){ // valori da modificare $address = "xxx@yyyyy.it"; // inserire qui tra le "" la mail a cui va inviato il messaggio $site = "http://..."; // facoltativo, potete inserire qui il nome del sito $object = "Invio mail dal sito $site"; // oggetto // // i valori dei due array che seguono vanno modificati in base a quelli presenti negli array con lo stesso nome, nello script di flash $campi = array("societa", "nome", "cognome", "indirizzo", "citta", "prov", "cap", "tel", "fax", "cell", "mail", "contattare", "messaggio"); $campiObbligatori = array("nome", "cognome", "indirizzo", "citta", "prov", "cap", "tel", "mail"); // // non modificare lo script al di sotto di questa riga //---------------------------------------------------------------// $body = ""; $headers = ""; $o = (object) ''; $s = implode(",", $campiObbligatori); foreach($campi as $value) { $o->$value = (isset($_POST[$value])) ? $_POST[$value] : NULL; } foreach($campi as $value){ if(substr_count($s, $value) > 0 && is_null($o->$value)){ echo "&report=KO&"; break; } else { if(!is_null($o->mail) && $o->$value == $o->mail){ $headers.= "From: <".$o->mail.">"; } $body.= $value.": ".$o->$value."\r\n"; if($value == $campi[count($campi)-1]) { if(!mail($address, $object, $body, $headers)) die("&report=KO&"); else echo "&report=OK&"; } } } } ?>
Qualcuno mi può aiutare???
Grazie![]()

Rispondi quotando
