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

Pagina di registrazione nuovo utente ( parte 2 )

Creazione del modulo necessario alla registrazione di nuovi utenti
Creazione del modulo necessario alla registrazione di nuovi utenti
Link copiato negli appunti

Si consiglia di visionare il file
sorgente completo
per maggior dettagli nella spiegazione della lezione.

Appena inviamo il form, viene ricaricata la stessa pagina e viene nuovamente effettuato il controllo descritto in precedenza. Tale controllo verifica se la pagina viene semplicemente caricata oppure se ha il compito di rielaborare i dati immessi nel form.

003: if Request.TotalBytes>0 then
004: dim strLogin
005: strLogin = request.form("login")
006: strLogin = trim(strLogin)
007: dim strCode
008: strCode = request.form("codice")
009: strCode = trim(strCode)
010: dim strMail
011: strMail = request.form("mail")
012: strMail = trim(strMail)
013: dim intValido
014: intValido = 0

Questa volta, come prevedibile, vi sono dei dati inviati e vengono memorizzati all'interno di variabili.

Nome variabile
Casella di Testo
Significato
strLogin login Nome utente scelto all'interno della messaggeria
strCode codice Codice di accesso scelto all'interno
della messaggeria
strMail mail Indirizzo di posta elettronica scelto
da utilizzare all'interno della messaggeria.

Una volta acquisiti questi tre dati, viene testato che tutti e tre i siano validi e che nessuno di essi sia nullo.

016:if(strMail<>"")AND(strCode<>"")AND(strLogin<>"")then

Se il test viene superato, viene effettuata una ricerca all'interno della tabella specifica per verificare la presenza di un eventuale nome utente uguale a quello immesso nel form di registrazione (si ricorda che il nome utente deve esser univoco)

022: 'Verifico che non vi sia gi utente
023:
024: Set conn = Server.CreateObject("ADODB.Connection")
025: Set comm = Server.CreateObject("ADODB.Command")
026: Set Rs = Server.CreateObject("ADODB.Recordset")
027:
028: conn.CommandTimeout = 40
029: conn.CursorLocation = 1
030: conn.ConnectionString = dbConnessione
031: conn.Open
032:
033: comm.ActiveConnection = conn
034: comm.CommandType = 1
035:
036: comm.CommandText = "select id_user from utenti
where login='"&strLogin&"'"
037:
038: Rs.Open comm,,1,1
039:
040: if not(rs.eof) then
041: intValido = 1
042: end if
043:
044: rs.close
045: conn.close
046:
047: set rs = nothing
048: set comm = nothing
049: set conn = nothing

Alla riga ventiquattro, abbiamo la dichiarazione dell'oggetto connessione. La creazione della connessione ADO col database mySql è la parte fondamentale. Infatti senza di essa non vi è alcuna possibilità di accedere ai dati presenti al suo interno.Ora osserviamo le proprietà dell'oggetto connessione dichiarate nelle righe dalla 28 alla 30.

N° Riga
Proprietà
Valore
Significato
28
CommandTimeout 40 Specifica il tempo di attesa massimo prima di dichiarare fallito il tentativo di connessione.
29
CursorLocation 1 Specifica dove utilizzare il cursore.
30
ConnectionString dbConnessione Specifica la stringa di connessione necesaria per connettersi al database. Specificata o nel file incluso oppure all'interno del global.asa
31
Open / Apre la connessione al database utilizzando
i valori specificati in precedenza.

In seguito, nella riga 25, viene dichiarato l'oggetto command. Tale oggetto è in grado di eseguire comandi Sql oppure di manipolare la struttura di un database.Ora osserviamo le proprietà dell'oggetto command dichiarate nelle righe dalla 33 alla 36.

033: comm.ActiveConnection = conn
034: comm.CommandType = 1
035:
036: comm.CommandText = "select id_user from utenti
where login='"&strLogin&"'"

N° Riga
Proprietà
Valore
Significato
33
ActiveConnection conn Specifica su quale connessione deve deve lavorare l'oggetto command istanziato.
34
CommandType 1 Specifica se il comando riguarda una tabella(2) oppure se è una stringa SQL (1)
36
CommandText "select id_user from utenti where login='" & strLogin & "'" Indica la stringa SQL da eseguire.

Alla riga 26, viene instanziato il recordset e immediatamente viene aperto:

038: Rs.Open comm,,1,1

sfruttando i valori specificati nei due oggetti istanzati in precedenza. Una volta aperto il recordset, vi è la verifica dell'esistenza o meno del nostro nome nel database:

040: if not(rs.eof) then
041: intValido = 1
042: end if

Se esiste già un utente con nome scelto in fase di registrazione, la variabile intValido assumerà valore 1. Torniamo brevemente al form di registrazione descritto nella pagina precedente:

145: <td colspan="5">
146: <%
147: select case intValido
148: case 0
149: response.write " "
150: case 1
151: response.write "Nome utente gi in uso. Sceglierne
nuovo."
152: case 2
153: response.write "Verificare i dati immessi."
154: end select
155: %>
156: </td>

Ecco da dove si ricavava il valore necessario a far apparire o meno scritte tra la riga azzurrina del titolo e le caselle di testo.

Ti consigliamo anche