Foros del Web » Programando para Internet » PHP »

Formulario "cuentale a un amigo"

Estas en el tema de Formulario "cuentale a un amigo" en el foro de PHP en Foros del Web. Tengo un formulario "cuéntale a un amigo" que envía por la funcion mail() a varios destinatarios definidos por el usuario en un formulario, una página ...
  #1 (permalink)  
Antiguo 11/10/2006, 15:11
Oky
 
Fecha de Ingreso: junio-2004
Mensajes: 14
Antigüedad: 19 años, 10 meses
Puntos: 0
Formulario "cuentale a un amigo"

Tengo un formulario "cuéntale a un amigo" que envía por la funcion mail() a varios destinatarios definidos por el usuario en un formulario, una página html. Hay dos inquietudes:

1. Tengo este codigo:
$destinatario = $_POST['m1'];
$asunto = "Tu amigo ".$nombre." te recomienda un excelente sitio";
$cuerpo = $_POST['mensaje']
$cuerpo = '
<html> //aqui inserto el codigo de la pagina que debe enviar// </html>
...y aqui continuo el codigo..

Se supone que al destinatario debe llegarle en el cuerpo del mensaje el contenido del campo 'mensaje' y la pagina html, pero no le llega sino la pagina html...alguna sugerencia?

2. ¿Como puedo enviar a la vez los datos a una BD predeterminada? Es decir, al enviar el formulario, el usuariole envia los emials a sus amigos y a la vez los datos a una base de datos...
  #2 (permalink)  
Antiguo 11/10/2006, 15:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 32
Antigüedad: 17 años, 7 meses
Puntos: 0
$cuerpo=$cuerpo.'
<html> //aqui inserto el codigo de la pagina que debe enviar// </html>'
...y aqui continuo el codigo..

o

$cuerpo.='<html> //aqui inserto el codigo de la pagina que debe enviar// </html>'
...y aqui continuo el codigo.

para concatenar el cotenido de cuerpo con lo nuevo
  #3 (permalink)  
Antiguo 11/10/2006, 15:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Observa:
$cuerpo = $_POST['mensaje'];
$cuerpo = 'blablabla';

Así como defines tu variable $cuerpo .. siempre prevalecerá el valor del último dato que le des a esa variable .. No las estás concatenando.

Deberías concatenar:
$cuerpo = $_POST['mensaje'];
$cuerpo .= 'blablabla';

con el punto por ejemplo .. o todo sobre una variable en un string:

$cuerpo = "Mensaje: ".$_POST['mensaje']."<br>resto de HTML .. .";

Deberías indicar el código "textual" que usas .. así como lo "resumistes" no se observa realmente como lo aplicas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 12/10/2006, 13:49
Oky
 
Fecha de Ingreso: junio-2004
Mensajes: 14
Antigüedad: 19 años, 10 meses
Puntos: 0
Pues me funciono perfecto, puse el html primero y luego el $cuerpo .= $_POST['mensaje']; con el punto y listo...solucionado. Mil gracias. En cuanto a mi segunda pregunta... la repito, ¿es posible enviar a la vez un formulario a una Base de Datos y a correos electronicos con la funcion mail()?
  #5 (permalink)  
Antiguo 12/10/2006, 17:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Oky Ver Mensaje
Pues me funciono perfecto, puse el html primero y luego el $cuerpo .= $_POST['mensaje']; con el punto y listo...solucionado. Mil gracias. En cuanto a mi segunda pregunta... la repito, ¿es posible enviar a la vez un formulario a una Base de Datos y a correos electronicos con la funcion mail()?
Claro que sí .. por qué no?

Lo que no se va hacer el proceso "a la vez" o "en paralelo" .. una cosa y luego la otra:

Código PHP:
<?
// Proceso de INSERT de tatos a tu BBDD
// código ...

//Si todo OK
envias el e-mail con mail() ...
?>
De hecho tu veras que es más importante: que queden los datos en la BBDD para luego generar el e-mail como un simple "aviso" .. o al reves? .. Esa "política" que tu definiras o criterio te marcará en que orden o que valiciones harás para continuar con el siguiente proceso cuando el anterior termine satisfactoriamente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 00:09.