Qui di seguito riporto il codice della pagina index.asp dove viene effetuata l'autenticazione.
- Codice: Seleziona tutto
<html><style type="text/css">
<!--
body {
background-color: #FFFFFF;
}
body,td,th {
color: #000000;
}
.Stile1 {font-size: xx-large}
.Stile4 {font-size: large}
-->
</style>
<body>
<div align="center">
<%
dim dbconn , rs
set dbconn = Server.CreateObject("ADODB.CONNECTION")
DBCONN.OPEN "provider=microsoft.jet.oledb.4.0; DATA SOURCE=" & SERVER.MAPPATH("utenti.mdb")
IF session("ACCESSO") = false Then
SESSION_FALSE()
ELSE
SESSION_TRUE()
END IF
%>
<% SUB SESSION_FALSE()%>
<% Bottone = request.Form("Bottone")
IF Bottone <> "" then
nome = request.form("nome")
pass = request.form("pass")
sSQL="select nome, pass from registrati where nome= '" & nome & "' and pass = '" & pass & "';"
set rs=dbconn.execute(sSQL)
if not rs.eof then
session_true()
session("ACCESSO") = true
ELSE
session("ACCESSO")= false
SESSION_AUTENTICAZIONE()
%>
<P align="center"><%response.Write "ACCESSO NEGATO NOME UTENTE O PASSWORD ERRATI!!"%></P>
<%END IF
ELSE
session("ACCESSO")= false
SESSION_AUTENTICAZIONE()
END IF
END SUB %>
<% SUB SESSION_TRUE() %>
<p align="center">
<% RESPONSE.Write " ACCESSO AREA RISERVATA " %></p>
<br><br><br><br>
<p align="center"><a href="riservato.asp">Pagina Riservata</a>
<a href="index.asp">Logout<% session.abandon%></a></p>
<% END SUB %>
<% SUB SESSION_AUTENTICAZIONE ()%>
<form action= "index.asp" method="post">
<p align="center"> </p>
<h1 align="center"><span class="Stile2">Autenticazione</span></h1>
<p align="center"> </p>
<p align="center"><strong>Id Utente
<input name="nome" type="text" size="24" maxlength="50">
</strong></p>
<p align="center"><strong>Password
<input name="pass" type="password" size="24" maxlength="50"> </strong></p>
<p align="center">
<input type="submit" name="BOTTONE" value="Entra">
</p>
</form>
<% END SUB %>
</body></html>
L'autenticazione dell'utente viene effettuata senza nessun problema se il login viene effetuato con successo allora la session acquista valore true , come potete vedere dal codice ho creato un link verso una pagina riservata nominata appunto riservato.asp che di seguito riporto anche il codice.
- Codice: Seleziona tutto
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<% dim dbconn, rs
set dbconn=server.createobject("adodb.connection") %>
<% dbconn.open "provider=microsoft.jet.oledb.4.0; data source="& server.mappath("utenti.mdb")
set rs = server.CreateObject("ADODB.RECORDSET") %>
<%
IF session("ACCESSO")= true THEN
SESSION_TRUE()
Else
SESSION_FALSE()
END IF
%>
<% SUB SESSION_TRUE() %>
<p align="center"><%response.Write "PAGINA RISERVATA"%></p><br><br><br>
<p align="center"><a href="index.asp">Logout<% session.abandon%></a></p>
<% end sub %>
<% SUB SESSION_FALSE() %>
<div align="center"><b><font size="6">AREA RISERVATA PER ACCEDERE EFFETUARE IL LOGIN!!</font></b></div>
<% END SUB%>
</body></html>
In questa pagina si dovrebbe accedere soltanto se viene effetuato il login, ma appunto non lo fà e come se la session non tiene il valore true assegnato in precedenza dopo l'autenticazione.
Sapete come aiutarmi? Sto diventando matto non riesco ad individuare dove sbaglio.
![Piangere a dirotto [cry+]](http://www.megalab.it/forum/images/smilies/cry.gif)