Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/12/2003, 15:58
Avatar de FriXueLiNa
FriXueLiNa
 
Fecha de Ingreso: junio-2003
Ubicación: Oviedo (Asturias)
Mensajes: 27
Antigüedad: 21 años, 10 meses
Puntos: 0
Ya no puedo mas.. Validacion de Usuarios

Por más que lo intento no consigo que funcione la validacion... Os expongo mi problema a ver si podeis echarme una mano (aunque necesitaria las dos... )

Necesito restringir el acceso a la página para que solo puedan acceder los socios. Mi intencion es que tengran que intruducir su número de socio y los apellidos para poder entrar...
Tengo una base de datos en access llamada "base", una tabla llamada "socios", y dos campos, el primero llamado "numero" y el segundo "apellidos".

La página para registrarse en htm, con un formulario apuntando a la página val.asp, que tiene el siguiente código:
Cita:
<html>
<head>
<title>Validacion</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</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 "registro.htm"
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("base.mdb")

'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.
sql = "SELECT * FROM prueba 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
%>

</body>
</html>
Abro la página de registro, meto un número de socio, los apellidos y nada... blanco... cero... No sale nada en la página. Pruebo metiendo un numero erróneo y lo mismo.
Se que es porque me falta la página a la que lleva el registro, ya sea el bueno o el erróneo, pero... ¿donde meto el código de estas dos páginas?¿está bien el código que os puse?¿como hago para que las páginas no se puedan ver sin que uno esté validado?¿hay alguna forma - supongo que si - de que una vez que el socio ya se validó, la próxima vez que vuelva a entrar a la página ya no sea necesario que se vuelva a registrar?. Vamos, que el sistema lo reconozca automaticamente...

Si... soy una preguntona... pero por mas que investigo y leo no soy capaz a conseguir que funcione, y lamentablemente voy contrarreloj

Gracias por vuestra ayuda!!