Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/02/2008, 03:13
power92
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Mostrar datos de una BD según login y password

Gracias u_goldman por la pista, no sé si es la manera correcta pero lo he creado basándome en las búsquedas, tengo creada una parte del login (usuario y password), y otra de resultados donde muestra los datos de cada usuario, pero tengo un problema... cuando inserto un login o password incorrecto me da un error e igual pasa si no introduzco datos e intento logearme, me imagino que es porque en la parte de resultados tiene un filtro de usuario y password por lo que cuando le indicas algo que no corresponde con la búsqueda da el error, ¿hay alguna manera de cuando introduzca valores que sean incorrectos me redirija a una página que yo le indique?.

El error es el siguiente:

Tipo de error:
ADODB.Field (0x800A0BCD)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
/pruebas login/prueba_resultados.asp, línea 40


Envío el código de las páginas:


Prueba_Login.asp


<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="../Connections/usuarios_multi.asp" -->
<%
Dim Recordset_login
Dim Recordset_login_cmd
Dim Recordset_login_numRows

Set Recordset_login_cmd = Server.CreateObject ("ADODB.Command")
Recordset_login_cmd.ActiveConnection = MM_usuarios_multi_STRING
Recordset_login_cmd.CommandText = "SELECT usuario, password FROM prueba"
Recordset_login_cmd.Prepared = true

Set Recordset_login = Recordset_login_cmd.Execute
Recordset_login_numRows = 0
%><!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=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form action="prueba_resultados.asp" method="POST" name="form1" id="form1">
<label>
<input type="text" name="usuario" id="usuario" />
</label>
<label>
<input type="text" name="password" id="password" />
</label>
<label>
<input type="submit" name="enviar" id="enviar" value="Enviar" />
</label>
</form>

</body>
</html>
<%
Recordset_login.Close()
Set Recordset_login = Nothing
%>


Prueba_resultados.asp



<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="../Connections/usuarios_multi.asp" -->
<%
Dim Recordset_login__MMColParam
Recordset_login__MMColParam = "1"
If (Request.Form("usuario") <> "") Then
Recordset_login__MMColParam = Request.Form("usuario")
End If
%>
<%
Dim Recordset_login__MMColParam2
Recordset_login__MMColParam2 = "1"
If (Request.Form("password") <> "") Then
Recordset_login__MMColParam2 = Request.Form("password")
End If
%>

<!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><%
Dim Recordset_login
Dim Recordset_login_cmd
Dim Recordset_login_numRows

Set Recordset_login_cmd = Server.CreateObject ("ADODB.Command")
Recordset_login_cmd.ActiveConnection = MM_usuarios_multi_STRING
Recordset_login_cmd.CommandText = "SELECT nombre, apellidos, web, usuario, password FROM prueba WHERE usuario = ? AND password = ?"
Recordset_login_cmd.Prepared = true
Recordset_login_cmd.Parameters.Append Recordset_login_cmd.CreateParameter("param1", 200, 1, 255, Recordset_login__MMColParam) ' adVarChar
Recordset_login_cmd.Parameters.Append Recordset_login_cmd.CreateParameter("param2", 200, 1, 255, Recordset_login__MMColParam2) ' adVarChar

Set Recordset_login = Recordset_login_cmd.Execute
Recordset_login_numRows = 0
%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<p><%=(Recordset_login.Fields.Item("nombre").Value )%></p>
<p><%=(Recordset_login.Fields.Item("apellidos").Va lue)%></p>
<p><%=(Recordset_login.Fields.Item("web").Value)%> </p>
<p><%=(Recordset_login.Fields.Item("usuario").Valu e)%></p>
<p><%=(Recordset_login.Fields.Item("password").Val ue)%></p>

<p>&nbsp;</p>

</body>
</html>
<%
Recordset_login.Close()
Set Recordset_login = Nothing
%>


Muchas Gracias, por la colaboración.

Última edición por power92; 19/02/2008 a las 03:17 Razón: me olvide de poner el error.