Foros del Web » Programando para Internet » ASP Clásico »

¿Cual es error?

Estas en el tema de ¿Cual es error? en el foro de ASP Clásico en Foros del Web. Hola gente, gracis por la respuesta, espero me ayuden. Al momento de verificar un login, y ver que es correcta el logueo, creo una session ...
  #1 (permalink)  
Antiguo 27/01/2005, 18:07
 
Fecha de Ingreso: diciembre-2004
Mensajes: 207
Antigüedad: 19 años, 5 meses
Puntos: 0
¿Cual es error?

Hola gente, gracis por la respuesta, espero me ayuden.
Al momento de verificar un login, y ver que es correcta el logueo, creo una session y autorizo el ingreso a la página indicada. Al mimo tiempo, quiero grabar el en la base de datos la fecha y hora de ingreso al momento de loguearse. He intentado con el siguiente código y no me sale. ¿Cual es el error y como debería de hacerlo?

<%else
usuario=replace(request.form("usuario"),"'","")
password=replace(request.form("password"),"'","")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../../db/llapanku.mdb"))

set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuarios where usuario='"&usuario&"' and password= '"&password&"'"
rs.Open sqltxt, conn
if not rs.eof then
if rs("usuario")=usuario and rs("password")=password and (rs("NivelUsuario")=2 or rs("NivelUsuario")=1) then
Dim nivel
nivel=rs("NivelUsuario")
Session("acceso")=nivel
autor=rs("usuario")
Session("autorsito")=autor
response.redirect "../RegisPanel.asp"

sqltxt="UPDATE usuarios SET UltimoIngreso='"&now()&"' Where usuario='"&Session("autorsito")&"'"
set RS = Conn.Execute(sqltxt)

end if
else
session("acceso")=-nivel

end if
rs.close
set rs=nothing
conn.close
set conn=nothing

if session("acceso")=-nivel or session("acceso")="" then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son erroneos
response.redirect "RegisLogin.asp?msg=Usuario%20o%20password%20incor rectos"

end if
end if%>
  #2 (permalink)  
Antiguo 27/01/2005, 18:12
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 7 meses
Puntos: 1
¿Te marca algún error o simplemente no te almacena la fecha y hora de ingreso?

Para postear código procura colocarlo entre las etiquetas de código para ver la identación y no perderte al revisarlo.
__________________
Ariel Avelar
  #3 (permalink)  
Antiguo 27/01/2005, 18:15
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 7 meses
Puntos: 1
Ya vi el problema:
Código:
 response.redirect "../RegisPanel.asp"
En esa línea haces que el servidor comience a cargar el código de la página a la que redireccionaste y ya no ejecuta las siguientes líneas. Prueba colocando el response.redirect después de las líneas en las que actualizas la fecha y hora.
__________________
Ariel Avelar
  #4 (permalink)  
Antiguo 27/01/2005, 18:17
 
Fecha de Ingreso: diciembre-2004
Mensajes: 207
Antigüedad: 19 años, 5 meses
Puntos: 0
Simplemente no me lamacena la fecha, no sale ningun error.
<%else
'eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL
usuario=replace(request.form("usuario"),"'","")
password=replace(request.form("password"),"'","")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../../db/llapanku.mdb"))

set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuarios where usuario='"&usuario&"' and password= '"&password&"'"
rs.Open sqltxt, conn
if not rs.eof then
' nos ha devuelto un registro, ahora miraremos si es valido
' con ello evitamos el ataque típico SQL
if rs("usuario")=usuario and rs("password")=password and (rs("NivelUsuario")=2 or rs("NivelUsuario")=1) then
' si el usuario esta en la base de datos y la password coincide
Dim nivel
nivel=rs("NivelUsuario")
Session("acceso")=nivel
autor=rs("usuario")
Session("autorsito")=autor
response.redirect "../RegisPanel.asp"
' grabamos la fecha y hora del último ingreso
sqltxt="UPDATE usuarios SET UltimoIngreso='"&now()&"' Where usuario='"&Session("autorsito")&"'"
set RS = Conn.Execute(sqltxt)

end if
else
session("acceso")=-nivel

end if
rs.close
set rs=nothing
conn.close
set conn=nothing

if session("acceso")=-nivel or session("acceso")="" then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son erroneos
response.redirect "RegisLogin.asp?msg=Usuario%20o%20password%20incor rectos"

end if
end if%>
  #5 (permalink)  
Antiguo 27/01/2005, 18:21
 
Fecha de Ingreso: diciembre-2004
Mensajes: 207
Antigüedad: 19 años, 5 meses
Puntos: 0
Gracias Avelar, vos sois un genio!!!!!
No me habia percatado en el detalle. Ya funciona.
  #6 (permalink)  
Antiguo 27/01/2005, 18:22
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 7 meses
Puntos: 1
Por favor... utiliza las etiquetas [ CODE ] Código [ /CODE ]

¿Probaste moviendo de lugar la línea que te comenté?
__________________
Ariel Avelar
  #7 (permalink)  
Antiguo 27/01/2005, 18:23
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 7 meses
Puntos: 1
ok, qué bien que te haya funcionado...

Saludos
__________________
Ariel Avelar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:36.