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

Design & Multimedia Blog

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-1\n";
$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:

- - - - - - - - - - - - - - - - - - - - - - -

Tag [,,,]
scritto da: Virpel
Virpel
Giovedì, 01 Marzo 2007
Segnalalo su: Upnews OKNOtizie del.icio.us Taggly Segnalo
Esprimi anche il tuo parere...

scrivi cosa ne pensi!


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

  1. JoDesign

    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!!!!!

    Lunedì, 26 Febbraio 2007
  2. luca

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

    Sabato, 03 Marzo 2007
  3. Virpel

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

    Domenica, 04 Marzo 2007
  4. ajb

    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..

    Martedì, 06 Marzo 2007
  5. Davide

    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..

    Venerdì, 09 Marzo 2007
  6. Virpel

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

    Domenica, 11 Marzo 2007
  7. DesMM

    Aggiunto il file esempio :)

    Lunedì, 12 Marzo 2007
  8. valmen

    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.

    Mercoledì, 28 Marzo 2007
  9. Virpel

    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

    Giovedì, 29 Marzo 2007
  10. ajb

    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

    Giovedì, 29 Marzo 2007
  11. Virpel

    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

    Giovedì, 29 Marzo 2007
  12. ajb

    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

    Giovedì, 29 Marzo 2007
  13. totoreggae

    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.

    Mercoledì, 25 Aprile 2007
  14. totoreggae

    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

    Mercoledì, 25 Aprile 2007
  15. Acter

    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!

    Mercoledì, 02 Maggio 2007
  16. Acter

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

    Grazie ancora :D

    Mercoledì, 02 Maggio 2007
  17. Virpel

    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

    Mercoledì, 02 Maggio 2007
  18. Acter

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

    Giovedì, 03 Maggio 2007
  19. Giovanni

    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

    Domenica, 20 Maggio 2007
  20. Satoshie

    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

    Domenica, 20 Maggio 2007
  21. DesMM

    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 :)

    Lunedì, 21 Maggio 2007
  22. Domenico

    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

    Lunedì, 21 Maggio 2007
  23. Domenico

    grazie eh…

    Sabato, 02 Giugno 2007
  24. Filippo

    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

    Lunedì, 25 Giugno 2007
  25. Virpel

    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

    Lunedì, 25 Giugno 2007
  26. elektrojoke

    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

    Giovedì, 12 Luglio 2007
  27. Michela

    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

    Giovedì, 02 Agosto 2007
  28. sidvizioso

    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…

    Lunedì, 06 Agosto 2007
  29. pAND

    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

    Venerdì, 31 Agosto 2007
  30. Fox

    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.

    Martedì, 18 Settembre 2007
  31. guglielmo

    si potrebbe avere il file php?

    se copio ed incollo mi da erorri di sintassi.

    grazie

    Giovedì, 20 Settembre 2007
  32. valerio

    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

    Mercoledì, 24 Ottobre 2007
  33. Matteo

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

    Martedì, 06 Novembre 2007
  34. Lucas

    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!

    Domenica, 18 Novembre 2007
  35. mosè

    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??

    Giovedì, 06 Dicembre 2007
  36. carlo

    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

    Mercoledì, 02 Gennaio 2008
  37. luca

    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.

    Mercoledì, 13 Febbraio 2008
  38. luca

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

    Mercoledì, 13 Febbraio 2008
  39. Luigi

    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?

    Sabato, 23 Febbraio 2008
  40. Luigi

    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

    Sabato, 23 Febbraio 2008







Template DesMM 4
Engine by WordPress
Design & Multimedia Blog © 2002 - 2008 | Curriculum webmaster
Progetto e Design sono esclusiva proprietà di Massimo Mastromarino.
Entries (RSS) | Comments (RSS) | Licenza d'uso