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.


(mi spiace ma io sul php ci sono, ma sull'asp proprio nada...)