Foros del Web » Programando para Internet » PHP »

Problema html por form en phpmailer

Estas en el tema de Problema html por form en phpmailer en el foro de PHP en Foros del Web. Estoy intentado enviar mails por formulario usando phpmailer. Comprobe que si pongo html directamente: Código PHP: ... $mail -> Body      .=  "<br><a href='http://www.google.com'>un link</a>" ; ...  Funciona ...
  #1 (permalink)  
Antiguo 29/10/2008, 02:03
Avatar de faco84  
Fecha de Ingreso: julio-2005
Mensajes: 61
Antigüedad: 18 años, 9 meses
Puntos: 0
Problema html por form en phpmailer

Estoy intentado enviar mails por formulario usando phpmailer. Comprobe que si pongo html directamente:
Código PHP:
...
$mail->Body     .= "<br><a href='http://www.google.com'>un link</a>";
... 
Funciona perfecto. En el mail se ve el salto y el link como corresponde.

Pero cuando trato de pasarlo por formulario;
Código PHP:
...
$mail->Body     .= $_POST['message'];
... 
, no funciona y al ver el codigo fuente me encuentro con esto:
Código HTML:
<br><a href=\'http://www.google.com\'>Un link</a> 
Parece que le pone un backslash a cada comilla que le pongo.

Que me falta para que el codigo entre en forma correcta o que phpmailer lo lea bien?.

Grax como siempre!.
  #2 (permalink)  
Antiguo 29/10/2008, 02:48
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Problema html por form en phpmailer

no entender esa linea :/
$mail->Body .= $_POST['message'];

ya ok dice que le funciona al hacer

$mail->Body .= "<br><a href='http://www.google.com'>un link</a>";

y cual es el problema donde le muestra

<br><a href=\'http://www.google.com\'>Un link</a>

recomendación seria que ponga

Código PHP:
$mail->Body     .= "<br /><a href=\"http://www.google.com\">un link</a>"
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 29/10/2008, 03:47
Avatar de faco84  
Fecha de Ingreso: julio-2005
Mensajes: 61
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Problema html por form en phpmailer

Es parte de un script usando phpMailer, que recibe el texto de un form.

El problema esta que ese resultado no esta bueno y por lo tanto no resulta un mail en HTML. Se comprende?.

No se si faltara agregar algo en el script para que el string que ingresara por el POST sera tomado como corresponde .
  #4 (permalink)  
Antiguo 29/10/2008, 03:47
Avatar de faco84  
Fecha de Ingreso: julio-2005
Mensajes: 61
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Problema html por form en phpmailer

Alguien sabe por que esta poniendo esos slash junto a las comillas?. =/

Última edición por faco84; 29/10/2008 a las 03:50 Razón: pidiendo ayuda =/
  #5 (permalink)  
Antiguo 29/10/2008, 04:08
Avatar de faco84  
Fecha de Ingreso: julio-2005
Mensajes: 61
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Problema html por form en phpmailer

Solucionado.

A pesar de que sigue siendo un inconveniente, la forma de solucionar mi problema es simpemente quitando toda comilla al escribir el html usando el FORM. El inconveniente es el simple hecho de que si quiero copiar un codigo HTML (algo extenso) en el form, habria que darse el tiempo para quitar comilla por comilla.

Alguien sabe como solucionar este otro inconveniente? =P
  #6 (permalink)  
Antiguo 29/10/2008, 04:23
Avatar de faco84  
Fecha de Ingreso: julio-2005
Mensajes: 61
Antigüedad: 18 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Problema html por form en phpmailer

Al fin.... Ahora si todo solucionado.
Para eliminar comillas simplemente se usa la funcion ereg_replace(), que en este caso tuve que darle todos los caracteres que si quiero, encerrados entre corchetes.
Estos fueron: [^A-Za-z0-9<>&/?:.= ] . Incluyendo al final un espacio en blanco muy necesario.

=D

Última edición por faco84; 29/10/2008 a las 04:24 Razón: ortografia...
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 02:55.