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

Problemas con un formulario para recuperar contraseña

Estas en el tema de Problemas con un formulario para recuperar contraseña en el foro de ASP Clásico en Foros del Web. Hola, tenfgo una asp llamada recuperar.asp donde el usuario escribe su email, y se le envia su contraseña. Me está dando un error y creo ...
  #1 (permalink)  
Antiguo 24/10/2007, 04:50
 
Fecha de Ingreso: julio-2005
Mensajes: 70
Antigüedad: 19 años, 9 meses
Puntos: 0
Problemas con un formulario para recuperar contraseña

Hola,

tenfgo una asp llamada recuperar.asp donde el usuario escribe su email, y se le envia su contraseña. Me está dando un error y creo que el código está bien, a ver si me podéis ayudar. El código es el siguiente:

<%
Dim emailValue, UserValue, PassValue, OBJ_EMAIL, rsUsuario, Conn

emailValue = Trim(Request.form("email"))
%>

<%
SQLQuery="SELECT * FROM accesos where email= '" & emailValue & "'"
Set rsUsuario= Conn.Execute(SQLQuery)

If not rsUsuario.EOF Then
UserValue = Trim(rsUsuario("usuario"))
PassValue = Trim(rsUsuario("password"))
NombreValue = Trim(rsUsuario("Cliente"))
ApellidoValue = Trim(rsUsuario("Tipo_Acceso"))

Set OBJ_EMAIL = Server.CreateObject("CDONTS.NewMail")

OBJ_EMAIL.From = "[email protected]"
OBJ_EMAIL.To = emailValue
OBJ_EMAIL.Subject = "Recordatorio de Contraseña"
BodyValue = "Hola " & NombreValue & " " & ApellidoValue & ", " + chr(10) + "Aquí estan los datos que nos solicitastes." + chr(10) + " Usuario: " & UserValue & " " + chr(10) + " Password: " & PassValue & " " + chr(10) + "Saludos" + chr(10) + "Webmaster"
OBJ_EMAIL.Body = BodyValue
OBJ_EMAIL.Send

Set OBJ_EMAIL = Nothing

Response.Write "<p>Se envió a su correo el usuario y la password. </p>"
else
Response.Write "Mail no existente"
end If

Sub MostrarFormulario

Response.Write("<FORM METHOD=""post"" ACTION=""recuperar.asp"" name=""email"" id=""email"">")
Response.Write("&Mail:<INPUT TYPE=""text"" NAME=""emailValue""><BR>")
Response.Write("<br>")
Response.Write("<INPUT TYPE=""submit"" value=""Validar"">")

End Sub 'MostrarFormulario

%>

--

El error que me da es este:

Error de Microsoft VBScript en tiempo de ejecución error '800a01a8'

Se requiere un objeto: ''

/esp/recuperar.asp, línea 180

---

La linea 180 en recuperar.asp es esta:

Set rsUsuario= Conn.Execute(SQLQuery)


Gracias.

Última edición por Hereze; 24/10/2007 a las 05:04
  #2 (permalink)  
Antiguo 24/10/2007, 05:35
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 23 años, 2 meses
Puntos: 8
Re: Problemas con un formulario para recuperar contraseña

El error que te da puede provenir de no haber instanciado el objeto Conn.

Supongo que será un objeto del tipo "connection", por lo que te faltarían una par de líneas del tipo

Set conn = server.createobject("ADODB.Connection")
conn.Open "Driver={SQL Server};Server=127.0.0.0;Database=mi_base_de_Datos ;Uid=mi_usuario;Pwd=mi_contraseña;"

Adecuando la cadena de conexión a tu caso concreto
__________________
Kelpie
  #3 (permalink)  
Antiguo 24/10/2007, 06:05
 
Fecha de Ingreso: julio-2005
Mensajes: 70
Antigüedad: 19 años, 9 meses
Puntos: 0
Re: Problemas con un formulario para recuperar contraseña

Hola, eso lo tengo en un fichero de conexion. Pero gracias por decirlo porque he comprobado que la declaración Conn estaba mal escrita. Ahor aya no me sale ese error. El problema está, en que no aparece el formualrio para introducir el mail, simplemente sale el Response.Write "Mail no existente"

Gracias.
  #4 (permalink)  
Antiguo 24/10/2007, 08:36
 
Fecha de Ingreso: julio-2005
Mensajes: 70
Antigüedad: 19 años, 9 meses
Puntos: 0
Re: Problemas con un formulario para recuperar contraseña

PARTE 2:

Bueno he modificado un par de cosas, y ahora el tema está así:

recuperar.asp

<form action="recuperacion_ok.asp?recuperado=ok" method="POST" name="email">
<p><input type="text" name="emailValue" size="20"><input type="submit" value="Enviar" name="B1"></p>
</form>

recuperacion_ok.asp

<%
Dim emailValue, UserValue, PassValue, OBJ_EMAIL, rsUsuario, oConn
emailValue = Trim(Request.form("email"))
%>

<%
SQLQuery="SELECT * FROM accesos where email= '" & emailValue & "'"
Set rsUsuario= oConn.Execute(SQLQuery)

If not rsUsuario.EOF Then
UserValue = Trim(rsUsuario("usuario"))
PassValue = Trim(rsUsuario("password"))

Set OBJ_EMAIL = Server.CreateObject("CDONTS.NewMail")

OBJ_EMAIL.From = "[email protected]"
OBJ_EMAIL.To = emailValue
OBJ_EMAIL.Subject = "Recordatorio de Contraseña"
BodyValue = "Datos " Usuario: " & UserValue & " " + chr(10) + " Password: " & PassValue & " " + chr(10)
OBJ_EMAIL.Body = BodyValue
OBJ_EMAIL.Send

Set OBJ_EMAIL = Nothing

Response.Write "<p>Se envió a su correo el usuario y la password. </p>"
else
Response.Write "Mail no existente"

end If

%>

Al hacer esto, si pongo un mail que existe en la BBDD, el formulario recuperacion.asp siempre responde con Mail no existente.

A ver si me podeis ayudar.

Gracias.
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 03:32.