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

50

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:

- – - – - – - – - – - – - – - – - – - – - – -