Hola, mira tengo una página con login y password, pero me gustaría que cada usuario iniciara una sesión con sus datos personales, ¿cómo lo hago?
1 Respuesta
Respuesta de eduardoem
1
1
eduardoem, 8 años de experiencia en programación ASP, JavaScript, ASP
Se puede hacer de varias maneras: Una podría ser guardando un Cookie, en la maquina del usuario, para identificarlo cuando inicie Session, o bien una forma más segura guardando un registro en una Base de Datos, te paso ambos ejemplos. Usando Cookies <% if Request.form = "" Then ' si el formulario esta vacío se lo mostramos%> <HTML> <HEAD><TITLE>Login y Password</TITLE></HEAD> <BODY BGCOLOR=FFFFFF> <CENTER> <FORM METHOD=Post ACTION=pagina1.asp> <H4>IDENTIFICATE</H4> <TABLE BORDER=0> <TR><TD>USUARIO: <TD><INPUT NAME=Usuario SIZE=5> <TR><TD>CLAVE: <TD><INPUT TYPE=Password NAME=Clave SIZE=5> <TR><TD COLSPAN=2><INPUT TYPE=Submit VALUE=Enviar> </TABLE> </FORM> </BODY> </HTML> <% else ' si no, controlamos que sea el usuario if (Request.Form ("Usuario") = "Eduardo" AND Request.Form ("Clave") = "45789") _ OR (Request.Form ("Usuario") = "Alejandra" AND Request.Form ("Clave") = "p7854o") THEN Session ("Autentificado") = True Response.Cookies ("Usuario") = Request.Form ("Usuario") Response.Redirect "pagina2.asp" else Response.Redirect "pagina1.asp" end if end if %> '************************************************************ '- pagina2.asp - '************************************************************ <% if Session ("Autentificado") <> True then Response.Redirect "pagina1.asp" %> <HTML> <HEAD><TITLE>Login y Password</TITLE></HEAD> <BODY BGCOLOR=FFFFFF> <CENTER> <H3>TE HAS IDENTIFICADO CORRECTAMENTE</H3> <H4>BIENVENIDO <%= Request.Cookies ("Usuario") %></H4> </BODY> </HTML> *************************************************************************** 'Ahora veamos un ejemplo con BD '*************************************************************************** ' - pagina1.asp - '*************************************************************************** Response.Buffer=True Dim Ob_Conn, ObRsu, SQL Dim User, Clave User = Request.Form ("Usuario") Clave = Request.Form ("Clave") set Ob_Conn = Server.CreateObject ("ADODB.Connection") 'Abro la conexión con BD usando "DSN" Ob_Conn.Open "myconeccion" Consulto la tabla Usuarios Set ObRsu = Server.CreateObject ("ADODB.RecordSet") SQL="SELECT Nro_Usuario, pass, Nombre FROM Usuarios WHERE ( Nro_Usuario ='"&User&"' AND pass='"&Clave&"' );" set ObRsu=Ob_Conn.Execute(SQL) if ObRsu.EOF then ''si No tenemos al fulano lo mandamos a registrarse Session("Id")=Cint(0) ObRsu.Close set ObRsu=nothing Ob_Conn.Close set Ob_Conn=nothing Response.Redirect("registrate.asp") else Session("usuario") = ObRsu.Fields("Nombre") Session("Id") = Cint(ObRsu.Fields("Nro_Usuario")) ObRsu.Close set ObRsu=nothing Ob_Conn.Close set Ob_Conn=nothing Response.Redirect("pagina2.asp") end if '***************************************************************** ' - pagina2.asp - '***************************************************************** 'Como el Nro de usuario nunca va hacer igual a cero, colocas este código en las cabeceras de todas tus paginas, donde 'quieres controlar que el usuario se haya logueado. Response.Buffer=True if session("Id")= 0 Then Response.Redirect("pagina1.asp") Response.End end if