• User Attivo

    Penso che se alleghi il .fla ne capirei di più....:sbonk:
    Prima di risponderti vorrei fare un riepilogo:

    Fotogramma 1: hai un clip filmato con dentro:
    Fotogramma 1.1: il form per inserire i dati;
    Fotogramma 1.2: il messaggio di errore per l'email (esempio);
    Fotogramma 1.3: il messaggio di errore per la password (esempio);
    .....
    Fotogramma 1.x: il messaggio di benvenuto.

    Ogni fotogramma 1.y (1<y<x) contiene un'altro clip filmato con dentro un'animazione interpolata, giusto...?

    e quindi andrà dal fotogramma 1.y.1 al fotogramma 1.y.z, interpolando una forma o un movimento da 1 a z.

    la domanda mia è questa: hai messo lo stop() sul fotogramma 1.y.z?

    L'ho scritta in questi termini perchè è davvero difficile andare così a fondo solo con la parola scritta, davvero difficile... Questi termini matematici aiutano a rendere univoche le definizioni e non lasciano spazio a doppie interpretazioni. Mi dispiace tirare così a lungo il tuo problema...

    P.S. Auguri sposo!!! :smiley32:


  • User Attivo

    mi spiace ma non riesco ad inviarti il file fla perché anche se compresso occupa più del consentito, questo comunque è il codice nel primo fotogramma, poi è come hai detto tu, ho il clip filmato con nome istanza form che contiene sul primo fotogramma il form con tutti i campi di testo, questi sono presenti anche sotto i fotogrammi successivi, il pulsante invece è presente solo sul primo fotogramma. Come ultimo livello del **form **ne ho inserito uno dove inserisco solo gli stop, ad ogni fotogramma corrisponde uno stop. Come vedi in questo codice io richiamo il nome del fotogramma non il numero ma questo solo per comodità, ho visto che non cambia assolutamente nulla.
    Nel secondo fotogramma, per intenderci quello chiamato **err1 **vi è il primo clip filmato contenente l'animazione che mi interessa, alla fine di questa vi è un _root.gotoAndStop (1); stessa cosa per gli altri clip.
    Ora proverò a fare un'altra cosa, anziché portarmi al fotogramma contenente il clip filmato mi porto direttamente al su interno, forse così funzionerà, spero:x

    stop();
    _root.form.pulsanteinvia.invia.onRelease = function() {
    var sendMail:LoadVars = new LoadVars();
    sendMail.nome = _root.form.nome.text;
    sendMail.cognome = _root.form.cognome.text;
    sendMail.ragsol = _root.form.ragsol.text;
    sendMail.naz = _root.form.naz.text;
    sendMail.cit = _root.form.cit.text;
    sendMail.cap = _root.form.cap.text;
    sendMail.ind = _root.form.ind.text;
    sendMail.tel = _root.form.tel.text;
    sendMail.cell = _root.form.cell.text;
    sendMail.fax = _root.form.fax.text;
    sendMail.email = _root.form.email.text;
    sendMail.testomail = _root.form.testomail.text;
    sendMail.destinatario = '[email protected]';
    sendMail.onLoad = function(success) {
    if (success) {
    switch (this.risposta) {
    case "A" :
    _root.form.gotoAndStop("err1");
    break;
    case "B" :
    _root.form.gotoAndStop("err2");
    break;
    case "C" :
    _root.form.gotoAndStop("err3");
    break;
    case "D" :
    gotoAndStop._root.form("err4");
    break;
    case "E" :
    gotoAndStop._root.form("err5");
    break;
    case "F" :
    gotoAndStop._root.form("err6");
    default :
    _root.form.controllo.text = this.risposta;
    }
    } else {
    _root.form.controllo.text = "problema connessione";
    }
    //end if
    };
    //end function onLoad
    sendMail.sendAndLoad('Flash/mail.php', sendMail, 'POST');
    };
    //end function onRelease


  • User Attivo

    Una cosa non mi è chiara ancora:
    cosa ti va in loop, i vari clip filmato "err1", "err2", ecc oppure tutta l'esecuzione, nel senso ke riparte dal form e ti fa tutti i cliè filmato "err"...?
    Se ti va il loop solo "err1" per esempio, prima di mettere "_root.gotoAndStop(1)" prova a mettere uno "stop()"; oppure posta il codice AS di questi "err", ok?
    Momino


  • User Attivo

    ho messo il file zip sul mio server, lo puoi scaricare direttamente da li
    http://www.jumboscreen.it/nuovosito/Form_Flash_PHP.zip


  • User Attivo

    controlla il link perchè non funge...


  • User Attivo

    scusa, avevo provato a modificare il link direttamente modificando la discussione ma non funziona, rimane quello vecchio
    così dovrebbe andare
    http://www.jumboscreen.it/nuovosito/Form_Flash_PHP.zip


  • User Attivo

    Una cosa non mi è chiara ancora:
    cosa ti va in loop, i vari clip filmato "err1", "err2", ecc oppure tutta l'esecuzione, nel senso ke riparte dal form e ti fa tutti i cliè filmato "err"...?
    Se ti va il loop solo "err1" per esempio, prima di mettere "_root.gotoAndStop(1)" prova a mettere uno "stop()"; oppure posta il codice AS di questi "err", ok?
    Momino

    mi vanno in loop i clip presenti nei target, non tutto, in pratica non viene ricaricato il primo fotogramma come dovrebbe. guarda il file fla


  • User Attivo

    se volessi usare il metodo attachMovie (); per caricare il clip filmato direttamente dalla libreria, come dovrei fare?
    Forse in questo modo risolvo il problema del loop, ho letto la guida di flash ma non riesco a capirlo bene, sarò stupido io ma proprio non ci riesco, sembra che devo prima creare un duplicato del clip e poi richiamarlo, ma non capisco bene come, chi mi da ancora una mano?


  • User Attivo

    Allora,
    ci sono un bel pò di cose che ho dovuto rettificare, ma alla fine il loop scompare:

    • il tuo "_root" ha un solo frame, perchè usavi "_root.gotoAndStop(1)"? E' per questo che andava in loop il messaggio di errore. Il messaggio di errore sta nel clip filmato "form", per questo è "form" che deve ripartire dal primo fotogramma, e non "_root", usando "_root.form.gotoAndStop(1)".
    • per quale strana ragione hai definito la funzione "onRelease" del bottone "invia" nel primo fotogramma della "_root"? così facendo, anche se il loop non compare, il pulsante non funziona più, perchè perde l'azione "onRelease". Copia e incolla il codice nel bottone sotto l'evento "on(Release)".
    • vedi bene il campo delle email, perchè se rimane vuoto non da errore, al contrario degli altri 3 (nome, cognome, città).Le prime due modifiche le ho testate e sono funzionanti, puoi provare su http://decatrade.ilbello.com/form2.swf, se vuoi posso mandarti anche il file .fla per risparmiare tempo, dimmi tu...

    Controlla e fammi sapere,
    Momino


  • User Attivo

    this.attachMovie("id", "newName", depth:Number, [initObject:Object]);

    Vediamo di capirci qualcosa, :mmm:
    Prima di tutto è scritta bene la stringa?
    Se si

    id = È il nome immesso nel campo Identificatore nella finestra di dialogo Proprietà del concatenamento del clip filmato che ho in libreria?

    newName = È il nome d'istanza del clip filmato che voglio creare o di quello che voglio richiamare dalla libreria?

    depth:Number = "Un numero intero che specifica il livello di profondità in cui viene inserito il file SWF." Questo è quello che dice la guida di flash, ma che significa esattamente?

    [initObject:Object] = OPZIONALE, sono le proprietà del filmato che voglio creare o di quello presente nella libreria? Che tipo di proprietà posso inserire? Nel caso possa inserire le coordinate di posizionamento del nuovo clip come devo fare?

    Sempre pieno di domande, credo che se la guida di flash era scritta più semplicemente ne avrei meno, scusatemi.


  • User Attivo

    sto provando a caricare il link che mi hai dato ma non funziona, rimane in attesa di risposta dal server.
    Dunque ti rispondo alla domanda (per quale strana ragione hai definito la funzione "onRelease" del bottone "invia" nel primo fotogramma della "_root"?)
    L'ho fatto perché prima avevo messo tutto sullo stage e non all'interno di un clip filmato, questo mi dava un problema su internet explorer, ovvero la prima volta che andava in esecuzione il file swf non avevo problemi ma se aggiornavo la pagina o vi ritornavo, il play andava prima al secondo fotogramma e poi tornava al primo, facendo così avevo risolto quel problema.
    Se ho capito bene tu vuoi mettere il codice direttamente nel codice del pulsante senza usare una funzione?
    Per quel che riguarda gli altri errori, non avendo ancora risolto il problema loop non sono andato avanti nella realizzazione degli altri eventi, mi stavo concentrando solo sul primo.


  • User Attivo

    id = È il nome immesso nel campo Identificatore nella finestra di dialogo Proprietà del concatenamento del clip filmato che ho in libreria?

    Corretto

    newName = È il nome d'istanza del clip filmato che voglio creare o di quello che voglio richiamare dalla libreria?
    E' il nome del clip filmato a cui vuoi attaccare quello della libreria.
    depth:Number = "Un numero intero che specifica il livello di profondità in cui viene inserito il file SWF." Questo è quello che dice la guida di flash, ma che significa esattamente?
    E' difficile usare Flash (e le applicazioni grafiche in generale, vedi Photoshop) senza avere il concetto di profondità. Come sai, il Flash è organizzato in livelli, i quali si sovrappongono l'uno all'alto a partire dal primo, quindi il primo livello verrà visualizzato "sopra" il secondo, che verrà visualizzato sopra il terzo, ecc...
    Anche all'interno dello stesso livello esistono diverse profondità, in quanto esistono diversi elementi. Il concetto è sempre quello, per trovare la prossima profondità si usa "_root.getNextHighestDepth()", che sicuramente avrai trovato nella guida di Flash, ce ne sono a milioni... 😄
    Con questa funzione, trovi il prossimo livello di profondità per visualizzare un elemento sovrapposto a tutti gli altri, quindi fai attenzione a come organizzi i livelli...;)
    L'opzionale serve a definire i parametri del clip filmato che ATTACCHI, infatti quello a cui attaccarlo deve essere già presente sullo stage oppure creato con "createEmptyMovieClip()", quindi fa attenzione a questo...
    E' complicatuccia come cosa, ma esercitandoti non avrai grosse difficoltà...
    Momino


  • User Attivo

    Boh, riprova così, ma indubbiamente il link funziona...
    http://decatrade.ilbello.com/form.zip


  • User Attivo

    proverò a capire meglio anche questa funzione ma se riesco a eliminare il loop con il metodo che mi hai detto tu allora non avrò necessità di usarla ora, sempre che mi possa risolvere il problema.


  • User Attivo

    ok, funzionaaaaa, grazie mille, ora sistemo anche gli altri campi.
    Ora rimangono due problemi da risolvere, uno, come fare a far si che se viene scritto un carattere accentato in un campo di testo nella mail poi mi venga visualizzato in un altro modo.
    Il secondo non è proprio un problema è solo un'accortezza, vorrei che la mail ricevuta avesse un aspetto più professionale, magari tipo una scheda da poter stampare, se mi creo una pagina html con l'aspetto che mi interessa ne copio il codice e lo inserisco come contenuto di una delle variabili da inviare dovrei riuscirci vero?


  • User Attivo

    per scrivere una email in formato HTML puoi usare degli accorgimenti da mettere nelle intestazioni della funzione "mail()" qualcosa del genere:
    [php]
    $intestazioni = "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $intestazioni .= "To: ".$_POST['nome']." ".$_POST['cognome']." <".$_POST['email'].">\r\n";
    $intestazioni .= "From: Modulo di invio email [email protected]\r\n";
    mail ($destinatario,$soggetto,$messaggio,$intestazioni);
    [/php]Con queste intestazioni, invia email il cui corpo è in formato html.
    Ho provato che con le email di libero non funziona comunque, non dipende dal codice purtroppo...
    Per i caratteri, puoi fare un miniscript in php che ti sostituisca le lettere accentate scritte nel form mail con il corrispondente codice html, tipo "à" con "&aacute", così sei sicuro che non compaiono caratteri "strani"...
    Credo che sia tutto.
    Momino


  • User Attivo

    Problema di codifica risolto, bastava inserire nel primo fotogramma del file swf questo codice

    System.useCodepage = true;

    in questo modo i dati vengono trattati con la codifica del sistema operativo su cui è in esecuzione la pagina internet e non più con la codifica di flash.
    Temo solo di avere problemi se il sito viene visualizzato in altri paesi, forse in quel caso mi usciranno caratteri errati nella mail.

    Ultimo problemino, impaginare come voglio la mail che viene inviata, ma riuscirò anche in questo, provo ad analizzare ciò che mi hai scritto tu.


  • User Attivo

    Si tratta di creare un modellino di pagina html e inserirla come messaggio della tua email, aggiungendo nelle intestazioni la direttiva per interpretare il messaggio come testo html, invece di testo semplice.
    A me ha funzionato, ma te l'ho detto, su alcuni mailserver potrebbe non fungere...


  • User Attivo

    dovrebbe funzionare anche con aruba, avevo già provato qualcosa di simile con un form mail che avevo trovato su un sito, il problema di quel form è che non aveva campi obbligatori.
    A proposito di campi obbligatori, come posso verificare che la variabile ricevuta dal form, ovvero il testo inserito nel campo Tel. sia di tipo numerico?


  • User Attivo

    ok, sono riuscito anche ad impaginare come voglio il testo inviato alla mail

    questo è un esempio di codice

    $dati = '
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Contatti Jumbo Screen</title>
    </head>
    <body style="margin:0px;">
    <table cellpadding="0" cellspacing="0" style="height:100%;width:500px;">
    <tr>
    <td style="height:100%;padding:20px;vertical-align:top;">
    <table>
    <tr><td colspan="2">
    </td>
    </tr>
    <tr><td width="110"><b>Nome: </b></td>
    <td width="300">'.$nome.'</td></tr>
    <tr>
    <td><b>Cognome: </b></td>
    <td>'.$cognome.'</td></tr>
    <tr>
    <td><b>Ragione Sociale: </b></td>
    <td>'.$ragsol.'</td></tr>
    <tr>
    <td><b>Nazione: </b></td>
    <td>'.$naz.'</td></tr>
    <tr>
    <td><b>Città: </b></td>
    <td>'.$cit.'</td></tr>
    <tr>
    <td><b>CAP: </b></td>
    <td>'.$cap.'</td></tr>
    <tr>
    <td><b>Indirizzo: </b></td>
    <td>'.$ind.'</td></tr>
    <tr>
    <td><b>Telefono: </b></td>
    <td>'.$tel.'</td></tr>
    <tr>
    <td><b>Cellulare: </b></td>
    <td>'.$cell.'</td></tr>
    <tr>
    <td><b>Fax: </b></td>
    <td>'.$fax.'</td></tr>
    <tr>
    <td><b>e-mail: </b></td>
    <td>'.$email.'</td></tr>
    <tr>
    <td><b>Richiesta: </b></td>
    <td>'.$testomail.'</td></tr>
    </table></td></tr>
    </table>
    </body>
    </html>';
    $headers = "From: $nome $cognome <$email>\n";
    $headers .= "Content-Type: text/html; charset=iso-8859-1\n";
    if (mail("$destinatario","NUOVO CONTATTO JUMBO SCREEN","$dati","$headers"))

    con questo ultimo codice il form funziona perfettamente