PDA

View Full Version : ASP: come mantere i dati dell'utente dopo il login?


Bados
05-08-2003, 13:36
Ciao a tutti, ho un problema. Ho una pagina di login (login.asp) in cui vi è un form dove inserire username, password, codicecliente. Cliccando, si viene rimandati a logincheck.asp che prende i 3 dati dal form con Request.form. A questo punto faccio:
SELECT * FROM T_ANAGRAFICA INNER JOIN T_PRODOTTI ON T_ANAGRAFICA.codicecliente = T_PRODOTTI.codicecliente WHERE T_ANAGRAFICA.codicecliente ='"&codicecliente&"' AND password='"&password&"' AND username='"&username&"'
Così vengono visualizzati i prodotti riferiti al cliente, e fin qui tutto bene.
Poi ho un collegamento a
scriviprodotti.asp?codicecliente=<%=rs("codicecliente")%>
che mi permette, tramite form, di aggiungere un nuovo prodotto.
Compilato il form di scriviprodotti.asp si viene rimandati a scriviprodotti2.asp in cui c'è l'istruzione INSERT.
Il problema è che da scriviprodotti2.asp vorrei tornare a logincheck.asp. Poichè questo prendeva i dati (username, password, codicecliente) dal form di login.asp per fare il SELECT, come faccio ora a ridargli quei dati? Potrei usare le variabili di sessione? Come? Inoltre vorrei che tornando a logincheck.asp i dati fossero aggiornati, cioè fosse incluso anche il prodotto appena inserito.
Ciao e grazie.

leon84
05-08-2003, 13:44
Certo puoi usare le variabili di sessione ?

In pratica nella pagina che processerà il tuo login che se non erro hai chiamato logincheck.asp ti crei variabili di sessione nel seguente modo :

Session ("Username")= Request.form("Username")
Session("CodiceCliente") = Request.form("CodiceCliente")

Ora per tutta la sessione attiva dell'utente potrai richiamare in qualsiasi pagina le variabili di sessione ;)

Ciao

Bados
05-08-2003, 13:48
Io avevo provato a fare così:

session.contents("username")=Request.Form("username")
username=session.contents("login")
session.contents("password")=Request.Form("password")
password=session.contents("password")
session.contents("codicecliente")=Request.Form("codicecliente")
codicecliente=session.contents("codicecliente")

...e poi:
SELECT * FROM T_ANAGRAFICA INNER JOIN T_PRODOTTI ON T_ANAGRAFICA.codicecliente = T_PRODOTTI.codicecliente WHERE T_ANAGRAFICA.codicecliente ='"&codicecliente&"' AND password='"&password&"' AND username='"&username&"'

ma mi dava errore:
"ADODB.Field (0x80020009)
Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente."

Cosa c'è che non va nel codice?

lombardp
05-08-2003, 16:36
Conosco 4 modi per far persistere i dati:

- cookies
- campi hidden nei form
- passaggio nell'URL
- variabili di sessione (dati memorizzati lato server)

matpez
12-08-2003, 11:48
Originariamente inviato da lombardp
Conosco 4 modi per far persistere i dati:

- cookies
- campi hidden nei form
- passaggio nell'URL
- variabili di sessione (dati memorizzati lato server)

Perfetto :p , Aggiungo solo che la session dopo 20 minuti che nn si utilizza si resetta oer cui va modificata a tuo piacimento con Session.TimeOut=Minuti :)