Foros del Web » Programando para Internet » PHP »

Como enviar una tabla html en funcion "MAIL de PHP

Estas en el tema de Como enviar una tabla html en funcion "MAIL de PHP en el foro de PHP en Foros del Web. Hola quisiera me ayudaran a poder enviar una tabla dentro de la funcion mail de php, escribo el codigo para que me digan en que ...
  #1 (permalink)  
Antiguo 24/09/2012, 00:01
 
Fecha de Ingreso: septiembre-2012
Mensajes: 12
Antigüedad: 11 años, 7 meses
Puntos: 0
Como enviar una tabla html en funcion "MAIL de PHP

Hola quisiera me ayudaran a poder enviar una tabla dentro de la funcion mail de php, escribo el codigo para que me digan en que estoy fallando, y como lo areglo.
Gracia

************************************************** ********

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$direccion=$_POST['direccion'];
$email=$_POST['email'];
$sexo=$_POST['sexo'];
$turno=$_POST['turno'];
$comentarios=$_POST['comentarios'];
$cabeceras = 'MIME-Version: 1.0' . "rn";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "rn";

$resumen="<table border='1'>
<tr><td colspan='2'><?php echo 'Datos de '. $nombre.' '.$apellido; ?></td></tr>
<tr><td><?php echo 'NOMBRE ';?></td><td><?php echo $nombre; ?></td></tr>
<tr><td><?php echo 'APELLIDO ';?></td><td><?php echo $apellido; ?></td></tr>
<tr><td><?php echo 'DIRECCION ';?></td><td><?php echo $direccion; ?></td></tr>
<tr><td><?php echo 'EMAIL ';?></td><td><?php echo $email; ?></td></tr>
<tr><td><?php echo 'SEXO ';?></td><td><?php echo $sexo; ?></td></tr>
<tr><td><?php echo 'TURNO ';?></td><td><?php echo $turno; ?></td></tr>
<tr><td><?php echo 'COMENTARIOS';?></td><td><?php echo $comentarios; ?></td></tr>
</table>
";


if(mail("[email protected]","control de horarios","$resumen","$cabeceras"))
{
echo "Datos enviados correctamente";

}else{
echo "Los datos no se Enviaron";

}

?>
</body>
</html>


no me tira error en el codigo, pero si lo envio con la cabecera ($cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "rn"; me llega una tabla en blanco (vacia, sin ningun dato ) al correo destino, si no lo envio con esta cabecera, me llegan los datos completos, pero me los imprime de la siguiente forma:

************************************************** ***************

<table border='1'>
<tr><td colspan='2'><?php echo 'Datos de '. juan.' '.perez; ?></td></tr>
<tr><td><?php echo 'NOMBRE ';?></td><td><?php echo juan; ?></td></tr>
<tr><td><?php echo 'APELLIDO ';?></td><td><?php echo perez; ?></td></tr>
<tr><td><?php echo 'DIRECCION ';?></td><td><?php echo alicanto 123; ?></td></tr>
<tr><td><?php echo 'EMAIL ';?></td><td><?php echo [email protected]; ?></td></tr>
<tr><td><?php echo 'SEXO ';?></td><td><?php echo varon; ?></td></tr>
<tr><td><?php echo 'TURNO ';?></td><td><?php echo Reemplasos; ?></td></tr>
<tr><td><?php echo 'COMENTARIOS';?></td><td><?php echo este es un comentario de prueba; ?></td></tr>
</table>

si se dan cuenta los datos que destaco llegan, correctamente pero muestra todo el html+ la declaracion de las variables.



Gracias por el tiempo!
  #2 (permalink)  
Antiguo 24/09/2012, 06:15
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: Como enviar una tabla html en funcion "MAIL de PHP

primero aprende como ocupar los tag para ingresar tu codigo php
<?php no se anidan por si acaso...
salu2
__________________
Numerador Mp3 en Access =)
http://www.mediafire.com/download/r9...pdw/mp3(2).zip
  #3 (permalink)  
Antiguo 24/09/2012, 09:41
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
Respuesta: Como enviar una tabla html en funcion "MAIL de PHP

Tu código esta MAL, pues estas con PHP y para las variables vuelves a abrir <?php .. ?>

SALUDOS
__________________
Msn: [email protected]
  #4 (permalink)  
Antiguo 24/09/2012, 18:36
 
Fecha de Ingreso: septiembre-2012
Mensajes: 12
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Como enviar una tabla html en funcion "MAIL de PHP

me dijeron hacerlo esta forma para separar bien el codigo html del php... está mal esta practica?
?
  #5 (permalink)  
Antiguo 24/09/2012, 19:36
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 4 meses
Puntos: 18
Respuesta: Como enviar una tabla html en funcion "MAIL de PHP

Hola


Las variables las declaras sin el php o sea por ejemplo

<tr><td colspan='2'><?php echo 'Datos de '. $nombre.' '.$apellido; ?></td></tr>

va

<tr><td colspan='2'>Datos de $nombre $apellido</td></tr>

De que te lo envie de la forma que mencionas me paso una ves pero era problema del servidor no del script

Saludos
  #6 (permalink)  
Antiguo 24/09/2012, 19:40
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 4 meses
Puntos: 18
Respuesta: Como enviar una tabla html en funcion "MAIL de PHP

Prueba asi

Cita:
$mail = al email del que lo envias

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/html";

$resumen="<table border='1'>
<tr><td colspan='2'><?php echo 'Datos de '. $nombre.' '.$apellido; ?></td></tr>
<tr><td><?php echo 'NOMBRE ';?></td><td><?php echo $nombre; ?></td></tr>
<tr><td><?php echo 'APELLIDO ';?></td><td><?php echo $apellido; ?></td></tr>
<tr><td><?php echo 'DIRECCION ';?></td><td><?php echo $direccion; ?></td></tr>
<tr><td><?php echo 'EMAIL ';?></td><td><?php echo $email; ?></td></tr>
<tr><td><?php echo 'SEXO ';?></td><td><?php echo $sexo; ?></td></tr>
<tr><td><?php echo 'TURNO ';?></td><td><?php echo $turno; ?></td></tr>
<tr><td><?php echo 'COMENTARIOS';?></td><td><?php echo $comentarios; ?></td></tr>
</table>
";


$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";

//dirección del remitente
$headers .= "From: soporte <[email protected]>\r\n";

//ruta del mensaje desde origen a destino
$headers .= "Return-path: [email protected]\r\n";

$destinatario = $email; // este es el email al que envias

$asunto = "Asunto del correo";

mail($destinatario,$asunto,$resumen,$headers) ;
Prueba y me dices

Saludos
  #7 (permalink)  
Antiguo 24/09/2012, 22:36
 
Fecha de Ingreso: septiembre-2012
Mensajes: 12
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Como enviar una tabla html en funcion "MAIL de PHP

Gracias por la ayuda, asi funciono:
***************************************
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$direccion=$_POST['direccion'];
$email=$_POST['email'];
$sexo=$_POST['sexo'];
$turno=$_POST['turno'];
$comentarios=$_POST['comentarios'];
$cabeceras = "MIME-Version: 1.0 \r\n";
$cabeceras .= "Content-type: text/html; charset=utf-8 \r\n";
$cabeceras.= "From: $nombre <$email>\r\n";
$destino="[email protected]";
$asunto="Control de horarios";
$fecha=date("d/m/y");
$hora=date("H:i:s");


$resumen="<table border='1'>
<tr><td colspan='2'> Datos de $nombre $apellido</td></tr>
<tr><td> FECHA </td><td> $fecha </td></tr>
<tr><td> HORA </td><td> $hora </td></tr>
<tr><td> NOMBRE </td><td> $nombre </td></tr>
<tr><td> APELLIDO </td><td> $apellido </td></tr>
<tr><td> DIRECCION </td><td> $direccion </td></tr>
<tr><td> EMAIL </td><td> $email </td></tr>
<tr><td> SEXO </td><td> $sexo </td></tr>
<tr><td> TURNO </td><td> $turno </td></tr>
<tr><td> COMENTARIOS </td><td> $comentarios </td></tr>
</table>
";


if(mail("$destino","control de horarios","$resumen","$cabeceras"))
{
echo "Datos enviados correctamente";

}else{
echo "no se enviaron los Datos";

}


?>

</body>
</html>
************************************************** ++

dos ultimas preguntas, como formulo una auto respuesta, al correo que me envio el formulario...
********************
Cambiaria mucho hacerlo con la funcion phpmailer...
*********************


Gracias por su tiempo!
  #8 (permalink)  
Antiguo 24/09/2012, 22:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Como enviar una tabla html en funcion "MAIL de PHP

Cita:
Iniciado por asalto_27 Ver Mensaje
me dijeron hacerlo esta forma para separar bien el codigo html del php... está mal esta practica?
?
Es cierto eso de que separar el código es buena practica, pero eso se hace cuando mezclas HTML directamente con PHP.

En tu caso el HTML estaba dentro de un string, dentro de PHP, y eso no es igual.

Debes aprender la diferencia entre "modo php" y fuera de dicho "modo".

Código PHP:
<?php

/* todo aquí es código php, así que estamos en modo php */

echo 'Si queremos combinar HTML con <strong>' $variables '</strong> o código ';

if (
true) {
  echo 
'debemos hacerlo de manera correcta, un tanto imprimiendo, almacenando y concatenando';
}

echo 
'etc.';

?>

pero aquí afuera no es php, estamos fuera del modo php y podemos combinar HTML con PHP libremente.

<span><?php echo $foo?></span>
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 25/09/2012, 15:58
 
Fecha de Ingreso: septiembre-2012
Mensajes: 12
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Como enviar una tabla html en funcion "MAIL de PHP

Cita:
Iniciado por pateketrueke Ver Mensaje
Es cierto eso de que separar el código es buena practica, pero eso se hace cuando mezclas HTML directamente con PHP.

En tu caso el HTML estaba dentro de un string, dentro de PHP, y eso no es igual.

Debes aprender la diferencia entre "modo php" y fuera de dicho "modo".

Código PHP:
<?php

/* todo aquí es código php, así que estamos en modo php */

echo 'Si queremos combinar HTML con <strong>' $variables '</strong> o código ';

if (
true) {
  echo 
'debemos hacerlo de manera correcta, un tanto imprimiendo, almacenando y concatenando';
}

echo 
'etc.';

?>

pero aquí afuera no es php, estamos fuera del modo php y podemos combinar HTML con PHP libremente.

<span><?php echo $foo?></span>
************************************************** *

GRacias me sirvio mucho tu respuesta!

Etiquetas: funcion, html, mail, tabla, variables
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 22:37.