Ver Mensaje Individual
  #15 (permalink)  
Antiguo 18/08/2005, 09:01
Avatar de iutunoi
iutunoi
 
Fecha de Ingreso: julio-2005
Mensajes: 56
Antigüedad: 19 años, 9 meses
Puntos: 0
Pregunta Matame Tú, Pero No Dejes Que Me Mate Esta Incertidumbre... Que Falla En Este Login?

Bueno la función va perfectamente, sin errores ni problemas. Todo ok.
El único y así se convierte en gran fallo es que sólo reconoce una contraseña de toda la tabla (la primera) y reconoce a todos los usuarios que le propongas, incluso si no están en la tabla... es muy raro, no?

A continuación adjunto estrutura de tabla y código.

TABLA: ejemplo
ID_Usuario---- autonumerico
usuario--------texto
password------texto

CODIGO que comprueba usario&password
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>

<%
function chkString(string)
string = replace(string,"'", "''")
chkString = string
end function
%>
</head>

<body>
<%
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
Response.Redirect "../usuaris/usuari.asp"
Else
'Guardamos los datos del Form en variables
usuario = Request.Form("usuario")
password = Request.Form("password")


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


'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.
'ejemplo es como se llama la tabla de la base de datos a consultar
strSQL = "SELECT * FROM ejemplo WHERE usuario='"&chkString(Request.Form("usuario"))&"' AND password='"&chkString(Request.Form("password"))&"' "
Set rs = Server.CreateObject ("ADODB.RecordSet")
RS.Open "ejemplo", oConn

'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
If (RS.EOF or = 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 "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
%>

</body>
</html>

Hay algo que esté mal? ue vosotros podais ver? Muchas gracias por vuestro tiempo y conocimientos
__________________
:adios:Lo que no me mató, me hizo más fuerte (eso va por ti asp!)

Última edición por iutunoi; 18/08/2005 a las 09:05 Razón: para que los colores sean más legibles