
12/08/2005, 04:42
|
 | | | Fecha de Ingreso: julio-2005
Mensajes: 56
Antigüedad: 19 años, 9 meses Puntos: 0 | |
Base de datos acces Hola amigos!
Tengo un grabe problema que no sé solucionar con el tema de login y password. Tengo dos paginas: pagina1.asp y pagina2.asp. La primera es formulario donde se recoge lo siguiente: <FORM ACTION="pagina2.asp" METHOD="post"><BR>
<B>Usuario:</B> <INPUT NAME="usuario" SIZE="12"><BR>
<B>Contraseña:</B> <INPUT NAME="password" type="password" SIZE="12">
<BR><BR>
<INPUT TYPE="Submit" VALUE="Enviar">
la siguiente es donde se hacen las comprovaciones:
<%
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 "pagina1.asp"
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 "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("ejemplo.mdb")
'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.
sql = "SELECT * FROM ejemplo WHERE usuario = '"& usuario &"'"
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 = 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
%>
Pero la conexion a la base de datos sospecho que no esta bien ya que a veces me deja entrar y otras no. A veces con una contraseña me deja poner cualquier usuario y lo entra... El error que me da es: Tipo de error:Provider (0x80004005) Error no especificado /jesus/ejemplo/pagina2.asp, línea 24
que hace referencia a : Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("ejemplo.mdb")
¿¿¿Debo cambiarme a OLEDB???
Entonces el tema quedaría así??:
a la siguiente: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("ejemplo");Jet OLEDB:System Database=system.mdw;"
Agradezco anticipadamente vuestra ayuda
__________________ :adios:Lo que no me mató, me hizo más fuerte (eso va por ti asp!) |