Luca Vassalli's Website - Home page


Home
Indice

1.Introduzione

2.Centro Solidarietà di Genova

3.Politeama Genovese

 

2.2 Login

La pagina "Login.PHP" inizia con alcune righe di codice che registrano una nuova sessione. Attraverso di essa si memorizzano informazioni diverse per ciascun utente che accede al sistema Web; è infatti assegnato un codice univoco all'utente e creato sul server un file, con il nome del codice stesso, contenente i valori di tutte le variabili di sessione per il dato utente. Nel caso del Csg ho deciso di ricorrere all'utilizzo delle sessioni in quanto un metodo alternativo consiste nello scrivere le variabili nei "cookie" memorizzati sul computer dell'utente che possono però essere disabilitati o manomessi con conseguente perdita di sicurezza e affidabilità. All'inizio di tutte le pagine dell'area riservata si dovrà verificare che l'utente si sia autenticato grazie ad un'apposita variabile di sessione ("key") e, in caso contrario, lo si reindirizzerà alla pagina "Login.PHP" per l'autenticazione.
Sempre per quanto riguarda la sessione, essa decade: dopo un periodo di tempo definito nel file di configurazione di PHP ("PHP.ini") presente nella server root; quando il browser viene chiuso; quando si digita un indirizzo di un sito diverso nella barra degli strumenti; quando si seleziona con il mouse il bottone del menu di sinistra "Logout": in quest'ultimo caso si viene reindirizzati alla pagina "Login.PHP" ma solo dopo aver chiuso la sessione e settato "key" a "NULL".
La pagina "Login.PHP" non è direttamente accessibile dalla parte pubblica del sito in quanto non è destinata ai normali visitatori del sito ma a pochi dipendenti del Csg: quindi vi si accede digitando "/Login.PHP" direttamente nella barra degli strumenti dopo l'indirizzo completo della pagina del sito.
"Login.PHP" contiene tre funzionalità distinte: visualizza il modulo di autenticazione in caso di utente non autenticato o errore nell'autenticazione; si connette al database per verificare i dati inseriti nel modulo; visualizza un menù dal quale si può accedere alle diverse pagine dell'area riservata.
Se ci siamo autenticati con successo, si viene invitati a scegliere l'operazione desiderata "dal menu affianco o cliccando sull'opportuno link sottostante". Se infatti si porta il mouse su uno dei due bottoni del menu sulla sinistra chiamati "News box" e "News estese" si attivano dei menu a tendina (fig.2).

Fig. 2 Login riuscito e menu a tendina di News box
Fig. 2 Login riuscito e menu a tendina di "News box"

Per capire il funzionamento dei menu a tendina bisogna innanzi tutto osservare il menu che appare sulla sinistra dello schermo. E' diviso in 3 parti: una prima parte contenente il logo del Csg; una seconda parte contenente 6 bottoni di ugual dimensione costituiti da altrettante "gif" incolonnate ognuna con una scritta indicante la pagina che attivano; una terza parte costituita da un riquadro con all'interno le informazioni necessarie per mettersi in contatto con il centro. Per ragioni stilistiche, si è utilizzato lo stesso menu dell'area pubblica, alcune "gif" hanno volutamente una tonalità cromatica leggermente diversa in quanto costituiscono un collegamento per le pagine dell'area riservata. Il logo, il riquadro "Contatti" e il sesto bottone del menu ("Aiuta il centro") sono contenuti in un file a parte comune anche all'area pubblica mentre la seconda parte è contenuta nel file "menu_var_ris1.js" e necessita particolare attenzione. In questo file sono presenti una serie di funzioni Javascript che attivano per i primi due bottoni ("News box" e "News estese") un opportuno menu a tendina, per il terzo e quarto bottone un semplice collegamento a pagine di particolare interesse dell'area pubblica del sito, e per il quinto un collegamento alla pagina "Login.PHP" che, come abbiamo già considerato, fa in modo che la sessione venga distrutta tramite una variabile passata in "Get" così che l'utente, se in seguito vorrà nuovamente navigare all'interno dell'area riservata, dovrà nuovamente effettuare Login. Nel caso dei menu a tendina, grazie alle funzioni Javascript, si può scegliere a proprio piacimento il colore di sfondo, il "font" utilizzato, il numero di ulteriori sottomenu, il colore della scritta, le dimensioni e tanti altri parametri; per questi menu ho dovuto, ancora una volta, rispettare le caratteristiche del foglio di stile e dell'intero sito.
Considereremo ora una ad una tutte le azioni possibili che il menu sinteticamente riassume in:
  • Inserire una nuova notizia (2.3)
  • Modificare una notizia (2.4)
  • Modificare i testi delle pagine del sito (2.5)
  • Eliminare una notizia (2.6)