Creare un Form Mail: Flash+Php (2° Parte)

In questo articolo vedremo come aggiungere al tutorial Form Flash+Php precedente, le seguenti mancanze anche da voi stessi richieste nei commenti:

  1. Rivelazione Errori Campo Vuoto
  2. Messaggio dell’avvenuto invio
  3. Colorazione Campi Input Vuoti

Ricapitolando il tutorial precedente: 1) Creazione di Campi di testo “input” 2) Aggiunta dell’action script 3) Aggiunta del pulsante 4) Creazione dello script Php , con questo quarto punto viene conclusa come abbiamo detto la prima parte. Ora iniziamo a lavorare sulla seconda…

flash php form


Innanzitutto Realizziamo un Form con 7 campi di input quali : Nome, Cognome, Email, Societa, Fax, Telefono ed Note. Vogliamo che tutti debbano contenere per lo meno 2 lettere, e che il campo email debba contenere la @ e qualche lettera. Dopo aver realizzato tutto nello stesso modo del tutorial precedente, proseguiamo in questo modo:

Livello : Esperto

1) Creare 7 livelli Vuoti.

2) Nel Primo Livello Aggiungere un Clip Filmato con scritto Invio Avvenuto con Successo e dare come nome istanza “invio”.

3) Inserire il seguente Script su di un livello vuoto:
pulsante.onRelease = function ()
{
trace ('prosegue')
var _loc2 = new LoadVars();
_loc2.Nome = casellaNome.text;
_loc2.Cognome = casellaCognome.text;
_loc2.Societa = casellaSocieta.text;
_loc2.Email = casellaEmail.text;
_loc2.Telefono = casellaTelefono.text;
_loc2.Fax = casellaFax.text;
_loc2.Note = casellaNote.text;
_loc2.destinatario = "TUAEMAIL@MAIL.IT"; // INSERIRE LA PROPRIA E-MAIL
_loc2.onLoad = function (success)
{
}
if (casellaNome.length<2) {
testoErrore = "Campo Errato ";
scriviErrore(testoErrore);
name_txt.textColor = 0xFF0000;
corretto = false
}else{
name_txt.textColor = 0xFFFFFF;
}if (casellaEmail.text.indexOf("@")<2) {
testoErrore = "Email Errata ";
scriviErrore(testoErrore);
email_txt.textColor = 0xFF0000;
corretto = false
}else{
email_txt.textColor = 0xFFFFFF;
}
if (casellaTelefono.length<4) {
testoErrore = " Campo Errato";
scriviErrore(testoErrore);
telefono_txt.textColor = 0xFF0000;
corretto = false
}else{
telefono_txt.textColor = 0xFFFFFF;
}
if (casellaCognome.length<2) {
testoErrore = " Campo Errato";
scriviErrore(testoErrore);
cognome_txt.textColor = 0xFF0000;
corretto = false
}else{
cognome_txt.textColor = 0xFFFFFF;;
}
if (casellaSocieta.length<4) {
testoErrore = " Campo Errato";
scriviErrore(testoErrore);
societa_txt.textColor = 0xFF0000;
corretto = false
}else{
societa_txt.textColor = 0xFFFFFF;
}
if (casellaNote.length<2) {
note_txt.textColor = 0xFF0000;
corretto = false
}else{
note_txt.textColor = 0xFFFFFF;
}
if (corretto)
_loc2.sendAndLoad("Email.php", _loc2, "POST"); // Devi modificare il percorso in modo corretto
//ad esempio puoi inserire anche http://www.tuoindirizzo.it/cartella/Email.php
{
if (success)
{
casellaNome.text = "";
casellaCognome.text = "";
casellaSocieta.text = "";
casellaEmail.text = "";
casellaTelefono.text = "";
casellaFax.text = "";
casellaNote.text = "";
mcMsg.mcTxt.txtMsg.text = this.controllo;
mcMsg.play();
}
}
}

Contiene alcuni punti essenziali per fare in modo che lo script riconosca se ci sono o meno campi vuoti, e lo si fa con la funzione length , e se viene lasciato vuoto , il campo diventa rosso ed esce un messaggio di errore con la funzione textColor e grazie alle funzioni IF ed ELSE.

4) Dopodichè su di un altro livello inserire come:
as _root.invio._visible = false ;
Questo serve per rendere la finestra di “ Invio Messaggio Avvenuto “ invisibile e di farla uscire solo se richiamata dallo script una volta inviato il messaggio .

5) Aggiungere al pulsante “ pulsInvio “ ( leggere il tutorial precedente ) ,il seguente codice :

on (press) {
_root.errore._visible=false;
_root.errore.text="";
var corretto:Boolean = true; if (casellaNome.length<2) {
testoErrore = "";
scriviErrore(testoErrore);
name_txt.textColor = 0xFF0000;
corretto = false
}else{
name_txt.textColor = 0xFFFFFF;
}
if (casellaEmail.text.indexOf("@")<2) {
testoErrore = "";
scriviErrore(testoErrore);
email_txt.textColor = 0xFF0000;
corretto = false
}else{
email_txt.textColor = 0xFFFFFF;
}
if (casellaTelefono.length<4) {
testoErrore = "";
scriviErrore(testoErrore);
telefono_txt.textColor = 0xFF0000;
corretto = false
}else{
telefono_txt.textColor = 0xFFFFFF;
}
if (casellaCognome.length<2) {
testoErrore = "";
scriviErrore(testoErrore);
cognome_txt.textColor = 0xFF0000;
corretto = false
}else{
cognome_txt.textColor = 0xFFFFFF;;
}
if (casellaSocieta.length<4) {
testoErrore = "";
scriviErrore(testoErrore);
societa_txt.textColor = 0xFF0000;
corretto = false
}else{
societa_txt.textColor = 0xFFFFFF;
}
if (casellaNote.length<2) {
note_txt.textColor = 0xFF0000;
corretto = false
}else{
note_txt.textColor = 0xFFFFFF;
}
if (corretto) {
_root.invio._visible= true ;
trace("invio corretto");
} else {
_root.errore._visible = true;
}
function scriviErrore(stringaErrore:String) {
_root.errore.text += stringaErrore+" ";
}
}

Qui non abbiamo fatto altro che ripetere lo script per la correzione dei campi, e aggiunta la function per far appariare la casella del “Invio Messaggio Inviato” .

6) Realizzare uno script con notepad e rinominarlo Email.php inserire al suo interno il seguente codice php:

<?php
$casellaNome = stripslashes($_POST['Nome']);
$casellaCognome = stripslashes($_POST['Cognome']);
$casellaSocieta = stripslashes($_POST['Societa']);
$casellaEmail = stripslashes($_POST['Email']);
$casellaTelefono = stripslashes($_POST['Telefono']);
$casellaFax = stripslashes($_POST['Fax']);
$casellaNote = stripslashes($_POST['Note']);
$sms = '
<!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</title>
<style type="text/css">
td{
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
color:#666666;
}
</style>
</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">
<br /><br /></td></tr>
<tr><td width="80"><b>» Nome:</b></td>
<td width="259">'.$casellaNome.'</td></tr>
<tr><td width="80"><b>» Cognome:</b></td>
<td width="259">'.$casellaCognome.'</td></tr>
<tr><td><b>» Società</b></td>
<td>'.$casellaSocieta.'</td></tr>
<tr><td><b>» E-mail</b></td>
<td>'.$casellaEmail.'</td></tr>
<tr><td><b>» Telefono</b></td>
<td>'.$casellaTelefono.'</td></tr>
<tr><td><b>» Fax </b></td>
<td>'.$casellaFax.'</td></tr>
<tr><td><b>» Note</b></td>
<td>'.$casellaNote.'</td></tr>
<tr><td colspan="2"> </td></tr>
</table></td></tr></table></body></html>';$headers = "From: $casellaNome $casellaCognome <$casellaEmail>n";
$headers .= "Content-Type: text/html; charset=iso-8859-1n";
$oggetto = " Richiesta Informazioni n";
if(mail($_POST['destinatario'], $oggetto, $sms, $headers)){
echo '&controllo=invio avvenuto con successo.';
}
else{
echo '&controllo=errore: e-mail non inviata.';
}
?>

Modificati alcuni punti in questo script quale “Oggetto” modificato con Richiesta Informazioni.

Con questi ultimi Punti abbiamo completato Il Form Email con Flash e Php, spero che risulti a tutti il più semplice possibile se cosi non fosse, non esistate a domandare e commentare. Buona Programmazione!


Download file esempio

Potete confrontate il vostro risultato con questo file esempio:

– – – – – – – – – – – – – – – – – – – – – – –

50 Risposte a “Creare un Form Mail: Flash+Php (2° Parte)”

  1. Salve sono Jo,
    Volevo sapere se era possibile avere i file sorgente aggiornati email.php e flash-php.fla come era possibile nel precedente tutorial.
    Grazie mille!!!!!

    Rispondi

  2. è possibile avere i file sorgenti come nell’eserciozio precedente, questi script mi danno errore. grazie

    Rispondi

  3. Luca , lo script questa volta è stato testato per bene , cerca di seguire per bene le indicazioni a breve inserisco i file sorgente . Buona Giornata.

    Rispondi

  4. Anche questo tutorial mi dà errore
    Questo addirittura in output..
    Siete molto chiari nella spiegazione x quello mi sembra strano sbagliare..Se ci fossero i sorgenti da testare..

    Rispondi

  5. Ho incollato il primo script e mi da questo errore..

    **Error** Scene=Scene 1, layer=az, frame=1:Line 3: Operator ‘=’ must be followed by an operand
    trace (’prosegue’)

    **Error** Scene=Scene 1, layer=az, frame=1:Line 4: ‘)’ or ‘,’ expected
    var _loc2 = new LoadVars();

    Così son rimasto bloccato da subito..
    Peccato perchè la spiegazione sembrava ben fatta..

    Rispondi

  6. A giorni verrà inserito il file sorgente in modo tale da non incorrere in commenti negativi . Buona Giornata

    Rispondi

  7. Aggiunto il file esempio :)

    Rispondi

  8. La form funziona benissimo, le indicazioni le ho seguite alla lettera e ricontrollate più volte. Ma la mail non la spedisce. Potrebbe essere un problema di server? Eppure php lo supporta.

    Rispondi

  9. Si ma ad esempio su server aruba , flash e php non dialogano e c’è bisogno di utilizzare cgi , quindi ti invito ad informarti in merito al server ed eventualmente ad aggioranre il php con uno script cgi . Facile intuizione non troverai difficoltà Buona Notte

    Rispondi

  10. io ho il mio sito su server aruba e flash e php mi dialogano benissimo però con un tutorial scaricato altrove non il vostro!
    ciao

    Rispondi

  11. Grazie della info Ajb . Ma si vede che sei mal informato visto che , molte applicazioni vengono rese nulle sui server arube , poi lascia stare che funzionino o meno , ma i server di aruba non sono programmati nell’eccelenza per far avvenire dialoghi tra FLASH ed PHP . :) Buona giornata

    Rispondi

  12. Questo non lo sapevo scusate.
    A questo punto mi spiego perchè il vosro non mi funziona in nessun caso…sarà per aruba. Grazie della dritta

    Rispondi

  13. Hola Virpel,
    seguo sempre i tuoi commenti con molto interesse, grazie per il tutorial, ti volevo chiedere se sai qualcosa di Xoom (lo spazio web gratuito di alice.it ), sai se in principio non ci dovessero essere dei problemi al buon funzionamento del tuo form su questo portale?
    Grazie di antemano per il tempo che dedichi a risponderci, siamo proprio in tanti ad essere interessati. Ho provato a contattare con il webmaster di Xoom per saperlo da lui direttamente, ma sembra che non sia molto disposto a collaborare.

    Rispondi

  14. Hola Virpel,
    grazie per rispondere sempre alle nostre domande, volevo chiederti se sai qualcosa di Xoom ( il portale di Alice.it che offre spazio gratuito sulla rete), sai se in principio non ci dovessero essere dei problemi al corretto funzionamento del tuo form su questo sito? ho provato a contattare il webmaster, ma sembra che non ne vuole sapere…un saluto toto

    Rispondi

  15. Ciao Totoreggae,
    ho testato personalmente il form di Virpel su questo portale che offre spazio gratuito : http://home.altervista.org/site/
    e ti assicuro che funziona :D

    Adesso la mia domanda:
    E’ possibile inserire in questo form, un messaggio finale tipo “Grazie per il messaggio” – oppure ” il tuo messaggio è stato correttamente inviato” ?

    Grazie a tutti e complimenti a Virpel!

    Rispondi

  16. Di nuovo io…
    scusate, il form funziona perfettamente, ma sarebbe utile poter avere l’oggetto sulla mail ricevuta, sapreste aiutarmi?

    Grazie ancora :D

    Rispondi

  17. Perdona Acter nella mail che ricevi , come oggetto ci dovrebbe stare ” Richiesta Informazioni ” . E poi perpiacere PER NON CREARE ALTRI EQUIVOCI .. LEGGETE I TUTORIAL , NON SCARICATE SOLO I FILE . Visto che leggendo attentamente avresti notato il punto in cui vi informo che si cambia l’oggetto . Buona Serata

    Rispondi

  18. Grazie tante Virpel,
    la prossima volta farò + attenzione ;D
    Buona serata anche a te

    Rispondi

  19. Ciao è possibile aggiungere a quest ultima un pulsante che mi permette di allegare tre file in formato JPG impostando un limite max in Kb. Grazie

    Rispondi

  20. Ciao Virpel, gran bel tutorial soprattutto pensando che sei andato a trattare un argomento facile ma che crea sempre diversi problemi tra compatibilità e esperienza dei lettori…
    Cmq, ti faccio presente che non è possibile scaricare il fil zip con il form.

    Con un po di fantasia questo form può essere usato dappertutto!

    Bravo!
    Ciao

    Rispondi

  21. Colpa mia, l’ultima versione dello script, l’avevo invece che “zippato” l’avevo “rarrato” con winrar… cmq ora se clikki il link funziona.
    pardon :)

    Rispondi

  22. Ok per il file zip ma non riesco tuttora a capire come mai non riesco a far funzionare il form… Ho usato sia il tuo tutorial sia il file zip e ho creato il file Email.php come hai detto tu.
    Ho cambiato i dati dovunque indicavi di farlo e ho caricato il tutto seguendo il giusto percorso all’interno dell’ftp.
    Su tol.it c’è l’abilitazione all’uso di php , ed ovviamente questo l’ho fatto prima di tutto.
    Appena provo a scrivere qlc e faccio invio, il form mi ritorna immediatamente la comunicazioen di avvenuto invio ma in pratica non accade nulla.
    C’è piena compatibilità su tol di flash + php.
    Sapresti dirmi il motivo per cui non funge? o magari puoi darmi una mano?
    Grazie in anticipo

    Rispondi

  23. grazie eh…

    Rispondi

  24. Ciao io ho acquistato un template e nella pagina e-mail vorrei far funzionare il form.
    ho seguito i tuoi consigli ma 1) il mio server non accetta il (php) ma (asp)

    Ho gia una pagina che mi invia il form compilato ma e semplicemente in htm

    tu non puoi metterti in contatto con me e farmi capire come funziona
    realizzo siti e questa e una mia lacuna

    ti prego di considerare questa richiesta di aiuto

    Rispondi

  25. Se utilizzi asp , mi dispiace ci vorrebbe un tutorial a parte . In futuro probabilmente utilizzerò tale metodo , e scriverò su Desmm.com un buon tutorial in merito , ma fino a quel giorno ti puoi solo accontentare di quanto scritto qui sopra . Buona Giornata

    Rispondi

  26. ciao ma ho fatto un copia e incolla del file php ma mi da errore di sintassi come mai?nel file zip c’è solo il file fla e non il php..potresti aiutarmi gentilmente???grazie mille ciaoo

    Rispondi

  27. Ciao Virpel ho ho fatto tutto come dicevi ed ho provato su altervista; il form funziona perchè appena scrivo mi da conferma invio ma la mail non arriva. Puoi controllare se ho commesso qualche errore?
    Ti ringrazio molto.

    pulsante.onRelease = function ()
    {

    trace (‘prosegue’)
    var _loc2 = new LoadVars();
    _loc2.Nome = casellaNome.text;
    _loc2.Cognome = casellaCognome.text;
    _loc2.Societa = casellaSocieta.text;
    _loc2.Email = casellaEmail.text;
    _loc2.Telefono = casellaTelefono.text;
    _loc2.Fax = casellaFax.text;
    _loc2.Note = casellaNote.text;
    _loc2.destinatario = “cintolimichela@virgilio.it”;
    _loc2.onLoad = function (success)
    {
    }
    if (casellaNome.length

    Rispondi

  28. come posso far si che i dati vengano memorizzati anche in un database come MySQL? in php programmo da molto tempo ormai ma unito al flash mi perdo un pò… ho provato ad inserrire le query per l’inserimento della mail ma a quel punto il programma flash non invia + niente… cmq lo script php+mysql l’ho testato a parte e funziona…

    Rispondi

  29. ciao Virpel…complimenti per il form.penso sia chiaro anche se uso flash da pochissimo… volevo chiederti se potevi mettere la sorgente anche per flash mx2004…perchè il file che ho scaricato non me lo apre (usando io flash mx2004pro). Più che altro è per capire dove piazzare i codici.

    grazie

    pAND

    Rispondi

  30. Funziona tutto ok…

    ma come si fa per fare in modo che le informazioni immesse in un campo multilinea (ad esempio note) vengano inviate con gli “a capo” corretti ?

    inserendo diverse righe nel campo note… (multilinea) vengono inviate come un’unica riga in cui gli a capo diventano spazi, per cui una cosa del tipo

    TEST1
    TEST2
    TEST3

    diventa TEST1 TEST2 TEST3

    Come si può risolvere ?
    thanks.

    Rispondi

  31. si potrebbe avere il file php?

    se copio ed incollo mi da erorri di sintassi.

    grazie

    Rispondi

  32. anch io ho messo tutto su altervista ma l email non arriva. Sicuramente salto qualche passaggio forse banale.
    io nel file htm carico l swf, faccio bene?
    scusami per il disturbo

    Rispondi

  33. Ciao, non mi spedisce nulla pur avendo impostato indirizzo email e script email.php. Come mai? La prima versione mi funziona.

    Rispondi

  34. ma porca eva studiatevi il php ragazzi e smettetela di rippare i sorgenti degli altri altrimenti è logico ke ne troviate sempre d errori…sbaglia 1 sbagliano tutti!

    Rispondi

  35. Confermo quello che dice Matteo..pur avendo impostato indirizzo email e script email.php non viene spedita la mail..anche a me la prima versione funzionava..possibile trovare l’errore??

    Rispondi

  36. salve,
    io ho scaricato il file zip di esempio e ho fatto il copia incolla del file php :) ma ho un problemino con l’output nell’e-mail.
    In pratica alla ricezione della mail visualizzo il codice presente nella variabile $sms e non la pagina che dovrebbe creare!!
    qualcuno può aiutarmi?? grazie

    Rispondi

  37. Ciao, ho provato il form e funziona benissimo e ti dirò di piu’ che funziona anche su server aruba, ho pero’ un problemino che probabilmente deriva da qualcosa di sbagliato su flash.
    Inserito il form sulla mia pagina in flash, se faccio un test della scena il form funziona perfettamente, se invece lo pubblico per avere il file swf finale, appena apro la mia pagina mi appare in sovraimpressione il tasto dell’ invio avvenuto con successo.

    Rispondi

  38. Ho dimenticato di ringraziare anticipatamente per un vostro eventuale riscontro. saluti

    Rispondi

  39. Ciao io ho provato il tutoria e funziona tutto solo che nella casella mail, mi arriva la mail con i dati inseriti ma con tutto lo script visibile del php che rende praticamente difficile la lettura della mail.
    comeposso fare? forse c’è qualche errore nel codice php, io ho fatto semplicemente un copia incolla….aiutooooooooo?

    Rispondi

  40. Ciao io ho provato e funziona solo che mi invia la mail con tutto il codice html visibile, in pratica mi arrivano i dati ma mischiati nell’html, come devo fare? forse c’è qualcosa nel codice php, ho fatto un copia e incolla ma nn riesco a capire…help me!
    grazie

    Rispondi

  41. Mi dispiace ragazzi se vi da errore il mio tutorial , purtroppo da quello che posso vedere il file PHP non ha errori di sintassi bensi l’unico errore he potrebbe dare è quello sulla porta 25 del server che utilizza l’SMTP . Quindi vedete bene su che server vi appoggiate , seconda cosa il tutorial in se è funzionante ed lo sono anche i file di esempio.

    Buona Giornata

    Rispondi

  42. A me ha funzionato al primo colpo… tuttavia mi arriva una e-mail senza nome né oggetto, e all’interno ci sono i campi Nome, Cognome, ecc tutti vuoti.
    Mah…

    Rispondi

  43. ma questo tutorial da esperto necessita dello stesso php del precedente o lo stesso va modificato? scusate ma è la prima volta che provo a creare un form più complicato

    Rispondi

  44. Grazie, volevo sapere se la form funziona anche in modalità fullscreen

    Rispondi

  45. Ciao DANI!! .. innanzitutto compimenti per il lavoro che fai! Sono partito da questo tutorial per realizzare un form mail per il mio sito, e seguendolo attentamente sono riuscito a farlo funzionare. ORA MI SERVE IL TUO AIUTO: vorrei che quando l’utente preme “invia messaggioâ€?, venisse generata una mail al suo indirizzo che gli confermasse l’invio. Anche uguale identica a quella che genera il form. Dici che è possibile o è troppo un casino? Grazie.

    Rispondi

  46. Un saluto e un ringraziamento agli autori,

    Allora, ho provato il vostro primo tutorial e tutto ok, e calcolando che era la prima volta che vedevo tutti quei codici vuol dire che la cosa era ben fatta e semplice da usare.

    Ora mi stavo accingendo a fare il secondo passo con + campi, con i quali poi vorrei creare un mio form.

    Per farlo volevo usare il vostro file flash, visto che usando quello del primo esempio mi aveva reso il tutto + chiaro, però il file Flash + Php 2¯ Parte.fla non mi si apre, sia che provo con flash in mac che su win.

    al momento ho installato flash mx 2004.

    se poteste salvare il file per questa versione mi fareste un grandissimo piacere, volendo anche mandandomelo via mail senza postarlo sul forum

    Rispondi

  47. VIRPEL sono quello delle virgolette…. di Pasqua :D

    beh.. i miei più sinceri complimenti per questo nuovo progetto..

    DesMM vedo che ha sistemato le formattazioni per i codici..

    insomma stavolta davero un lavoro ineccepibile e notevole.

    Buon lavoro
    Roberto

    Rispondi

  48. ciao rags. qualcuno sa perchè il form mail non funziona in modalità fullscreen? (non appare la linea intermittente nel campo di input testo e quindi non è possibile scrivere niente). esiste una soluzione? grazie a tutti.

    Rispondi

  49. Ciao, cercavo di adattare i vostri script ad un form già esistente in un template.
    Ho quattro campi input text (a1, a2, a3, a4). come devo modificare lo script del punto 3, il codice del pulsante al punto 5 e il file Email.php.
    Al 1 punto si dice di creare 7 livelli vuoti, alla fine ne utilizziamo solo 3, perché?
    in attesa di un vostro gentile riscontro, anticipatamente vi ringrazio.

    Rispondi

  50. Ciao Virpel,
    grazie per il tutorial, ma scusa per la mia ignoranza, e ti chiedo se mi puoi aiutare, ho anche io il problema nel ricevere e-mail mi fa vedere il
    codice.
    Potresti, se hai una soluzione aiutarmi.
    ti ringrazio anticipatamente Alessandro

    Rispondi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.