
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:
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.<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>
<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>
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!!