Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Contiamo le visite degli utenti con Ultradev

Utilizziamo Ultradev e ASP per contare il numero di accessi di un utente al nostro sito
Utilizziamo Ultradev e ASP per contare il numero di accessi di un utente al nostro sito
Link copiato negli appunti

Tra le applicazioni ASP più comuni, utili e semplici da implementare c'è senz'altro la procedura di login per gli utenti di un sito. Dalla versione 4 Ultradev comprende un utile Server Behavior che ne facilita notevolmente la creazione. In questo articolo faremo un passo avanti rispetto ad un argomento già trattato in una parte della guida a Ultradev (si vedano in particolare le lezioni dalla 23 alla 25) e nell'articolo sulla «registrazione degli utenti». Semplicemente: vedremo come sia possibile tenere traccia del numero di accessi al sito da parte di un utente.

Il database

Per creare una procedura di login basta un database con una semplice tabella destinata a conservare i dati essenziali su un utente: user name e password (nell'esempio la tabella è chiamata "login"). In effetti, rispetto ai due casi citati, si tratterà semplicemente di integrare la tabella degli utenti con un nuovo campo che conservi il numero di visite e di creare una pagina che aggiorni automaticamente questo campo ad ogni accesso.

La figura 1 mostra la struttura della tabella base. Rispetto ai campi canonici osservate che abbiamo inserito un campo denominato "Contatore". Il tipo di dati va impostato a Numerico, ma bisogna fare attenzione a settare come valore predefinito 0.

Le pagine ASP

La nostra applicazione è composta di tre pagine:

  • login.asp - È la pagina con il form di inserimento dati cui si applica il behavior Log In User.
  • contatore.asp - Il compito di questa pagina è semplice: eseguire un comando che aggiorna il contatore e reindirizzare l'utente alla pagina principale del sito.
  • index.asp - È appunto la home page.

Come si può notare, ciò che cambia rispetto agli esempi "classici" già visti è che tra la pagina di login e quella principale ne inseriamo una nuova, ma fondamentale. Iniziamo l'analisi dalla prima pagina.

Semplice la struttura di "login.asp". Si inserisce innanzitutto un form con due caselle di testo e un pulsante di invio. Si seleziona quindi dai Server Behaviors l'opzione User Authentication > Log In User (figura 2 - clicca per visualizzare). La finestra di configurazione vi chiede di selezionare il form e i campi di input, la connessione al database, la tabella degli utenti e i campi corrispondenti a Username e Password (figura 3 - clicca per visualizzare). Come si può osservare, è necessario impostare come pagina di reindirizzamento "contatore.asp". Tutto qui, in pochi secondi.

La seconda pagina è "contatore.asp". Essa non avrà ovviamente nulla di "visuale": è solo una specie di ponte verso la home page, ricordate? Ciò che inseriremo saranno due blocchi di codice.

Per prima cosa faremo uso di un Command. Di cosa si tratta? Semplificando: l'oggetto Command consiste in una serie di istruzioni SQL per apportare modifiche ad un database. In Ultradev è possibile creare Command in maniera semplice e intuitiva, a patto di conoscere le basi del linguaggio SQL. Non preoccupatevi, per il nostro tutorial vi forniremo la stringa esatta da utilizzare. Vediamo come si procede.

Dal pannello Data Bindings di UD cliccate su + e selezionate l'opzione Command (Stored Procedure). La finestra di configurazione è molto simile a quella per creare Recordset in modalità avanzata (figura 4 - clicca per visualizzare).

Per il nostro scopo è sufficiente che impostiate tutto seguendo la figura, ma è opportuno spiegare in breve quello che facciamo. In alto vanno impostati il nome del Command e la connessione da utilizzare (ovviamente sarà quella che punta al database utenti). In secondo luogo, va impostato il tipo di operazione che il Command dovrà eseguire: nel nostro caso si tratta di aggiornare il campo "Contatore" della tabella, che ha come valore predefinito 0 (Update). Nella casella al centro andiamo a inserire il codice SQL. Eccolo:

UPDATE Login
SET Contatore = Contatore + 1
WHERE UserID = 'varUserID'

È come si dicessimo: aggiorna la tabella Login e incrementa il valore del campo Contatore di 1. Ma quale record va aggiornato? Lo stabiliamo con l'istruzione WHERE: aggiorneremo il record in cui il valore del campo UserID sarà uguale alla variabile 'varUserID'. Per impostare il valore di questa variabile si utilizza lo spazio in basso. Per noi 'varUserID' è uguale al valore della variabile di sessione 'MM_Usernamè. Si tratta di una variabile creata automaticamente da Ultradev quando si inserisce il behavior Log In User e corrisponde al valore inserito nel form di login.

Fatto tutto? Un click su OK per completare l'inserimento del Command e visualizzate il codice della pagina. Individuate la fine del blocco di codice del Command o, per sicurezza, posizionatevi col cursore prima del tag <html>. Copiate e incollate questa riga di codice:

<% Response.Redirect "index.asp" %>

È facile capire a cosa serve. Dopo l'aggiornamento della tabella, l'utente viene indirizzato alla pagina principale. E con la seconda pagina è tutto.

A questo punto il tutorial potrebbe finire qui. Se siete interessati a vedere il numero di visite vi basterà infatti andare a controllare il database. Ma se volete mostrare all'utente quante volte ha visitato il sito? Si procede così.

Nella pagina "index.asp" create un nuovo recordset secondo le impostazioni della figura 5 (clicca per visualizzare). Creato il nuovo recordset, espandetelo e trascinate il valore del campo "Contatore" sulla pagina, magari preceduto da una frase tipo "Hai visitato il nostro sito ...... volte". Alla prossima!


Ti consigliamo anche