login. problema?.

  • Creatore Discussione Creatore Discussione luix
  • Data di inizio Data di inizio

luix

Nuovo Utente
12 Lug 2005
17
0
0
Ciao, volevo solo sapere come si può aggiungere una sessione a questo login che ho trovato su questo sito mrwebmaster.it,
per fare che mi aggiunge anche altre varibili per passarle ad altre pagine.
ad esempio :
Codice:
<% u = Session("user") %>

Io vorrei aggiungere questo:
Codice:
<% s = Session("stato") %>

Come si fa per favore.
Buon Natale.

Ecco il codice:
Codice:
<!-- #include virtual ="/inc.asp" -->
<%
'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 = "index.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")
Set Rs = Server.CreateObject("ADODB.Recordset")

Conn.Open url_db
'Imposto la query ed apro il recordset
Dim Query, Rs
Query = "select * from utenti where user = '" & User & "' "&_
"and pass = '" & Pass & "'"
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
%>
 
ecco come :

Codice:
<% u = Session("user")%>
<% p = Session("pass")%>
<% stato = Session("stato")%>
<%
Response.Write ("<B>Username" & Session("user")  & "</B></BR>") 
Response.Write ("<B>" & Session("pass")  & "</B></BR>") 
Response.Write ("<B>" & Session("stato")  & "</B>") 
%>
 
upiinnoo.
per favore chi mi vuole aiutare son du giorni che ci sto dietro.
:incazz2:
 
mi levatemi il dubbio?

forse c'è lo fatta da solo ma mi viene un sospetto che non so risolvermelo. La Condizione che ho fatto funziona al modo che deve funzionare come fosse questo forum che ci sono i mod e admin e gli utenti, ma non mi riesce a capire se funziona.

Questo:
Codice:
<% authority = Session("authority") %>
<b>Nome:</b><%=Session("user")%><br><b>Tipo</b>:<%=Session("authority")%><bR>
<% If Session("authority") = "Admin" Then %>
<a href="cancella_admin.asp">Cancella Administratore</a> 
<% End If %>
<% If Session("authority") <> "Mod" Then   %>
 <a href="cancella_moderatore.asp">Cancella Moderatore</a> 
<% End If %>
<% If Session("authority") <> "" Then   %>
<a href="cancella_utente.asp">Cancella Utente</a> 
<% End If %>
 
lukeonweb ha scritto:
il codice pare corretto, magari usa elseif al posto di fare n if con la stessa condizione

il discorso è: come valorizzi la session?
ha! ecco il codice dici che è corretto allora dovrebbe essere il login? Vai quasi in fondo dove ci sono le sessioni.
Ti posto il codice:
Codice:
<!-- #include virtual ="/inc.asp" -->
<%
'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 = "/index.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")
Set Rs = Server.CreateObject("ADODB.Recordset")

Conn.Open url_db
'Imposto la query ed apro il recordset
Dim Query, Rs
Query = "select * from utenti where user = '" & User & "' "&_
"and pass = '" & Pass & "'"
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
Session("authority") = RS("authority")
Session("email") = RS("email")
Response.Redirect PrimaPagina

end if

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

end if
end if
%>
 
lukeonweb ha scritto:
è corretto, non vedo qual'è il problema... ma che errore ti da???

un consiglio: non creare troppe sessioni se non strettamente necessario, appesantiscono le pagine

Il problema che non da nessun errore ma e la logica ora ti faccio esempio:
Se entro come Admin Mi vede: Admin,Mod,Utente -->Qua ok.
Ma se entro come Mod : Mi vede solo , Utente --> Qua sbaglia,
ma non insieme ad Mod e Utente.
Come mai?.

E per non fare le sessioni posso utilizzare i cokkie?
 
i cookie sono più leggeri ma meno sicuri, nel senso che possono essere disabilitati, le sessioni no

ripeto, prova con degli elseif al posto di if differenti con la stessa condizione

mi spiego?
 
lukeonweb ha scritto:
i cookie sono più leggeri ma meno sicuri, nel senso che possono essere disabilitati, le sessioni no

ripeto, prova con degli elseif al posto di if differenti con la stessa condizione

mi spiego?
ora provo.
 
lukeonweb ha scritto:
i cookie sono più leggeri ma meno sicuri, nel senso che possono essere disabilitati, le sessioni no

ripeto, prova con degli elseif al posto di if differenti con la stessa condizione

mi spiego?
Ho provato con elseif ma adesso se entro come administratore vede solo "cancella administratore" e gli altri due no! ed ora se entro con il moderatore vedo solo "utente"
Perchè? Help.

Codice:
<% If Session("authority")= "Admin" Then %>
<a href="cancella_admin.asp">Cancella Administratore</a> 
<% Else
If Session("authority") <> "Mod" Then   %>
 <a href="cancella_moderatore.asp">Cancella Moderatore</a> 
<% Else   %>
<%If Session("authority") <> "" Then   %>
<a href="cancella_utente.asp">Cancella Utente</a> 
<% End If 
End If 
End If%>
 
Ultima modifica:
forse non mi ero spiegato bene, prova cosi

<%
If Session("authority")= "Admin" Then
%>
<a href="cancella_admin.asp">Cancella Administratore</a>
<%
ElseIf Session("authority") = "Mod" Then
%>
<a href="cancella_moderatore.asp">Cancella Moderatore</a>
<%
Else
%>
<a href="cancella_utente.asp">Cancella Utente</a>
<%
End If
%>

nelle condizioni ci metti i link che ti pare e dovrebbe andare
 
perchè se metto cosi ad modo mio funziona?.
Codice:
<% If Session("authority") = "Admin"  Then %>
<a href="cancella_admin.asp"> Administratore</a> 
<% End If %>
<%If Session("authority") = "Mod"  Then   %>
 <a href="cancella_moderatore.asp">Moderatore</a> 
<% End If %>
<%If Session("authority") <> "Mod"  Then   %>
 <a href="cancella_moderatore.asp">Moderatore</a> 
<% End If %>
<% If Session("authority") <> "" Then %>
<a href="cancella_utente.asp">Utente</a> 
<% End If %>
<% If Session("authority") = "" Then %>
<% Response.Redirect("/index.asp") %>
<% End If %>
 
per me sono questi <> e =

Ciao, forse ho capito ,

Codice:
<%If Session("authority") <> "Mod"  Then   %>
Codice:
<%If Session("authority") = "Mod"  Then   %>
Cosa anno di diferente?
grazie.
 
allora....se ho capito bene,
amministratore può eliminare:

amministratori
moderatori
utenti


moderatore può eliminare:

moderatori
utenti


utente può eliminare:

utenti



quindi io farei così:


<% If Session("authority")= "Admin" Then %>
<a href="cancella_admin.asp"> Administratore</a>
<a href="cancella_moderatore.asp">Moderatore</a>
<a href="cancella_utente.asp">Utente</a>
<%end if%>

<% If Session("authority")= "Mod" Then %>
<a href="cancella_moderatore.asp">Moderatore</a>
<a href="cancella_utente.asp">Utente</a>
<%end if%>

<% If Session("authority")= "Ute" Then %>
<a href="cancella_utente.asp">Utente</a>
<%end if%>


spero sia stato utile.....

poi <> sta per diverso
e = sta per uguale

ciao.
 
scusate ... ho già risolto.

daviduccio ha scritto:
allora....se ho capito bene,
amministratore può eliminare:

amministratori
moderatori
utenti


moderatore può eliminare:

moderatori
utenti


utente può eliminare:

utenti



quindi io farei così:


<% If Session("authority")= "Admin" Then %>
<a href="cancella_admin.asp"> Administratore</a>
<a href="cancella_moderatore.asp">Moderatore</a>
<a href="cancella_utente.asp">Utente</a>
<%end if%>

<% If Session("authority")= "Mod" Then %>
<a href="cancella_moderatore.asp">Moderatore</a>
<a href="cancella_utente.asp">Utente</a>
<%end if%>

<% If Session("authority")= "Ute" Then %>
<a href="cancella_utente.asp">Utente</a>
<%end if%>


spero sia stato utile.....

poi <> sta per diverso
e = sta per uguale

ciao.

Ok. Ho già risolto se chiedi a lukeonweb lui sa tutto di me.
Ciao a Tutti.
 
Si è vero, ha postato sul forum di HTML.it una domanda del tipo "cosa significa > e =" e gli hanno spiegato che sono degli operatori di confronto e a cosa servono. Mah... Mi ha scritto un messaggio privato dicendo che sul loro forum lo hanno aiutato e qui no. L'importante è che abbia risolto!
 

Discussioni simili