Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[asp] Problema session

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

[asp] Problema session

Messaggioda Fidelius » gio lug 05, 2007 1:18 pm

Ciao ragazzi, ho un problema che non riesco a risolvere con le session in asp. Spiegandomi meglio sto sviluppanda un sito in asp che prevede l'autenticazione per poter accedere a delle pagine riservate.
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">&nbsp;</p>
<h1 align="center"><span class="Stile2">Autenticazione</span></h1>
 <p align="center">&nbsp;</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. [cry+]
Avatar utente
Fidelius
Aficionado
Aficionado
 
Messaggi: 78
Iscritto il: mar giu 28, 2005 4:58 pm

Messaggioda Fidelius » ven lug 06, 2007 12:22 pm

Finalmente ho risolto [:)]
Il problema stava proprio qua:

Codice: Seleziona tutto
<a>Logout<%session.abandon%></a>


con un link vado in una nuova pagina chiamata logout.asp nel quale faccio eseguire l'istruzione session.abadon
Avatar utente
Fidelius
Aficionado
Aficionado
 
Messaggi: 78
Iscritto il: mar giu 28, 2005 4:58 pm

Messaggioda M@ttia » ven lug 06, 2007 1:32 pm

Grazie per aver postato la soluzione [^] (mi spiace ma io sul php ci sono, ma sull'asp proprio nada...)
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising