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

como mostrar un mensaje que me diga la direccion email ya existe.

Estas en el tema de como mostrar un mensaje que me diga la direccion email ya existe. en el foro de ASP Clásico en Foros del Web. hola amigos la cosa es que deseo saber como hago para que me diga si la direccion de email que ingreso en un formulario me ...
  #1 (permalink)  
Antiguo 05/03/2006, 10:43
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años, 10 meses
Puntos: 0
Pregunta como mostrar un mensaje que me diga la direccion email ya existe.

hola amigos la cosa es que deseo saber como hago para que me diga si la direccion de email que ingreso en un formulario me diga que ya esta registrada pero que verdadera mente este en la base de datos ..

mejor dicho si ya existe que me saque un mensaje y sino existe se guarda normal.. gracias
  #2 (permalink)  
Antiguo 05/03/2006, 11:32
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 5 meses
Puntos: 16
bueno primero tienes que buscar en la base de datos por el campo de email e ir comparando si encuentra la igualdad devolver la página con error si no ingresar el registro...

Lo de rrecorrer un campo de una tabla de la base de datos es basico asique me imagino que lo sabes hacer el condicional seria algo asi:
Código:
<%
...
do while not rs.eof

If request.form("mail") = rs("mail") Then
   response.redirect("formulario.asp")
else
sql = "Insert into tabla........
espero se entienda... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 05/03/2006, 11:50
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años, 10 meses
Puntos: 0
gracias viejo vere que puedo hacer se ve facil .. si algo nos bemos mas tarde. jeje bye
  #4 (permalink)  
Antiguo 06/03/2006, 08:22
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
Cita:
<%
...
do while not rs.eof

If request.form("mail") = rs("mail") Then
response.redirect("formulario.asp")
else
sql = "Insert into tabla........
hijoles!!, no vayas a hacer literalmente eso.

La idea de El_Metallick es correcta, pero su ejemplo, sino sabes exactamente lo que hace, te dará problemas, por que te insertará tantas veces como registros haya antes de que se cumpla la condición.

Deberías hacer algo como:

Rs.Open "select * from tabla where mail = '" & request.form("mail") & "'", Objconn
if Rs.EOF Then
Response.write "No existe"
Else
sql = "Insert into tabla ...." 'ahora si
End If

o también podrías validarlo con un filter o con un ciclo pero validando el problema anterior, etc.

Saludos
  #5 (permalink)  
Antiguo 06/03/2006, 10:00
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años, 10 meses
Puntos: 0
amigos sera que esto sirve..

<% email=request.form("email")

Set Conna = Server.CreateObject("ADODB.Connection")
Conna.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Marketing.mdb"))

set ra=createobject("ADODB.Recordset")
sqltxt="SELECT email,fecha from correos where email='"&trim(request.form("email"))&"'"
ra.CursorType = adOpenKeyset
ra.LockType = adLockOptimistic

ra.open sqltxt,conna
'comprobación de las cuatro posibilidades
if request.form("suscribir")="si" then
if ra.EOF then
ra.addnew
ra("email")=request.form("email")
ra("fecha")=date()
ra.update
msg="correo añadido a la lista"
else
msg="correo ya existente"
end if
else
if ra.EOF then
msg="correo no perteneciente a la lista"

else
ra.delete
ra.update
msg="correo suprimido de la lista"

end if


end if


ra.close
set ra=nothing
conna.close
set conna=nothing

%>
  #6 (permalink)  
Antiguo 06/03/2006, 12:56
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 5 meses
Puntos: 16
Ups... no me habia fijado en eso... gracias por la correccion Myakire en todo caso como lo planteas tu es mas facil no lo habia pensado asi ^^ saludos amigo
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #7 (permalink)  
Antiguo 08/03/2006, 15:15
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años, 10 meses
Puntos: 0
error en donde es

hola amigos digamen porfavor donde esta mi error

me dice que se esperaba un "end"
en la linea 147 y la linea 147 es set conexion = nothing


<%

set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Marketing.mdb")&"")

set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open "loginuser", Conn, 2, 3

Rs.Open "select * from tabla where mail = '" & request.form("mail") & "'", Objconn
if Rs.EOF Then
Response.write "Ya existe"
Else


RS.AddNew
rs("nombre")=request.form("nombre")
rs("apellidos")=request.form("apellidos")
rs("email")=request.form("email")
rs("fecha")= date()
rs("mes")= month(date())
rs("dia")= day(date())
rs("anyo")= year(date())

RS.Update
RS.Close
conn.Close
set conn = nothing
set conexion = nothing
%>
  #8 (permalink)  
Antiguo 08/03/2006, 20:09
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 5 meses
Puntos: 16
claro pues no cierras el if... prueba con esto:

Código:
 <%
 
 set Conn = Server.CreateObject("ADODB.Connection")
 Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Marketing.mdb")&"")
 
 set RS = Server.CreateObject("ADODB.RecordSet")
 RS.Open "loginuser", Conn, 2, 3
 
 Rs.Open "select * from tabla where mail = '" & request.form("mail") & "'", Objconn
 if Rs.EOF Then
 Response.write "Ya existe"
 Else
 
 
 RS.AddNew
 rs("nombre")=request.form("nombre")
 rs("apellidos")=request.form("apellidos")
 rs("email")=request.form("email")
 rs("fecha")= date()
 rs("mes")= month(date())
 rs("dia")= day(date())
 rs("anyo")= year(date())
   
 RS.Update
 RS.Close
 conn.Close
 set conn = nothing
 End if
 %>
saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #9 (permalink)  
Antiguo 09/03/2006, 11:41
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años, 10 meses
Puntos: 0
hola metallink mira me sale el siguiete erro en esta linea

Rs.Open "select * from tabla where email = '" & request.form("email") & "'", Objconn
if Rs.EOF Then
Response.write "Ya existe"
Else

ADODB.Recordset error '800a0e79'

La operación solicitada por la aplicación no está permitida si el objeto está abierto.
  #10 (permalink)  
Antiguo 09/03/2006, 14:07
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 5 meses
Puntos: 16
Claro pues fijate que habres 2 veces el RS

Código:
...
RS.Open "loginuser", Conn, 2, 3

  Rs.Open "select * from tabla where email = '" & request.form("email") & "'", Objconn
...
saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
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 17:56.