Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con Base de Datos

Estas en el tema de Ayuda con Base de Datos en el foro de ASP Clásico en Foros del Web. Buenas Que tal! soy nuevo en este foro y estoy aprendiendo a programar en asp. Tengo un problema con el proyecto de en el cual ...
  #1 (permalink)  
Antiguo 02/01/2006, 19:19
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 19 años, 3 meses
Puntos: 7
Ayuda con Base de Datos

Buenas Que tal! soy nuevo en este foro y estoy aprendiendo a programar en asp.
Tengo un problema con el proyecto de en el cual estoy por trabajar con un registro de usuarios en una BD la página donde se encuentra el form de llama registro.asp la cual la enlace con otr que es alta.asp en la cual comprueba en la base de datos el usuario y si no está registrado lo registra. cada vez que quiero registrar un usuario me devuelve que los datos son incorrectos.
Este es el código de registro.asp:
<FORM NAME="Login" METHOD="POST" ACTION="alta.asp">
Nombre: <INPUT TYPE="text"><br>
Apellidos: <INPUT TYPE="text"><br>
Teléfono: <INPUT TYPE="text"><br>
E-Mail: <INPUT TYPE="text" NAME=""><br>
<b>Nombre de usuario:</b> <INPUT TYPE="text" NAME=""><br>
<b>Contraseña:</b> <INPUT TYPE="password"><br>
<INPUT TYPE="submit" VALUE="Darme de alta">
</FORM>
Y Este el de alta.asp:
<%

Dim nombre, apellidos, telefono, email, login, password
Dim correcto
Dim oConn, rs, SQL

'Recogemos el formulario
nombre=Request.Form("nombre")
apellidos=Request.Form("apellidos")

correcto=True
'Comprobamos que no hay campos vacíos
if nombre="" then correcto=False end if
if apellidos="" then correcto=False end if
if password="" then correcto=False end if
if correcto then
'Solo si todo está bien, comprobamos con la bd


set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\127.0.0.1\usuarios.mdb") 'esta es mi url local
SQL="SELECT * FROM Usuarios WHERE (Login='"&login&"');"
'Ejecutamos la consulta
set rs=oConn.Execute(SQL)

'si no nos devuelve vacío es que el login ya está en uso
if not rs.EOF then
Response.Write("El nombre de usuario ya está siendo utilizado. ")
Response.Write("Por favor, escoja otro.")
else
' es vacio, así que le insertamos en la bd
SQL="INSERT INTO Usuarios " & _
"(Login, Password, Nombre, Apellidos, Tlf, Email)"
SQL=SQL & " VALUES ('"&login&"', '"&password & _
"', '"&nombre&"','"&apellidos&"','"&telefono&"','"&ema il&"');"
oConn.Execute(SQL)
Response.Write("Gracias por registrarte, "& nombre)
end if

'Limpiamos objetos
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
else

'El usuario ha metido datos incorrectos
Response.Write("Datos incorrectos!")
end if

%>
he Probado tambien directamente logearme ya con un usuario registrado directamente en mi BD pero me tira este error y ya me volvi loco comprobando las direcciones!
ADODB.Connection error '800a0e7a'

ADO no encontró el proveedor especificado.

/login.asp, line 20
Porfavor Ayuda!!!
y Muchas gracias al que me ayude!

Última edición por pablinff; 02/01/2006 a las 19:30
  #2 (permalink)  
Antiguo 03/01/2006, 01:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 23 años
Puntos: 1284
Hola pablinff:

Espero que estes a gusto en estos foros

A simple vista te faltan los atributos name de los campos de tu formulario... y lo que tendría que inicializar con las cadenas vacías son los atributos value:
<!-- fíjate en esta línea... -->
Nombre: <INPUT TYPE="text" name="nombre" value="" ><br />
<!-- el resto de campos debería parecerse... -->

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 03/01/2006, 02:41
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 19 años, 3 meses
Puntos: 7
La verdad es que me siento muy a gusto en este foro muchas gracias por la bienvenida!
Tambien me sirvió mucho tu respuesta puesto que no me había dado cuenta de ese error tan lógico, pero aún sigo sin poderhacer que funcione la pag quedó así:
<html>
<head>
<title>Registro</title>
</head>
<body background="file:///D:/Webs/backgrounds/roger_10.gif"
bgcolor="#000000" bgproperties=fixed>
<FORM NAME="Login" METHOD="POST" ACTION="alta.asp">
<p align="center"><font color="#FF9900">
<b>Usuario:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <INPUT TYPE="text" NAME="Login"><br>
<b>Contraseña:</b>&nbsp; <INPUT TYPE="password" NAME="Password"><br>
<b>E-Mail:&nbsp;</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <INPUT TYPE="text" NAME="EMail"><br>
<b>Universidad: </b><INPUT TYPE="text" NAME="Universidad"><br>
<b>
Año:&nbsp;&nbsp;</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE="text" NAME="Ano"><br>
<b>
Carrera: </b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <INPUT TYPE="text" name="Carrera"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;
<INPUT TYPE="submit" VALUE="Darme de alta">
</FORM>

</body>
</html>

Me sigue tirando el mismo error y creo que es por que no se conecte bien a la BD
Saludos y Muchas gracias.
  #4 (permalink)  
Antiguo 04/01/2006, 17:56
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
En el código de arriba, defines:

Dim nombre, apellidos, telefono, email, login, password

y usas

SQL="SELECT * FROM Usuarios WHERE (Login='"&login&"');"

pero nunca le colocas algo a la variable login, así como llenas las de nombre y apellido, deberias de llenar login y password

nombre=Request.Form("nombre")
apellidos=Request.Form("apellidos")
login=Request.Form("Login")
password=Request.Form("Password")

Saludos
  #5 (permalink)  
Antiguo 05/01/2006, 02:02
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 19 años, 3 meses
Puntos: 7
si se a que te refieres!
lo que pasa que ese codigo no estaba completo, me equivoque.
este es el código en el cual modifique un par de variables:
<%

Dim universidad, ano, carrera, email, login, password,
Dim correcto
Dim oConn, rs, SQL

'Recogemos el formulario
universidad=Request.Form("Universidad")
ano=Request.Form("A&ntilde;o")
carrera=Request.Form("Carrera")
email=Request.Form("E-Mail")
login=Request.Form("Usuario")
password=Request.Form("Password")
correcto=True

'Comprobamos que no hay campos vacos
if universidad="" then correcto=False end if
if ano="" then correcto=False end if
if carrera="" then correcto=False end if
if email="" then correcto=False end if
if login="" then correcto=False end if
if password="" then correcto=False end if
if correcto then

'Solo si todo est bien, comprobamos con la bd
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/apuntesnea/BD/usuarios.mdb")
SQL="SELECT * FROM Usuarios WHERE (Login='"&login&"');"
'Ejecutamos la consulta
set rs=oConn.Execute(SQL)

'si no nos devuelve vaco es que el login ya est en uso
if not rs.EOF then
Response.Write("El nombre de usuario ya est siendo utilizado. ")
Response.Write("Por favor, escoja otro.")
else
' es vacio, as que le insertamos en la bd
SQL="INSERT INTO Usuarios " & _
"(Login, Password, Universidad, Ano, Carrera, Email)"
SQL=SQL & " VALUES ('"&login&"', '"&password & _
"', '"&universidad&"','"&ano&"','"&carrera&"','"&email &"');"
oConn.Execute(SQL)
Response.Write("Gracias por registrarte, "& login)
end if

'Limpiamos objetos
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
else

'El usuario ha metido datos incorrectos
Response.Write("Datos incorrectos!")
end if

%>

y ahora surgió otro problema, y es que antes el error que me tiraba era que los datos eran incorrectos, peron ahora no encuentra la pág. y yo no la moví en ningun momento.
saludos y muchas gracias!!
ha! y tambien modifiqué el form de registro.asp:
<html>
<head>
<title>Registro</title>
</head>
<body background="fondos/back1.gif"
bgcolor="#000000" bgproperties=fixed>
<FORM NAME="Login" METHOD="POST" ACTION="alta.asp">
<p align="center"><font face="Arial Black"><b><u><i>Registrate Es Gratis!</i></u></b></font>
<p align="center"><font color="#FF9900">
<b>Usuario:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <INPUT TYPE="text" NAME="login"><br>
<b>Contrase&ntilde;a:</b>&nbsp; <INPUT TYPE="password" NAME="Password"><br>
<b>E-Mail:&nbsp;</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <INPUT TYPE="text" NAME="email"><br>
<b>Universidad: </b><INPUT TYPE="text" NAME="universidad"><br>
<b>
A&ntilde;o:&nbsp;&nbsp;</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE="text" NAME="ano"><br>
<b>
Carrera: </b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <INPUT TYPE="text" name="carrera"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;
<INPUT TYPE="submit" VALUE="Darme de alta">
</FORM>

</body>
</html>
  #6 (permalink)  
Antiguo 06/01/2006, 11:00
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
1)
En el formulario tienes <INPUT TYPE="text" NAME="login">
Y en la página tienes login=Request.Form("Usuario")

2) Por el error de que no encuentra la página, primero checa, en la ventana en que te marca el error, que efectivamente se este intentando acceder a alta.asp: <FORM NAME="Login" METHOD="POST" ACTION="alta.asp">


Saludos
  #7 (permalink)  
Antiguo 06/01/2006, 14:20
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 19 años, 3 meses
Puntos: 7
Cita:
Iniciado por Myakire
1)
En el formulario tienes <INPUT TYPE="text" NAME="login">
Y en la página tienes login=Request.Form("Usuario")

2) Por el error de que no encuentra la página, primero checa, en la ventana en que te marca el error, que efectivamente se este intentando acceder a alta.asp: <FORM NAME="Login" METHOD="POST" ACTION="alta.asp">


Saludos
ha ja!! eso lo del formulario ya lo arreglé, tambien chequé lo de alta.asp, y en el form está exactamente igual y en la barra de direcciones tambien dice alta.asp y ya no se qué mas hacer!!!! me estoy volviendo loco!!!!
P/D: por si de algo sirve el error que me tira es:
Cita:
The page cannot be displayed
HTTP 500 - Internal server error
.........Que haría yo sin este foro..........
Saludos!!
  #8 (permalink)  
Antiguo 06/01/2006, 17:39
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
por ahí hubieras empezado, este link nos ayudará a todos: http://www.forosdelweb.com/showpost....&postcount=123

Por cierto, ¿checaste que tanto tu text como tu form se llaman login?
  #9 (permalink)  
Antiguo 07/01/2006, 03:46
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 19 años, 3 meses
Puntos: 7
ha myakire me has salvado la vida!!!
Puedes creer que era una maldita coma demás???????????!!!!!!!!!!!

Cita:
Dim universidad, ano, carrera, email, login, password, <-----
que el maldito IE no ma iba a mostrar el maldito error!!!
sinceramente estoy considerando cambiarme al Firefox.
Muchas gracias y saludos!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:08.