Salve,
ho un problemino che credo sia stupido in realtà.... ma non mi riesce di capirlo ugualmente, anche se ho provato a girare forcare disfare e rifare tutto.
Ho un area protetta, funziona correttamente, ora ho creato un area amministratori ci sono alcuni utenti che sono anche amministratori, ma per accedere alla sezione amministratori devono rieffettuare il login.
Fino a qui no problem, io uso questo script :
Nella pagina Amministrazione.asp c'è questo piccolo script :
Quindi se l' amministratore tenta di entrare viene reindirizzato alla mia pagina login.asp che è questa :
I dati nel database sono inseriti da me che abilito all' amministrazione e posso assicurarvi che i dati ci sono nel database eppure quando qualcuno cerca di accedere mi da il seguente errore :
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/amministratori/login.asp, line 23
la linea 23 è semplicemente questa :
else {
Session.Timeout = 15;
Session("utente") = String(ris("utente"));
ris.Close();
ADOConn.Close();
if (from!="undefined") Response.Redirect(from);
else Response.Redirect("http://www.google.com");
}
ris.Close();
ADOConn.Close();
}
La cosa buffa, che è anche quella che non capisco è che questo script funziona perfettamente nell' area privata, solo che è indirizzato ad un' altra tabella ma nello stesso database Utenti_sito.mdb, solo che anzichè "ADMIN" la tabella è "UTENTI".
Ora perchè se la pagina funziona con una tabella poi non funziona con un altra tabella ???
Insomma per essere chiari non capisco dove potrei aver sbagliato, il mio script funziona e interagisce con il database infatti se provo ad inserire un nome utente o una password errata lui mi mette fuori : "DATI NON TROVATI"
se metto quelli giusti mi da il maledetto errore sopra citato !!!
Please Help
Un saluto :byebye: :byebye: Nobby :byebye: :byebye:
ho un problemino che credo sia stupido in realtà.... ma non mi riesce di capirlo ugualmente, anche se ho provato a girare forcare disfare e rifare tutto.
Ho un area protetta, funziona correttamente, ora ho creato un area amministratori ci sono alcuni utenti che sono anche amministratori, ma per accedere alla sezione amministratori devono rieffettuare il login.
Fino a qui no problem, io uso questo script :
Nella pagina Amministrazione.asp c'è questo piccolo script :
Codice:
<%@ LANGUAGE = JScript %>
<%
if (Session("utente")==null) {
from = escape(String(Request.ServerVariables("SCRIPT_NAME")));
Response.Redirect("login.asp?from=" + from);
}
%>
Quindi se l' amministratore tenta di entrare viene reindirizzato alla mia pagina login.asp che è questa :
Codice:
[COLOR=DarkRed]<%@ LANGUAGE = JScript %>
<%
errore = false;
[B]utente = String(Request.Form("utente"));[/B]
pass = String(Request.Form("pass"));
from = String(Request.QueryString("from"));
if (utente!="undefined" && utente!="") {
from = Request.Form("from");
ADOConn = new ActiveXObject("ADODB.Connection");
strConn = "";
strConn += "driver={Microsoft Access Driver (*.mdb)};";
strConn += "dbq=" + Server.MapPath("/mdb-database/utenti_sito.mdb") + ";";
ADOConn.Open(strConn);
temputente = utente.replace(/'/g,"''");
tempPass = pass.replace(/'/g,"''");
[B] sql = "SELECT * FROM amministrazione WHERE amm LIKE '" + temputente + "' AND pass = '" + tempPass + "'";[/B]
ris = ADOConn.Execute(sql);
if (ris.EOF) errore = true;
else {
Session.Timeout = 15;
[B]Session("utente") = String(ris("utente"));[/B]
ris.Close();
ADOConn.Close();
if (from!="undefined") Response.Redirect(from);
else Response.Redirect("http://www.google.com");
}
ris.Close();
ADOConn.Close();
}
%>[/COLOR]
<html>
<head>
<title>Accesso all'area riservata</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#FFFF00" background="../Custodi/Custodi.jpg" link="#FFFF00" vlink="#FFFF00" alink="#FFFF00">
<div align="center">
<p><b><font face="Copperplate Gothic Bold" size="7">area amministratori</font></b></p>
[COLOR=DarkRed]<% if (errore) { %>[/COLOR]
<p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000">
DATI NON TROVATI, ACCESSO NEGATO</font></b></p>
[COLOR=DarkRed]<% } %>[/COLOR]
<form method="post" action="login.asp">
<input type="hidden" name="from" value="[COLOR=DarkRed]<%=from%>[/COLOR]">
<p align="center">
</p>
<p align="center">
<b><font face="Copperplate Gothic Bold" size="5">USERNAME :</font></b><br>
<input type="text" [B]name="utente"[/B] maxlength="20" size="25">
</p>
<p align="center">
</p>
<p align="center">
<b><font face="Copperplate Gothic Bold" size="5">PASSWORD :</font></b><br>
<input type="password" name="pass" size="25" maxlength="20">
</p>
<p> </p>
<p><input type="submit" value="ACCEDI"></p>
</form>
</div>
<p align="center"> <b><font size="6" face="Copperplate Gothic Bold">
</font></b></p>
</body>
</html>
I dati nel database sono inseriti da me che abilito all' amministrazione e posso assicurarvi che i dati ci sono nel database eppure quando qualcuno cerca di accedere mi da il seguente errore :
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/amministratori/login.asp, line 23
la linea 23 è semplicemente questa :
else {
Session.Timeout = 15;
Session("utente") = String(ris("utente"));
ris.Close();
ADOConn.Close();
if (from!="undefined") Response.Redirect(from);
else Response.Redirect("http://www.google.com");
}
ris.Close();
ADOConn.Close();
}
La cosa buffa, che è anche quella che non capisco è che questo script funziona perfettamente nell' area privata, solo che è indirizzato ad un' altra tabella ma nello stesso database Utenti_sito.mdb, solo che anzichè "ADMIN" la tabella è "UTENTI".
Ora perchè se la pagina funziona con una tabella poi non funziona con un altra tabella ???
Insomma per essere chiari non capisco dove potrei aver sbagliato, il mio script funziona e interagisce con il database infatti se provo ad inserire un nome utente o una password errata lui mi mette fuori : "DATI NON TROVATI"
se metto quelli giusti mi da il maledetto errore sopra citato !!!
Please Help
Un saluto :byebye: :byebye: Nobby :byebye: :byebye: