Passiamo ora alla creazione del filmato Flash che permette di inserire un nuovo messaggio nel guestbook.
Inseriamo una nuova scena nel filmato e dentro di essa i tre campi di testo mittente, email e msg come nell'immagine seguente (perdonatemi la grafica):
tenendo ovviamente conto che il campo messaggio deve essere Multiline e con Word Wrap attivato.
Tutto il resto ruota attorno al bottone "invia".
Infatti, bisognerà inserire un piccolo script che controlli l'inserimento dei dati nei campi di testo. Mi limiterò a controllare se sono stati inseriti o meno tutte e tre le informazioni.
Per fare ciò, utilizzo la funzione (inserita nel primo keyframe della scena):
function controlla() {
if (mittente=="" || email=="" || msg=="") {
return 0
} else {
return 1
}
}
Questa funzione controlla i tre campi e se anche solo uno di essi è vuoto, ritorna 0 altrimenti 1.
Nel pulsante "invia" quindi, inseriremo il collegamento a questa funzione di controllo e poi effettueremo la verifica sul valore ritornato:
on(release) {
tmp = controlla();
if (tmp==0) {
//esegui lo script per l'errore
} else {
loadVariablesNum ("nuovo.asp", "", "POST");
id++;
gotoAndStop ("Guestbook", 5);
}
}
La variabile tmp assume il valore ritornato dalla funzione controlla(). Viene poi eseguito il controllo su tmp: se è uguale a 0 (errore) allora esegui lo script per l'errore (che può essere un goto
ad un frame specifico) altrimenti invia le variabili alla pagina ASP "nuovo.asp" tramite metodo POST (che aggiunge il messaggio nel database).
L'aumento di id è dovuto al fatto che, ritornando alla scena principale di lettura dei messaggi, avremmo ancora il vecchio valore ma siccome è cambiato dopo l'inserimento del nuovo messaggio, lo impostiamo al nuovo valore aggiungendo 1. Non ci sarà nemmeno bisogno di aggiornare i campi di testo nella scena "Guestbook", in quanto, utilizzando gli stessi nomi per le variabili nella scena "Nuovo messaggio", avremo aggiornato anche le variabili della scena principale.
Effettuando anche queste operazioni, avremo finito la creazione del nostro guestbook personale.