Foros del Web » Programando para Internet » PHP »

problema con phpmailer.No muestra datos de mis variables.

Estas en el tema de problema con phpmailer.No muestra datos de mis variables. en el foro de PHP en Foros del Web. Tengo el siguiente codigo que toma los datos de un formulario.Los datos llegan bien,lo que no hace es que me muestre los datos en una ...
  #1 (permalink)  
Antiguo 15/07/2011, 12:17
 
Fecha de Ingreso: julio-2011
Mensajes: 11
Antigüedad: 12 años, 9 meses
Puntos: 0
problema con phpmailer.No muestra datos de mis variables.

Tengo el siguiente codigo que toma los datos de un formulario.Los datos llegan bien,lo que no hace es que me muestre los datos en una tabla.

<?php
require "class.phpmailer.php";
$mail = new phpmailer();
//$mail->PluginDir="aqui tu directorio donde está el fichero class.smtp.php";
$_empresa .= $_POST["empresas"]."\n";
$_ciudad .= $_POST["Ciudad"]."\n";
$_pais .= $_POST["Pais"]."\n";
$_nombre .= $_POST["nombre"]."\n";
$_telefono .= $_POST["Telefono"]."\n";
$_mail .= $_POST["email"]."\n";
$_comentario .= $_POST["Comentarios2"]."\n";
foreach($_POST['NOMPROD'] as $_p)
{if($_p!=""){
$_NOMPROD .= " ".$_p."\n";}}

foreach($_POST["CANTPROD"] as $_c)
{if($_c!=""){
$_CANTPROD .= " ".$_c."\n";}}
$_producto.= $_NOMPROD."\n";
$_cantidad.= $_CANTPROD."\n";
$mail->PluginDir = "";
$mail->Mailer = "smtp";
$mail->Host = "smtp.gmail.com";
$mail->Port = "465";
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "pepepass";
$mail->From = $_mail;
$mail->FromName = $_empresa;
$mail->Timeout=120;
$mail->AddAddress("[email protected]");
$mail->IsHTML(true);
$mail->Subject = "Formulario de pedidos";
$body .= '<table width="399" border="0">
<tr>
<td width="135">Empresa:</td>
<td width="254">$_empresa;</td>
</tr>
<tr>
<td>Ciudad:</td>
<td>$_ciudad;</td>
</tr>
<tr>
<td>Pais:</td>
<td>$_pais;</td>
</tr>
<tr>
<td>Nombre y Apellido:</td>
<td>$_nombre;</td>
</tr>
<tr>
<td>Telefono:</td>
<td>$_telefono;</td>
</tr>
<tr>
<td>E-mail:</td>
<td>$_mail ;</td>
</tr>
<tr>
<td>Comentario</td>
<td>$_comentario;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="398" height="109" border="1">
<tr>
<td height="23" colspan="2" align="center">Pedido</td>
</tr>
<tr>
<td height="21" align="center">Producto</td>
<td align="center">Cantidad</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
';
$mail->Body = $body;
$exito = $mail->Send();
$intentos=1;
while ((!$exito) && ($intentos < 2)) {
sleep(5);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;
}

if(!$exito)
{
echo "Problemas enviando correo electrónico";
echo "<br>".$mail->ErrorInfo;
echo " ";
}
else
{
echo "Mensaje enviado correctamente";
echo " ";
}
?>
me muestra en el mail esto:
Empresa: $_empresa
Ciudad: $_ciudad
Pais:
Nombre y Apellido:
Telefono:
E-mail:
Comentario

muestra el nombre de la variable y no su contenido.y encima debo despues poner una tabla que me muestre los datos de un array bidimensional,pero no puedo con esto,menos voy a poder poder con lo otro.Hay alguna forma posible de hacerlo.Agradeceria cualquier ayuda.Estaba pensando en un while como hacen aqui
http://www.forosdelweb.com/f18/crear-columnas-filas-segun-cantidad-registros-379216/
pero yo apenas empiezo con php y es como que me esta costando algunas cositas.Espero me den una mano.Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 15/07/2011, 12:45
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: problema con phpmailer.No muestra datos de mis variables.

Hola amiguito
Código PHP:
Ver original
  1. $body .= '<table width="399" border="0">
  2. <tr>
  3. <td width="135">Empresa:</td>
  4. <td width="254">'.$_empresa.'</td>
  5. </tr>';

te falta concatenar las variables
  #3 (permalink)  
Antiguo 15/07/2011, 16:17
 
Fecha de Ingreso: julio-2011
Mensajes: 11
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: problema con phpmailer.No muestra datos de mis variables.

Gracias por la ayuda quedo barbaro.ahora solo me queda que los datos de las siguientes variables se pongan una debajo de la otra.

foreach($_POST['NOMPROD'] as $_p)
{if($_p!=""){
$_NOMPROD .= " ".$_p."\n";}}

foreach($_POST["CANTPROD"] as $_c)
{if($_c!=""){
$_CANTPROD .= " ".$_c."\n";}}
$_producto.= $_NOMPROD."\n";
$_cantidad.= $_CANTPROD."\n";

porque me quedan una al lado de la otra.El codigo es:

<table width="398" height="109" border="1">
<tr>
<td height="23" colspan="2" align="center">Pedido</td>
</tr>
<tr>
<td height="21" align="center">Producto</td>
<td align="center">Cantidad</td>
</tr>
<tr>
<td>'.$_producto.'</td>
<td>'.$_cantidad.'</td>
</tr>
</table>
<p>&nbsp;</p>

Hay alguna manera que cree las tablas con filas y columnas de forma dinamica,teniendo en cuenta que los datos se toman de 2 variables.Solo son 2 columnas lo que necesito.Gracias por la ayuda que ya me han dado.

Última edición por arytdf; 15/07/2011 a las 17:36

Etiquetas: columnas, filas, phpmailer
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 17:04.