42 messaggi dal 01 aprile 2005
HO creato un codice che mi riconosca l'utente loggato e se è abilitato ad entrare nella sua pagina personale.
Ho creato una session e lo messa nella pagina di login:

code:
--------------------------------------------------------------------------------

<% Session("utente") = utente %>

--------------------------------------------------------------------------------

Poi ho fatto questo codice e lo ho inserito nella paginariservata ad ogni utente...Funziona perfettamente. ..ma se questo stesso codice lo inserisco in un'altra pagina (sempre per controllare l'utente) non mi funziona .. mi esce scritto "Exception occurred" sulla linea indicata dalla freccia:


<% Dim controlloutente
controlloutente = Session("utente") %>
<%
dim nulla4
dim conn4
dim sSql4
dim rs4
Set conn4 = Server.CreateObject("ADODB.Connection")
conn4.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/dbcollezione.mdb")
ID = cInt(request("ID"))
sSql4 = "SELECT utente FROM tabdbcollezione where ID = "&ID&""
Set rs4 = Server.CreateObject("ADODB.Recordset")
rs4.Open sSql4, conn4, 3, 3

if rs4("utente") = controlloutente then <---------
nulla4 = 0
else

Response.redirect ("nonabilitato.asp")

end if
rs4.Close
Set rs = Nothing
conn4.Close
Set conn4 = Nothing

%>
Grazie..speriamo che voi almeno avete capito l'arcano!
Modificato da Mattatore il 08 ottobre 2005 13.19 -
Modificato da Mattatore il 08 ottobre 2005 23.20 -
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Ciao, forse sono accecato io ma non vedo la freccia!

E' forse nella linea di codice:
controlloutente = Session("utente")

Se sì, prima di assegnare ad una variabile il contenuto di un oggetto Session, devi sempre verificare che sia stato assegnato un valore.
if Session("utente")<>nothing then
controlloutente=Session("utente")
end if


Sempre se è quella la linea di codice...

Ciao
42 messaggi dal 01 aprile 2005
scusami ma ho inserito il tuo codice ma miesce questo errore sulla sua prima striga:

Microsoft VBScript runtime error '800a005b'
Object variable not set
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Mi sono accorto ora che quel codice si usa in asp.net e non in asp e vbscript

Questo è quello corretto:
if Session("utente")<>"" then 
controlloutente=Session("utente") 
end if


Ciao
42 messaggi dal 01 aprile 2005
Risolto il problema...avevo sbagliato..visto che mi trovavo in un'altra pagina non mi riusciva a trovare l'id per il sSql....allora ho crato una session per prendermi l'id ..ma non andava bene nenache la session perchè riconosceva sempre l'utente avendo preso sempre l'id giustoe confrontato con lo stesso...allora ho cambiato database e ricerca in questo modo:

<% Dim controlloutente2
controlloutente2=session("idutente")
%>
<%
dim nulla4
dim conn4
dim sSql4
dim rs4
Set conn4 = Server.CreateObject("ADODB.Connection")
conn4.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/dbstati.mdb")
ID = cInt(request("ID"))
sSql4 = "SELECT idutente FROM tabstati where id = "&ID&""
Set rs4 = Server.CreateObject("ADODB.Recordset")
rs4.Open sSql4, conn4, 3, 3


if rs4("idutente") = controlloutente2 then
nulla4 = 0
else

Response.redirect ("nonabilitato.asp")

end if
rs4.Close
Set rs = Nothing
conn4.Close
Set conn4 = Nothing

%>


ed il tutto funziona! Perchè ora mi prendo l'id esatto (contenuto in idutente) e faccio il controllo per vedere se corrisponde all'id dell'utente di quella pagina....E' un pò complicato...ma grazie a tutti!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.