Foros del Web » Programando para Internet » PHP »

problemas en funcion mail

Estas en el tema de problemas en funcion mail en el foro de PHP en Foros del Web. Estoy haciendo un formulario donde se autogenera segun el usuario desee los campos a llenar ahora se crean los siguientes campos cant_[] , unid_[] y ...
  #1 (permalink)  
Antiguo 20/12/2005, 02:22
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Exclamación problemas en funcion mail

Estoy haciendo un formulario donde se autogenera segun el usuario desee los campos a llenar ahora se crean los siguientes campos cant_[] , unid_[] y desc_[] hasta ahi todo bien, pero el problema esta al enviar los datos, ¿ como hago que dentro de la funcion mail . Al usuario que recibe el mail le llegue en forma de tabla estos tres campos (columnas) a su correo, me pueden dar un ejemplo de code. Muchas gracias espero se entienda mi duda.
  #2 (permalink)  
Antiguo 20/12/2005, 02:58
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Al ser arrays lo puedes hacer con un foreach.Ejemplo:

Código PHP:
$destino="[email protected]";
$asunto="Envio desde la pagina web";

// las cabeceras que quieras
 
$headers="";
   
$headers .= "X-Sender:  $mail <$mail>\n"//
   
$headers .="From: $maili <$maili>\n";
   
$headers .= "Reply-To: $maili <$maili>\n";
   
$headers .= "Date: ".date("r")."\n";
   
$headers .= "Message-ID: <".date("YmdHis")."selman@".$_SERVER['SERVER_NAME'].">\n";
   
$headers .= "Subject: $subject\n"// subject write here
   
$headers .= "Return-Path: $maili <$maili>\n";
   
$headers .= "Delivered-to: $maili <$maili>\n";
   
$headers .= "MIME-Version: 1.0\n";
   
$headers .= "Content-type: text/html;charset=ISO-8859-9\n";
   
$headers .= "X-Priority: 1\n";
   
$headers .= "Importance: High\n";
   
$headers .= "X-MSMail-Priority: High\n";
   
$headers .= "X-Mailer: SelmanD Mailler With PHP!\n";
   
$headers .= "Bcc: $oculta1\n";

cuerpo="Estimado cliente estos son los datos que ha elegido:";

$cuerpo.= "<table cellpadding='2' cellspacing='2'> 
<tr>
  <td> CANTIDad</td> 
  <td>UNIDades</td> 
  <td>DESCargas</td>
</tr>
<tr>
  <td>"
;

// primer array
foreach ($cant as  $cantidad )
{
$cuerpo .= "$cantidad";}

$cuerpo.= "
</td>
  <td>"
;

// segundo
foreach ($unid as  $unidad )
{
$cuerpo .= "$unidad";}

$cuerpo.= "
</td>
  <td>"
;

//tercero  
foreach ($desc as  $descargas )
{
$cuerpo .= "$descargas";}

$cuerpo.="
</td>
</tr></table>"
;

$cuerpo .="\r\n";

mail($destino$asunto,$cuerpo,$headers
Esto estaecho a "ojo" y no esta probado es solo una guia de una de las varias formas que hay para hacerlo. Espero que te sirva.

Aqui tienes un enlace de un codigo de envio mas depurado solo tienes que insertarle los foreach para que te sirva perfectamente.

http://www.forosdelweb.com/showthrea...80#post1366680
__________________
Ciao y suerte.

Última edición por Pleniluni0; 20/12/2005 a las 03:16
  #3 (permalink)  
Antiguo 20/12/2005, 03:57
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Exclamación algo falta ... :(

cuando reviso el mail .. aparece asi la tabla
Código:
<table cellpadding='2' cellspacing='2'> 
<tr>
  <td>CANTIDAD</td> 
  <td>UNIDADES</td> 
  <td>DESCRIPCIÓN</td>
</tr>
<tr>
  <td>cant1cant2
</td>
  <td>und1und2
</td>
  <td>desc1desc2
</td>
</tr></table>]
Pero tuve que arreglar el foreach
Código:
// primer array
foreach ($cant_ as $i => $cantidad) 
{$cuerpo .= "$cantidad";}

$cuerpo.= "
</td>
  <td>";

// segundo
foreach ($unid_ as $i => $unidad) 
{$cuerpo .= "$unidad";}

$cuerpo.= "
</td>
  <td>";

//tercero  
foreach ($desc_ as $i => $descargas) 
{$cuerpo .= "$descargas";}

$cuerpo.="
</td>
</tr></table>";

$cuerpo .="\r\n";
Salen los datos en la misma columna no se cicla, como deberia de ser para que salgan en diferentes varias filas ordenadamente. Gracias por la ayuda del foreach
  #4 (permalink)  
Antiguo 20/12/2005, 05:04
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Hola de nuevo, muestrame lo que te sale en pantalla.
__________________
Ciao y suerte.
  #5 (permalink)  
Antiguo 20/12/2005, 08:11
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Exclamación Resultado

el resultado del correo es:
Código:
CANTIDAD | UNIDADES | DESCRIPCIÓN
cant1cant2 | und1und2 | desc1desc2
sale algo asi la tabla y el code de la tabla en el resultado es :
Código:
<table cellpadding='2' cellspacing='2'> 
<tr>
  <td>CANTIDAD</td> 
  <td>UNIDADES</td> 
  <td>DESCRIPCIÓN</td>
</tr>
<tr>
  <td>cant1cant2
</td>
  <td>und1und2
</td>
  <td>desc1desc2
</td>
</tr></table>
Siendo can1, cant2, und1, und2, desc1, desc2. Datos ingresados en el form.
Mi problema seria que lee cada foreach individualmente, y no permite que la tabla salga bien, alguna solucion para el code ?
  #6 (permalink)  
Antiguo 20/12/2005, 09:45
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Un resultado asi te valdria?

Cita:
CANTIDAD | UNIDADES | DESCRIPCIÓN
cant1 | und1 | desc1
cant2 | und2 | desc2
cant3 | und3 | desc3
con las tablas bien definidas claro.
__________________
Ciao y suerte.
  #7 (permalink)  
Antiguo 20/12/2005, 12:29
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Exclamación Respuesta.

Sí, el restultado asi deberia de salir, pero eh intentado combinando el code, pero no me sale.. si me puedes ayudar con el code ahi, te agradeceria mucho. Gracias de anticipación
  #8 (permalink)  
Antiguo 20/12/2005, 13:39
Avatar de Quest  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago
Mensajes: 129
Antigüedad: 21 años, 4 meses
Puntos: 2
Código PHP:
$cuerpo.= "<table cellpadding='2' cellspacing='2'> 
<tr>
  <td> CANTIDad</td> 
  <td>UNIDades</td> 
  <td>DESCargas</td>
</tr>"
;

$arr_tot = array(count($cant),count($unid),count($desc));
rsort($arr_tot);
reset($arr_tot);
for (
$i=0$i $arr_tot[0]; $i++) {
    
$cuerpo.="<tr><td>$cant[$i]</td><td>$unid[$i]</td><td>$desc[$i]</td></tr>";
}
$cuerpo.="</table>"
saluidos.
__________________
http://victorsanmartin.com
Web Developer
http://www.guiasitios.cl
  #9 (permalink)  
Antiguo 20/12/2005, 14:08
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Una manera mas facil y mas ordenada de hacerlo xd.
__________________
Ciao y suerte.
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 06:44.