Un
utente che deve effettuare l’autenticazione su un sistema,
ovviamente deve disporre di ‘user’ e ‘password’
poiché tramite questi due valori viene riconosciuto
dal sistema che gli consente quindi l’accesso alle informazioni
di sua competenza. Il filmato Flash allegato a questo documento
non fa altro che chiedere a l’utente di inserire la
sua user e la sua password per poi inviarle al server e aspettare
da quest’ultimo una risposta contenente l’esito
dell’autenticazione che può essere o il fallimento
del login, o l’informazione riservata di quell’utente.
Vediamo nel dettaglio quali sono i passi da seguire:
Il client richiede ‘user’ e ‘password’ all’utente
Il client le invia al server
Il server le confronta con quelle degli utenti fidati
Se trova una corrispondenza
Invia l’informazione riservata
Se non la trova
Invia un codice di errore
Il client riceve la risposta del server
Se è un codice di errore
lo comunica all’utente e chiede di riprovare
Se non è un codice di errore
Visualizza l’informazione riservata
Fine
Tutto questo potrebbe essere eseguito anche da un semplice
form in HTML, ma noi lo realizzeremo in Flash 4 e 5. Chi non
fosse interessato al Flash può saltare questa spiegazione
e utilizzare il form HTML (login.html) allegato a questo documento.
Si faccia riferimento al file allegato (login4.fla) per
quanto riguarda l’interfaccia mentre qui esamineremo
nel dettaglio il codice (Action Script) che svolgerà
il compito sopra descritto:
Per comunicare all’utente lo stato del login, giusto
per dare un tocco di professionalità, utilizzeremo
un movie clip chiamato ‘messaggi’ nel quale
ci saranno appunto tutti i messaggi come la verifica, l’errore
o il TimeOut del server, noi ci limiteremo a pilotarlo dicendogli
di volta in volta su quale messaggio (frame) posizionarsi.
Scena Principale:
Nel primo frame:
Si creano/azzerano le variabili da utilizzare;
Si consente l’inserimento di user e password nei relativi
campi di testo dinamico;
Si attende la pressione del tasto login;
On (Release)
// alla pressione del tasto
If (user eq "" or password eq "")
// ci si accerta che le variabili non siano vuote
Begin Tell Target ("/messaggi")
// nel caso siano vuote si richiede di completarle
Go to and Stop ("valorimancanti")
End Tell Target
Else
Begin Tell Target ("/messaggi")
// se tutto è ok si visualizza un messaggio
Go to and Stop ("verifica")
// di ‘verifica in corso’
End Tell Target
Load Variables ("http://www.medialeader.it/login.php", 0, vars=POST)
// con questa istruzione si inviano con POST tutti campi allo script php
// e si caricheranno i valori che tale script restituirà nel filmato al livello 0
Set Variable: "timeout" = gettimer
// si inizializza il contatore di timeout
Play
// si dice al filmato di andare in play
End If
End On
Nel terzo frame:
Per arrivare a questo frame vuol dire che è stato premuto
il login, che le variabili erano valide e quindi siamo in
attesa di una risposta da parte del server.
In questo frame si esegue un controllo per evitare che in
una situazione
di TimeOut (il server non risponde) l’utente aspetti
inutilmente.
If (gettimer-timeout > 5000)
// Se il timeout supera i 5 secondi
Go to and Stop (1)
// si ricomincia tutto dall’inizio
Begin Tell Target ("/messaggi")
// e si comunica all’utente la mancata risposta
Go to and Play ("timeout")
End Tell Target
Else
If (reply eq "")
// se non arriva la risposta ma non si sono superati i 5 secondi
Go to and Play ("loop")
// si attende ancora mandando il filmato in loop
End If
End If
Nel quarto frame:
Per arrivare a questo frame vuol dire che il caricamento è
andato a buon fine e abbiamo ricevuto una risposta, quindi
non ci resta che controllarla:
If (reply eq "" or reply eq "false")
// Se la risposta è negativa
Go to and Stop (1)
// torniamo all’inizio
Begin Tell Target ("/messaggi")
// e comunichiamo l’errore
Go to and Stop ("errore")
End Tell Target
End If
// Altrimenti il filmato proseguirà normalmente
Nel quinto frame:
Per arrivare a questo frame vuol dire che la risposta del
server contiene un’informazione e quindi ci limiteremo
a dare il benvenuto e a visualizzarla:
Set Variable: "benvenuto" = "Benvenuto "&user
Stop
|