Accesso a pagine diverse

muscaril

Utente Attivo
16 Mar 2009
46
0
6
Premetto che non sono un programmatore, ma un autodidatta che mi piace tentare di programmare. Ho trovato un script asp, per registrare gli utente e per accedere questi utenti ad una pagina protetta. Adesso non so come fare ad fare avviare una diversa pagina per ogni usere.
Mi potete aiutare. Lo scrip che ho trovato ha un db dove sono registrati gli user.
 
accesso

supponenedo che ogni user sia registrato nel db... quando un qualsiasi utente entra con user e pass.. tu sai chi è entrato di conseguenza lo puoi mandarlo dove vuoi!!
if nomeCampoUser = "piero" then
Response.Redirect="pagina.asp"
end if

spero di essere stato utile.
 
questa scrip chemi hai inviato dove la devo inserire, questo e il comando di login:
<%
'Creo la variabile Action
'ha come valore il campo act del form
Dim Action
Action = request.form("act")

'Creo la variabile PrimaPagina
'e la setto sulla mia prima pagina asp protetta
Dim PrimaPagina
PrimaPagina = "default.asp"

'se Action è vuota stampo il form
if Action = "" then
%>

<form method="POST" action="login.asp">
<input type="hidden" name="act" value="enter">
<table border="0">
<tr><td>User</td><td><input type="text" name="u" size="20"></td></tr>
<tr><td>Pass</td><td><input type="password" name="p" size="20"></td></tr>
<tr><td colspan="2"><input type="submit" value="Login"></td></tr>
</table>
</form>

<%
'se Action ha come valore "enter"...
elseif Action = "enter" then

'creo la variabile User
'con il valore del campo u del form
Dim User
User = request.form("u")

'creo la variabile Pass
'con il valore del campo p del form
Dim Pass
Pass = request.form("p")

'Se User e/o Pass è vuota stampo un errore
if (User = "" or Pass = "") then
response.write "Form incompleto!"
response.end

'in caso contrario procedo alla verifica
else

'Apro la connessione al DB
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
Server.MapPath("utenti_sito.mdb")

'Imposto la query ed apro il recordset
Dim Query, Rs
Query = "select * from UTENTI where user = '" & User & "' "&_
"and pass = '" & Pass & "'"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open Query, Conn, 3, 3

'se nessun utente corrisponde stampo un errore
if Rs.EOF then
response.write "Spiacente! Login non corretto"
response.end

'in caso contrario imposto la mia session
'ed effettuo il redirect sulla prima pagina
else
Session("User") = User
Session("Pass") = Pass
Response.Redirect PrimaPagina

end if

'chiudo Rcordset e connessione
Rs.Close
set Rs = Nothing
Conn.Close
Set Conn= Nothing

end if
end if
%>

in questo la devo inseire oppure dove?
Grazie della tua disponibilità
 
questa scrip chemi hai inviato dove la devo inserire, questo e il comando di login:
<%
'Creo la variabile Action
'ha come valore il campo act del form
Dim Action
Action = request.form("act")

'Creo la variabile PrimaPagina
'e la setto sulla mia prima pagina asp protetta
Dim PrimaPagina
PrimaPagina = "default.asp"

'se Action è vuota stampo il form
if Action = "" then
%>

<form method="POST" action="login.asp">
<input type="hidden" name="act" value="enter">
<table border="0">
<tr><td>User</td><td><input type="text" name="u" size="20"></td></tr>
<tr><td>Pass</td><td><input type="password" name="p" size="20"></td></tr>
<tr><td colspan="2"><input type="submit" value="Login"></td></tr>
</table>
</form>

<%
'se Action ha come valore "enter"...
elseif Action = "enter" then

'creo la variabile User
'con il valore del campo u del form
Dim User
User = request.form("u")

'creo la variabile Pass
'con il valore del campo p del form
Dim Pass
Pass = request.form("p")

'Se User e/o Pass è vuota stampo un errore
if (User = "" or Pass = "") then
response.write "Form incompleto!"
response.end

'in caso contrario procedo alla verifica
else

'Apro la connessione al DB
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
Server.MapPath("utenti_sito.mdb")

'Imposto la query ed apro il recordset
Dim Query, Rs
Query = "select * from UTENTI where user = '" & User & "' "&_
"and pass = '" & Pass & "'"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open Query, Conn, 3, 3

'se nessun utente corrisponde stampo un errore
if Rs.EOF then
response.write "Spiacente! Login non corretto"
response.end

'in caso contrario imposto la mia session
'ed effettuo il redirect sulla prima pagina
else
Session("User") = User
Session("Pass") = Pass
_________________ qui...
if user = "tizio" then
Response.Redirect (paginaTizio)
elseif ="caio" then
Response.Redirect (paginaCaio)
end if


end if

'chiudo Rcordset e connessione
Rs.Close
set Rs = Nothing
Conn.Close
Set Conn= Nothing

end if
end if
%>

in questo la devo inseire oppure dove?
Grazie della tua disponibilità

Questo è un sistema, ma certamente diventa ingestibile se gli utenti sono molti... non ho capito di preciso che devi fare... o quanti utenti devi gestire con pagine separate. Se metti gli utenti sul db, ogni utente avrà la sua sessione d'entrata quindi li puoi gestire separatamente. Se crei dei gruppi d'utenti con diritti e privilegi basta che tu aggiunga un livello di priorità... tipo admin user e power user (lo puoi gestire utilizzando un numero che identifica il livello.. tipo 1 admin 2 user ecc.. quando un utente entra tu sai che numero ha e di conseguenza lo dirigi con un test.
ciauz!!
 
a logarsi saranno circa 100 persone, in realta io dovrei creare 100 pagine html, perchè ognuno logandosi si apre la sua pagina, dove all'interno della pagina c'è il suo stato di fatturazione, di interventi tecnici etc. etc.
 
Stato utente

Ok... capito, crei una pagina dinamica asp dove vai a leggere i contenuti del db divisi per utente.
Ogni utente ha un Idutente
Ogni fattura ha un IdFatture

Relazioni tra tabelle.
Tbella utenti in relazione con tabella fatture.
id utente
user
pass
nome
cgnome ecc...

Tabella fatture
Id Fatture
numero
data
importi ecc

il tipo di relazione che devi impostare è uno a molti, perchè un utente può avere più di una fattura. difficilmente il contrario.

credo sia la cosa più giusta da fare... 100 pagine sono troppe supponendo che in futuro arrivino altri clienti è cmq. impensabile avere una pagina dinamica.
ciauz
 
Vi chiedo un'altra informazione sul mio file diprogrammazione, volevo inserire un pulsante dove l'utente si possa registrare, ma inserendo il pulsante esso non funziona, ho gia creato una paggina dove l'utente si possa registrare ma quando premo il pulsante per colegarmi alla pagina mi da errore.
Questo è il file di collegamento:

<%
'Creo la variabile Action
'ha come valore il campo act del form
Dim Action
Action = request.form("act")

'Creo la variabile PrimaPagina
'e la setto sulla mia prima pagina asp protetta
Dim PrimaPagina
PrimaPagina = "default.asp"

'se Action è vuota stampo il form
if Action = "" then
%>

<form method="POST" action="login.asp">
<input type="hidden" name="act" value="enter">
<table border="0">
<tr><td>User</td><td><input type="text" name="u" size="20"></td></tr>
<tr><td>Pass</td><td><input type="password" name="p" size="20"></td></tr>
<tr><td colspan="2"><input type="submit" value="Login">
<label>
<input type="submit" name="Reg" id="Reg" value="Registrati" />
</label></td></tr>
</table>
</form>

<%
'se Action ha come valore "enter"...
elseif Action = "enter" then

'creo la variabile User
'con il valore del campo u del form
Dim User
User = request.form("u")

'creo la variabile Pass
'con il valore del campo p del form
Dim Pass
Pass = request.form("p")

'Se User e/o Pass è vuota stampo un errore
if (User = "" or Pass = "") then
response.write "Form incompleto!"
response.end

'in caso contrario procedo alla verifica
else

'Apro la connessione al DB
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
Server.MapPath("utenti_sito.mdb")

'Imposto la query ed apro il recordset
Dim Query, Rs
Query = "select * from UTENTI where user = '" & User & "' "&_
"and pass = '" & Pass & "'"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open Query, Conn, 3, 3

'se nessun utente corrisponde stampo un errore
if Rs.EOF then
response.write "Spiacente! Login non corretto"
response.end

'in caso contrario imposto la mia session
'ed effettuo il redirect sulla prima pagina
else
Session("User") = User
Session("Pass") = Pass
Response.Redirect PrimaPagina

end if

'chiudo Rcordset e connessione
Rs.Close
set Rs = Nothing
Conn.Close
Set Conn= Nothing

end if
end if
%>

Dove il pulsante "registrati" dovrebbe avere il link su un'altra paggina, ma non so come fare

Grazie del vs. aiuto
 
Ok... capito, crei una pagina dinamica asp dove vai a leggere i contenuti del db divisi per utente.
Ogni utente ha un Idutente
Ogni fattura ha un IdFatture

Relazioni tra tabelle.
Tbella utenti in relazione con tabella fatture.
id utente
user
pass
nome
cgnome ecc...

Tabella fatture
Id Fatture
numero
data
importi ecc

il tipo di relazione che devi impostare è uno a molti, perchè un utente può avere più di una fattura. difficilmente il contrario.

credo sia la cosa più giusta da fare... 100 pagine sono troppe supponendo che in futuro arrivino altri clienti è cmq. impensabile avere una pagina dinamica.
ciauz



Dopo tanto tempo riprendo questa discussione, come già detto non sono un programmatore ma uno che cerca di creare in maniera autodidatta.
Rispondento al tuo consiglio, se ti è possibile darmi un idea come creare questa pagina dinamica.
Grazie
 

Discussioni simili