Foros del Web » Programando para Internet » PHP »

enviar datos dinámicos en un correo

Estas en el tema de enviar datos dinámicos en un correo en el foro de PHP en Foros del Web. HOla a todos Tengo un formulario que envía unas variables a una página php para que ésta envíe un correo electrónico. En el correo electrónico ...
  #1 (permalink)  
Antiguo 04/02/2009, 01:17
 
Fecha de Ingreso: noviembre-2004
Mensajes: 72
Antigüedad: 19 años, 5 meses
Puntos: 0
enviar datos dinámicos en un correo

HOla a todos
Tengo un formulario que envía unas variables a una página php para que ésta envíe un correo electrónico. En el correo electrónico debe generarse una tabla con unos datos, que el receptor del correo debe ver. He intentado de varias formas y no me sale la table. El html lo lanza bien, pero el contenido en php es como si no lo viera.
Alguna sugerencia??? os pego el código.


Código HTML:
 <form action="../email/cuerpo_correo.php" method="get" name="imprime">
		<input name="detalle" type="hidden" value="<?php echo $detalle;?>" />
        <input name="id" type="hidden" value="<?php echo $id;?>" />
        <input name="des" type="hidden" value="<?php echo $dest; ?>"/>
        <input name="act" type="hidden" value="<?php echo $acti; ?>"/>
        <input name="fecha_escrito" type="hidden" value="<?php echo $fecha_escrito; ?>"/>
        <input name="fechamysql" type="hidden" value="<?php echo $fechamysql; ?>"/>
        <input name="nombre" type="hidden" value="<?php echo $nombre; ?>"/>
        <input name="descrip" type="hidden" value="<?php echo $des; ?>"/> 
		<input type="submit" name="Submit" value="Enviar por Email comunicación" />
        </form> 
El fichero cuerpo_correo.php, recoge las variables por y preparo la consulta con la bd y ejecuto el query. Preparo el asunto, etc.

Código PHP:
$asunto "Confirmación - ".$desti." - ".$id."";
$cuerpo "En relacion...... ";
$contenedor_mensaje1 '
<html>
<head>......'
.$variable1.'
.
.
    //vamos a mostrar la tabla con los registros
    '
.while ($mostrar=odbc_fetch_array($result))
    {    
        
$dia cambiaf_a_normal(substr($mostrar['DIA'], 010));
        .
'
        <tr>
        <td class="textoChico"><div align="center">'
.$dia.'</div></td>
        <td class="textoChico"><div align="center">'
.$mostrar['NOM'].'</div></td>
        <td class="textoChico"><div align="center">'
.$mostrar['HORA'].' - '.$mostrar['HORA'].'</div></td>
        <td class="textoChico">'
.$mostrar['D'].'</td>
        </tr>
    
    '
.}.                    
                    


     </
table>
.
.
//este código envía el correo
$headers "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: [email protected]\r\n";

$email "[email protected]";

    
mail($email$asunto$contenedor_mensaje1$headers); 
Como veis he probado a insertar el código php dentro de la variable $contenedor_mensaje1, encapsulandolo dentro de '..' para que el servidor cuando envíe la página por correo envíe el contenido dinámico, pero no sale.

Se puede hacer esto de alguna forma???
Graciasss

Última edición por Bit11; 04/02/2009 a las 01:25
  #2 (permalink)  
Antiguo 04/02/2009, 02:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: enviar datos dinámicos en un correo

esta mal el while(), así no debes concatenar!!

por favor, consulta el manual de PHP

http://php.net/while


debes concatenar bien, revisa tu sintaxis...

ejemplo
Código PHP:
// MAL :s

$foo 'bar' . while (/* ... */)
{
  .
'baz'.
}
.
'buzz';



// OK  !!!!
$foo 'bar';

while (
/* ... */)
{
  
$foo .= 'baz';
}

$foo .= 'buzz'
espero comprendas, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/02/2009, 02:35
 
Fecha de Ingreso: noviembre-2004
Mensajes: 72
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: enviar datos dinámicos en un correo

muchísimas gracias pateketrueke, tenías razón, la concatenación no estaba bien hecha.

Un saludo.
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:26.