3.122 messaggi dal 16 maggio 2002
Scusa un attimo...ma la tua query è questa??

Select id, login, password FROM tbl_login WHERE login1 ='' AND password1 = ''

Perché hai messo login1 e password1?? Io non so come sia la struttura del tuo database, ma dubito che ci sia un campo login e uno login1, e un campo password e un campo password1..

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
3.122 messaggi dal 16 maggio 2002
Ok, vedo che ancora non va ma a questo punto è un problema di oggetto.
Ultima modifica poi se non funziona fai come ti ho detto prima.
Modifica così il global.asa

<OBJECT RUNAT=Server SCOPE=Application ID=conn PROGID="ADODB.Connection">
</OBJECT>

Sub Application_OnStart
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/archivio.mdb") & ";"
End Sub

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
Senti, scusami ancora, ma sto uscendo pazzo! Se hai voglia e tempo mi dai delle dritte perché io sto incominciando a capire qualcosa, ma faccio errori a manetta e quindi rischio di arenarmi per una virgoletta messa dove non devo (o anche per errori più grossi, si intende!) Allora se ho capito bene, elimino il global.asa (che mista anche sulle balle) e nella pagina login.asp metto la connessione al database. Il problema mio è: dove la metto la connessione al database. Penso che abbia importanza il punto. Tu mi dici: ragiona!! Io ti dico: ci ho provato ed è venuto fuori questa login.asp


<%
Option Explicit
'--------------------------------------------------------
'Purpose: Login
'Date: 07 April 2001
'Commenti:
'--------------------------------------------------------
Response.Buffer = True
Dim objConn, strConn, objRs, strsql
Dim submitted, login, password
%>
<html>
<head>
<title>Login</title>
</head>
<body bgcolor=powderblue>

<%
submitted = Request.Querystring("submitted")
If submitted then

login = Request.Form("login")
password = Request.Form("password")

strsql = "Select id, login, password FROM tbl_login "
strsql = strsql & "WHERE login ='" & login & "' AND password = '" & password & "'"

response.write strsql & "<br>"

Sub Application_OnStart
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/archivio.mdb") & ";"
Set Application("dbconn") = conn
End Sub

set objRs = objConn.Execute(strsql)

If objRs.EOF then
'Non e' valido, mandalo indietro
response.redirect "login.asp"
Else
'e' valido, fallo entrare
session("login") = True
objRs.close
Set objRs = Nothing
response.redirect "pannello.htm"
end if
else
'show the form
%>
hello
<div align="center">
<form action="login.asp?submitted=true" method="post">
<table align="center" cellspacing="0" cellpadding="5" border="1" bordercolor="midnightblue" bgcolor="ivory" width="400">
<tr>
<th><font color=firebrick size=+2><b>Solo chi voglio io!</b></font></th>
</tr>
<tr>
<td align="center" bgcolor="azure">
<%
if session("login") and Submitted then
response.redirect "login.asp"
else
response.write "<br><br> Per favore, entra login/password. <br><br>"
end if
%>
<table>
<tr>
<td class=event>Login:</td>
<td><input type="text" name="Login" size="10" maxlength="30"></td>
</tr>
<tr>
<td class=event>Password:</td>
<td><input type="password" name="Password" size="10" maxlength="12"></td>
</tr>
</table>
<br>
<input type="submit" value="Submit">
<input type="reset" value="Cancel" Onclick="Javascript:history.go(-1)">
</td>
</tr>
</table>
</form>
</div>

</body>
</html>

<%
end if

Response.end
Response.Clear
%>

ma non sono sicuro del punto dove ho inserito il collegamento al server. Per di più, come ti dicevo in uno dei miei primi scritti, secondo me il database di esempio (non posso aprirli perché dove sono ora non ho access) i campi della tabella tbl_login erano chiamati login1 e password1 e quindi questa cosa da qualche parte deve risultare nella pagina login.asp o no??
3.122 messaggi dal 16 maggio 2002
Uhm.. ci sono un po' di errori. Vediamo un po' se ora riusciamo a fare sto benedetto collegamento al database.

<%
Option Explicit
'--------------------------------------------------------
'Purpose: Login
'Date: 07 April 2001
'Commenti:
'--------------------------------------------------------
Response.Buffer = True
Dim objConn, strConn, objRs, strsql
Dim submitted, login, password
%>
<html>
<head>
<title>Login</title>
</head>
<body bgcolor=powderblue>

<%
submitted = CBool(Request.Querystring("submitted"))
If submitted then

login = Request.Form("login")
password = Request.Form("password")

strsql = "Select id, login, password FROM tbl_login "
strsql = strsql & "WHERE login ='" & login & "' AND password = '" & password & "'"

response.write strsql & "<br>"

set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/archivio.mdb") & ";"

set objRs = Server.CreateObject("ADODB.Recordset")
set objRs = objConn.Execute(strsql)

If objRs.EOF then
'Non e' valido, mandalo indietro
objRs.close
Set objRs = Nothing
objConn.close
Set objConn = Nothing
response.redirect "login.asp"
Else
'e' valido, fallo entrare
session("login") = True
objRs.close
Set objRs = Nothing
objConn.close
Set objConn = Nothing
response.redirect "pannello.htm"
end if
else
'show the form
%>
hello
<div align="center">
<form action="login.asp?submitted=true" method="post">
<table align="center" cellspacing="0" cellpadding="5" border="1" bordercolor="midnightblue" bgcolor="ivory" width="400">
<tr>
<th><font color=firebrick size=+2><b>Solo chi voglio io!</b></font></th>
</tr>
<tr>
<td align="center" bgcolor="azure">
<%
if session("login") and Submitted then
response.redirect "login.asp"
else
response.write "<br><br> Per favore, entra login/password. <br><br>"
end if
%>
<table>
<tr>
<td class=event>Login:</td>
<td><input type="text" name="Login" size="10" maxlength="30"></td>
</tr>
<tr>
<td class=event>Password:</td>
<td><input type="password" name="Password" size="10" maxlength="12"></td>
</tr>
</table>
<br>
<input type="submit" value="Submit">
<input type="reset" value="Cancel" Onclick="Javascript:history.go(-1)">
</td>
</tr>
</table>
</form>
</div>

</body>
</html>

<%
end if

Response.Flush
%>

Così dovrebbe funzionare, a meno dei nomi dei campi della tabella (che non conosco).

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
Senti no va nenche così. Il database io l'ho preso da dove mi hai mandato tu a vedere per l'esempio di login e password. Come ti dicevo io non ho qui sul pc access e quindi non posso controllare se è vero che i campi della tabella tbl_login sono login1 e password1. Se avessi access te lo posso mandare via email?? o se no, se fosse vero che sono login1 e password 1, dove devo mettere questi 1?? Se tu, con grande pazienza che dimostri di avere, me lo dici, evitiamo che io li sparga + o - qua e la!!

Garzie
Mi sono accorto che tu mi hai scritto nell'ultimo post:

set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/archivio.mdb") & ";"

ma ("/mdb-database/archivio.mdb") non deve essere ("../mdb-database/archivio.mdb") perché il file login.asp io l'ho dentro una cartella (pannello) che è allo stesso livello di mdb-database

Comunque anche facendo tale modifica (che spero sia giusta), NON VA!!!!!
3.122 messaggi dal 16 maggio 2002
ma ("/mdb-database/archivio.mdb") non deve essere ("../mdb-database/archivio.mdb") perché il file login.asp io l'ho dentro una cartella (pannello) che è allo stesso livello di mdb-database

Infatti io non ho scritto mdb-database/archivio.mdb, ho scritto /mdb-database/archivio.mdb, cioè ne ho indicato il percorso assoluto dalla root del sito web.

Allora, facciamo una bella cosa: ricominciamo da capo!
Crea una pagina di login, con un form con due campi di tipo text "login" e "password", che manda i dati alla pagina "riservata.asp".
Quindi

<form action="riservata.asp" method="post">
Login: <input type="text" name="login" value="" size="20"><br>
Password: <input type="password" name="password" value="" size="20"><br>
<input type="submit" value="Accedi">
</form>

La pagina riservata.asp invece sarà così composta:

<%
function SQLString(str)
SQLString = Replace(str, "'", "''")
end function

sql = "SELECT Id" & _
" FROM tbl_login" & _
" WHERE [login]='" & SQLString(Request.Form("login")) & "'" & _
" AND [password]='" & SQLString(Request.Form("password")) & "'"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("/mdb-database/archivio.mdb") & ";"
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs = conn.Execute(sql)
if rs.EOF then
Response.Write "Login errato. Torna indietro per riprovare"
else
Response.Write "Bravo, sei riuscito ad accedere"
' poi metti tutto quello che ti pare
end if
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
%>

Ma la tua pagina di login adesso funziona? Ho provato e non mi dà più errori (cioè non riesco ad accedere perché non conosco i dati, ma non ottengo errori come prima).

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

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.