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

Baja en newsletter

Estas en el tema de Baja en newsletter en el foro de ASP Clásico en Foros del Web. Hola, he hecho una página .asp que conecta con una base de datos y envia 1 mail a cada dirección de cada registro. Al final ...
  #1 (permalink)  
Antiguo 25/11/2002, 11:22
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
Baja en newsletter

Hola,

he hecho una página .asp que conecta con una base de datos y envia 1 mail a cada dirección de cada registro.

Al final quiero poner un enlace que sea "si quieres darte de baja pulsa aqui" y que al pulsar automaticamente se me borre de la base de datos.

¿Cómo puedo hacer esto?Quiero que se me borren todos los datos de esa persona.

Saludos
  #2 (permalink)  
Antiguo 25/11/2002, 11:41
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
poné un enlace del tipo... http://tu-sitio.com/[email protected]

luego en la página baja.asp recogés el id de usuario y eliminás el registro..

sql = "delete from tabla where email = '" & Request.QueryString("email") & "' AND userID = " & Request.QueryString("UserID")

agregué el email tambien para que sea más dificil que algún malvado se dedique a eliminarte suscriptores con sólo poner números de usuarios en la URL

otra cosita... yo no los eliminaría, sino que los marcaría como "no suscriptos" y así mantengo sus datos
  #3 (permalink)  
Antiguo 25/11/2002, 11:46
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
De acuerdo

Muchas gracias dazuaga,

Voy a ver que tal lo hago, me lo has explocadop muy bien así que no creo que tenga problemas.

Un saludo

Laika.
  #4 (permalink)  
Antiguo 25/11/2002, 12:33
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 2 meses
Puntos: 1
Opino como dazuaga, añade a tu tabla un campo llamado suscrito de tipo TRUE/FALSE y asi no pierdes los datos del usuario aunque se de de daja en la newsletter.

En vez de hacer una consulta de eliminacion haz un consulta de actualizacion y varia ese valor.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #5 (permalink)  
Antiguo 27/11/2002, 11:06
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
Pregunta Dudas

Hola de nuevo,

1 cosilla,

Si una persona decide darse de baja, legalmente no se debe de borrar de la base de datos y perder yo elcontrol de sus datos?

Saludoss
  #6 (permalink)  
Antiguo 27/11/2002, 12:12
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
jajaja...legalmente si...

pero...bueno...eso se supone que es criterio de las empresas de internet
  #7 (permalink)  
Antiguo 28/11/2002, 08:57
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
Si el link que tengo que poner es este:

http://tu-sitio.com/[email protected]

El supuesto UserID (232332) y el supuesto mail ([email protected]) los tengo que coger de la base de datos.

Si en mi base de datos los UserID estan en el campo id y el mail en el campo mail que seria asi?:

http://tu-sitio.com/baja.asp?UserID=id&email=mail

Saludos
  #8 (permalink)  
Antiguo 28/11/2002, 11:01
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
no funciona



es que o me funciona asi.

¿Que esta mal?

Saludoss
  #9 (permalink)  
Antiguo 28/11/2002, 11:29
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
sintaxis

Lo tengo puesto dentro del cuerpo del mensaje que voy a mandar a traves de aspemail:

.
.
.
mensaje=mensaje & "<p align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>Si no desea recibir nuestros boletines de informaci&oacute;n, haga click <a href='http://www.xxx.com/baja.asp?id=id&email=email>aqui.</a></font></p>
.
.
.

Me llega el mail y en el enlace la id y el mail no me aparecen, me aparece:

http://www.xxx.com/baja.asp?id=id&email=email
_________________________________________________

y en baja.asp tengo este código .asp:

<%
Set Conn = Server.Createobject("ADODB.Connection")
Set Ob_RS = Server.CreateObject ("ADODB.RecordSet")
Conn.Open "basedatos"

Set Ob_RS=Ob_Conn.Execute ("DELETE FROM tabla where email = '" & Request.QueryString("email") & "' AND id = " & Request.QueryString("id")") (Aqui da error de sintaxis creo, ver abajo)

Ob_RS.Update
Ob_RS.Close
Conn.Close()
%>

ESTE ES EL ERROR DE BAJA.ASP

Error de compilación de Microsoft VBScript error '800a0409'

Constante de cadena sin terminar

/plantilla_mail/baja.asp, line 5

Set Ob_RS=Ob_Conn.Execute ("DELETE FROM tabla where email = '" & Request.QueryString("email") & "' AND id = " & Request.QueryString("id")")
---------------------------------------------------------------------------------------------------------------------------------------------------^

¿Por favor mepodeis ayudar con todo esto? Me estoy volviendo un poco loco de probar tantas cosas.

Gracias y un saludo
  #10 (permalink)  
Antiguo 28/11/2002, 11:41
Avatar de deprabado  
Fecha de Ingreso: febrero-2002
Mensajes: 649
Antigüedad: 23 años, 2 meses
Puntos: 0
Esta ma en la parte que envias el mail, estas asignando los valores asi:

id=id
mail=mail

y debes asignarle el valor de la base de datos asi:
id="& registros.Fields("ID").Value&"'
mail="& registros.Fields("ID").Value&"'

claro con tu conexion a la bd y eso...
una pregunta si tu campo id es autonumerico y sin duplicados por que no solo envias el id en ve sde ambos campos? yo lo hago asi.
  #11 (permalink)  
Antiguo 28/11/2002, 11:57
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
Me ha quedado asi:

<a href='http://www.xxx.com/baja.asp?id="& Rs.Fields("id").Value&"' & email="& Rs.Fields("email").Value&"' >aqui.</a>

Me llega elmail y en el enlace me lega perfectamente la id pero no el email.

Quiero también el email para hacerlo más seguro.

¿Me está fallando algo al concatenar id con email?, ¿en baja.asp cuál es el error de sintaxis?

Muchas gracias y un saludo
  #12 (permalink)  
Antiguo 28/11/2002, 12:03
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
una pregunta si tu campo id es autonumerico y sin duplicados por que no solo envias el id en ve sde ambos campos? yo lo hago asi
porque así es menos facil que alguien se ponga a eliminar registros probando números de usuarios aleatorios.
  #13 (permalink)  
Antiguo 29/11/2002, 02:32
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
Ayuda con la sintaxis

<a href='http://www.glassinter.com/plantilla_mail/baja.asp?id="& Rs.Fields("id").Value&"' & email="& Rs.Fields("email").Value&"' >aqui.</a>

Recibo sólo la id en el mail falta el email. Esta malla sintaxis o las comas??

Ayuda porfiss
  #14 (permalink)  
Antiguo 29/11/2002, 02:49
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
baja.asp

Bueno,

Parece que probando y probando esta parte ya esta,me llegan la id y el mail pero al pulsar en el link y ir a baja.asp me vuelve a dar eror de sintaxis.:

ESTE ES EL ERROR DE BAJA.ASP

Error de compilación de Microsoft VBScript error '800a0409'

Constante de cadena sin terminar

/plantilla_mail/baja.asp, line 5

Set Ob_RS=Ob_Conn.Execute ("DELETE FROM tabla where email = '" & Request.QueryString("email") & "' AND id = " & Request.QueryString("id")")

Veis vosotros el error?
  #15 (permalink)  
Antiguo 29/11/2002, 03:20
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
La sintaxis me ha quedado así:

Set Ob_RS=Ob_Conn.Execute ("DELETE FROM form_aoficial2 where email = '" & Request.QueryString("email") & "' AND id = '"&Request.QueryString("id") & "' ")

Ya nome da error de sintaxis pero me da:

HTTP 500 - Error interno del servidor
Internet Explorer y me aparece que nose puede mostrar lapágina.


Lo que veo en la barra de direcciones de baja.asp es esto:

http://www.xxx.com/baja.asp?id=2%20&%[email protected]

¿Cuál es el error?

Saludos
  #16 (permalink)  
Antiguo 29/11/2002, 09:04
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
codigo página baja.asp

Este es el codigo .asp de mi página baja .asp

<%
Set Conn = Server.Createobject("ADODB.Connection")
Set Ob_RS = Server.CreateObject ("ADODB.RecordSet")
Conn.Open "basedatos.com"
Set Ob_RS=Ob_Conn.Execute ("DELETE FROM tabla where email = '" & Request.QueryString("email") & "' AND id = '"&Request.QueryString("id") & "' ")

Ob_RS.Update
Ob_RS.Close
Conn.Close()

If Err <> 0 Then
Response.Write "Se ha producido un error: " & Err.Description
End If

%>

Me aparece error interno del servidor (error 500)

Ayudaaa
  #17 (permalink)  
Antiguo 02/12/2002, 06:39
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
Set Conn = Server.Createobject("ADODB.Connection")
Set Ob_RS = Server.CreateObject ("ADODB.RecordSet")
sql="DELETE FROM tabla where email = '" & Request.QueryString("email") & "' AND id = '"&Request.QueryString("id") & "' "

ON ERROR RESUME NEXT
Set Ob_RS=Ob_Conn.Execute(sql)
'Conn.Open "basedatos.com" NO ENTIENDO ESTO, ESA ES LA CONEXION A TU BASE DE DATOS????

If Err.number<>0 then
Response.Write "Se ha producido un error: " & Err.Description
response.end
End If

si Request.QueryString("id") es numerico...quitale la comilla simple de la asignacion en el sql.
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 14:48.