37 messaggi dal 06 giugno 2002
Ciao a tutti!
Ora vi posto il codice per un autentica con database connesso!
Mi da errore nella linea Tra le due FRECCIE Aiutatemi è urgente!!!


<%
'Connessione al database
.
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("utenti.mdb")

'Leggiamo i dati raccolti da login.asp (se usate il metodo POST dalla login.asp allora usate il request.form() non solo request:
login=request.form("login")
password=request.form("password")

'Apriamo la connessione al database
Set connessione = Server.CreateObject("ADODB.Connection")
connessione.Open connectionString

'Facciamo la query
query="SELECT * FROM UTENTI WHERE login='" & login & "' and Password='" & password & "'"
Set rs = connessione.execute(query)

if rs.EOF then 'Il resultset è vuoto non esiste nessun utente con il login inserito
Session.Abandon
paginaDiDestinazione = "login.asp?errore=" & Server.URLEncode("Nome utente inesistente o password errata") & "&paginaOriginale=" & paginaOriginale
else ' Esiste un utente con il login inserito
Session("Autenticato")="OK" 'utente Ok
Session("livelloUtente")=rs("livelloUtente")'livello utente
Session("nominativo")=rs("nominativo") 'nominativo
-------------->if len rs("Pagina")>0 then<--------------- ' se esiste una pagina iniziale impostata per l'utente (da db) es.: Utente1.asp
paginaDiDestinazione = rs("Pagina")
else '...altrimenti lo manda alla pagina di default
paginaDiDestinazione = "Default.asp"
end if
end if

'Facciamo pulizia
rs.close
set rs = nothing
connessione.close
set connessione = nothing

'Rimandiamo l'utente alla pagina appropriata
Response.Redirect paginaDiDestinazione
%>


635 messaggi dal 06 settembre 2002
Ciao,
che tipo di errore ti segnala il server?
Nella tabella c'è un campo che si chiama Pagina?



 JD

OJD
164 messaggi dal 27 novembre 2001
L'argomento della funzione len va messo tra parentesi

<code>
if len(rs("Pagina"))&gt;0 then
</code>



 Marco "Scetticus"

Marco "Scetticus"
37 messaggi dal 06 giugno 2002
Ciao allora il campo è Pagina!
Mentre mi da errore anche usando le parentesi dopo il len! Bo non so che fare
Altri suggerimenti?
Help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

164 messaggi dal 27 novembre 2001
prova a scrivere così
<code>
if len(rs("Pagina"))&lt;&gt;"" then
</code>

 Marco "Scetticus"

Marco "Scetticus"
252 messaggi dal 18 dicembre 2001
if Len(rs.fields(nome_campo).value) &gt; 0 then...

Rei.

Rei.
11.886 messaggi dal 09 febbraio 2002
Contributi
E' la stessa cosa che è capitata a me ieri. Leggete questo post:

http://forum.aspitalia.com/forum/topic.asp?TOPIC_ID=11648

A me non restituisce un errore... semplicemente quando tento di usare la funzione
Len(rs("campo"))

quando "campo" è vuoto, len non restituisce niente, neanche 0.
Eppure tutte le sintassi che avete scritto voi sono corrette.
Ripeto, a me non da errore (uso PWS) ma forse su IIS si.

Il problema è che un campo vuoto, qualche volta, viene considerato null, e non si può passare un argomento null a funzioni come Len, Split o Replace.

Dovresti evitare di usare la funzione Len e invece che scrivere:


if len(rs("Pagina"))&lt;&gt;"" then

fai:

if isEmpty(rs("pagina")) or isNull(rs("pagina")) then

c'ho perso tempo tutto ieri... ed è l'unica soluzione che ho trovato

-----------------------
Da una perla dal saggio:
Quando non hai capito, devi dire "non ho capito", no che dici che hai capito e invece non hai capito un cavolo. Hai capito?
-----------------------

Enjoy learning and just keep making
37 messaggi dal 06 giugno 2002
Ciao a tutti!
Dopo aver modificato il documento mi da sempre la pagina di destinazione come se fosse vuoto il campo "Pagina", quindi, come potete vedere mi manda in Default.asp, non riesco a capire il perchè!
Vi riposto il codice come l'ho modificato...
Non ci capisco più niente!!!!




&lt;%
'Connessione al database
'Attenzione: bisogna cambiare posizione al file utenti.mdb nei siti in produzione altrimenti digitando http://mioserver/utenti.mdb
'si ottiene il database completo con le password in chiaro.
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("utenti.mdb")

'Leggiamo i dati raccolti da login.asp (se usate il metodo POST dalla login.asp allora usate il request.form() non solo request:
login=request.form("login")
password=request.form("password")

'Apriamo la connessione al database
Set connessione = Server.CreateObject("ADODB.Connection")
connessione.Open connectionString

'Facciamo la query
query="SELECT * FROM UTENTI WHERE login='" & login & "' and Password='" & password & "'"
Set rs = connessione.execute(query)

if rs.EOF then 'Il resultset è vuoto non esiste nessun utente con il login inserito
Session.Abandon
paginaDiDestinazione = "login.asp?errore=" & Server.URLEncode("Nome utente inesistente o password errata") & "&paginaOriginale=" & paginaOriginale
else ' Esiste un utente con il login inserito
Session("Autenticato")="OK" 'utente Ok
Session("livelloUtente")=rs("livelloUtente")'livello utente
Session("nominativo")=rs("nominativo") 'nominativo
if isEmpty(rs("pagina")) or isNull(rs("pagina")) then ' se esiste una pagina iniziale impostata per l'utente (da db) es.: Utente1.asp
paginaDiDestinazione = response.redirect (rs("pagina"))
else '...altrimenti lo manda alla pagina di default
paginaDiDestinazione = "Default.asp"
end if
end if

'Facciamo pulizia
rs.close
set rs = nothing
connessione.close
set connessione = nothing

'Rimandiamo l'utente alla pagina appropriata
Response.Redirect paginaDiDestinazione
%&gt;


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.