Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 problemas loguin ASP
 Foro Bloqueado  Tema Bloqueado


Autor Temas
josocli
Starting Member


9 Posts
Mensajes - 23 Aug 2007 :  17:03:29  Ver Perfil  Enviar Email
tengo dos paginas con el siguiente codigo en ASP para restringir el acceso de usuarios y una base de datos sencilla con id, usuario y pasword pero al colgarlo no puedo acceder porque me indica el siguiente error:

ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.
/pagina2.asp, line 32
Las paginas son:

PAGiNA 1:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<FORM ACTION="pagina2.asp" METHOD="post"><BR>
<B>Usuario:</B> <INPUT NAME="usuario" SIZE="12"><BR>
<B>Contraseña:</B> <INPUT NAME="password" SIZE="12"><BR><BR>
<INPUT TYPE="Submit" VALUE="Ingresar">
</FORM>
</body>
</html>
PAGINA 2:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<p>
<%
Dim usuario, password, oConn, RS
'Primero nos fijamos si ambos campos fueron completados.
'Si no se cumple, redireccionamos a pagina1.asp
If Request.Form("usuario") = "" OR Request.Form("password") = "" then
Else
'Guardamos los datos del Form en variables y evitamos la comilla simple
usuario =Trim( Request.Form("usuario"))
password = Trim(Request.Form("password"))
usuario = Replace(usuario,"'","''")
password = Replace(password,"'","''")

'Conectamos a nuestra BD.
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("/mdb-database/basedatos.mdb")

'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.
sql = "SELECT * FROM tabla WHERE usuario = '"& usuario &"'"
Set RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, oConn

'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
If (RS.EOF = true) then
Response.Write "Ese usuario no existe"
ElseIf RS.Fields("password") = password then 'Si el campo de la tabla es igual a nuestra variable, estas logueado.
Response.Write "Te logueaste con exito... Bienvenido <B>"& usuario &"</B>"
Else 'Otra cosa, seria cuando el password no es la que seleccionamos.
Response.Write "Esa contraseña no concuerda con el usuario ingresado"
End If

'Limpiamos y cerramos.
RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing
End If
%>
</p>
<p>&nbsp;</p>
</body>
</html>

POR FAVOR, ALGUIEN ME PODRIA DAR AYUDAR PORQUE ME VOY A VOLVER LOCO

Admin
Forum Admin

España
229 Posts
Posted - 24 Aug 2007 :  08:54:03  Ver perfil  Enviar e-mail
Parece un problema con los if- else, o a lo mejor no, a estas horas no tengo la mente muy clara.
Tienes un ejemplo exacto de lo que quieres hacer en http://www.asptutor.com/asp/vart.asp?id=50
Inicio Pagina
DonGato
Moderator

España
263 Posts
Posted - 30 Aug 2007 :  01:30:02  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
A parte de cambiarte un par de cosas, como por ejemplo que en lugar de ejecutar en el else que usas desdepues de comparar los campos del formulario si son iguales a "", he visto que te faltaba cerrar un if.
Te pongo tu codigo.
Suerte

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<p>
<%
Dim usuario, password, oConn, RS
'Primero nos fijamos si ambos campos fueron completados.
'Si no se cumple, redireccionamos a pagina1.asp
If Request.Form("usuario") <> "" and Request.Form("password") <> "" then 'este es el cambio que te comento.
usuario =Trim( Request.Form("usuario"))
password = Trim(Request.Form("password"))
usuario = Replace(usuario,"'","''")
password = Replace(password,"'","''")
'Conectamos a nuestra BD.
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("/mdb-database/basedatos.mdb")
'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.
sql = "SELECT * FROM tabla WHERE usuario = '"& usuario &"'"
Set RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, oConn

'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
If (RS.EOF = true) then
Response.Write "Ese usuario no existe"
Else
If RS.Fields("password") = password then 'Si el campo de la tabla es igual a nuestra variable, estas logueado.
Response.Write "Te logueaste con exito... Bienvenido <B>"& usuario &"</B>"
Else 'Otra cosa, seria cuando el password no es la que seleccionamos.
Response.Write "Esa contraseña no concuerda con el usuario ingresado"
End If
'Limpiamos y cerramos.
RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing+
end if ' este cierre te faltaba
End If
%>
</p>
<p>&nbsp;</p>
</body>
</html>

Edited by - DonGato on 30 Aug 2007 01:31:52Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar