Articoli Referenze Script FAQ Downloads ASP E-Commerce con ASP Menu Javascript Ricette Cocktail Registrazione domini Area Aziende



Un Forum di discussione in ASP - Parte 3

Home + Articoli + Messaggistica + Articolo # 137
Autore: Luca Ruggiero

Concesso in esclusiva a Mr.Webmaster. Vietata la riproduzione.


Fase di Login

Una volta iscritto, l'utente dovrà effettuare il login prima di poter inserire un nuovo messaggio o prima di poter rispondere ad una discussione qualsiasi. Per autenticare l'utente utilizzeremo una variabile di sessione. Utilizzeremo il classico modulo richiedente username e password ed ricorreremo al sistema della querystring nell'action per inviare i dati allo stesso file ed eseguire lo script di verifica solo se la querystring è stata valorizzata. Di seguito il codice commentato del file login.asp
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
' Dichiaro le variabili che mi servono
Dim Cn, login, username, password, Verifica, re
' Recupero la querystring
login = Request.QueryString("login")
%>
<html>
<head>
   <title>Forum</title>
</head>
<body>

<!--#include file="menu.asp"-->

<%
' Se il modulo è stato inviato...
If login = "OK" Then
' Recupero i dati dal form
username = Request.Form("username")
password = Request.Form("password")
' Verifico che vengano inseriti dei dati
If Len(Trim(username)) = 0 Or Len(Trim(password)) = 0 Then
Response.Write "Inserisci username e password"
Else ' Se vengono inseriti...
' Mi connetto al database
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open StrCn
' Verifico che l'utente esiste
Dim SQL
SQL = ""
SQL = SQL & "SELECT username FROM utenti WHERE "
SQL = SQL & "username = '" & Replace(username, "'", "''") & "' "
SQL = SQL & "AND "
SQL = SQL & "password = '" & Replace(password, "'", "''") & "' "
Set Verifica = Cn.Execute(SQL)
   ' Se non esiste lancio un messaggio di errore
   ' altrimenti creo la Session e do un messaggio di benvenuto
If Verifica.EOF Then
Response.Write "Utente sconosciuto"
Else
Session("username") = Verifica("username")
With Response
.Write ""
.Write "Benvenuto " & Session("username")
.Write ""
End With
End If
Cn.Close
Set Cn = Nothing
End If
With Response
.Write ""
.Write "<a href=""javascript:window.history.back()"">"
.Write "Indietro</a>"
End With
Else
%>

<table width="250" align="center" cellpadding="1" cellspacing="1"
border="1">
<form method="post" action="login.asp?login=OK">
<tr>
<td bgcolor="#CCCCCC"><b>Effettua il Login</b></td>
</tr>
<tr>
<td>
Username<br>
<input type="text" name="username" maxlength="15">
<br>
Password<br>
<input type="password" name="password" maxlength="15">
<br>
</td>
</tr>
<tr>
<td align="right"><input type="submit" value="Login"></td>
</tr>
</form>
</table>

<%
End If
%>

</body>
</html>
Fase di Logout

Non avendo utilizzato un cookie in modo da ricordare i dati dell'utente anche in un secondo momento ed evitare di dover rieffettuare il login, non ci sarebbe bisogno di creare una funzione di logout, ma è corretto mettere comunque a disposizione questa funzione. Il codice del file logout.asp è molto semplice: distruggo la Session ed reindirizzo l'utente alla Homepage del Forum
<%@LANGUAGE = VBScript%>
<%
Response.Buffer = true
Session.Abandon
Response.Redirect "index.asp"
%>
© 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti
  Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | AlVerde.net | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones