Un Forum di discussione in ASP - Parte 3 | |
![]() |
|
| |
|
ASP Center
Articoli
Referenze
Script
FAQ
Downloads
Siti utili
ASP
E-Commerce con ASP
Menu Javascript
Ricette
Cocktail
Registrazione domini
Area Aziende
|
Un Forum di discussione in ASP - Parte 3
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 LogoutNon 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" %> |
Newsletter
Stringhe di Conn.
|
||
| © 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 | ||||