Foros del Web » Programando para Internet » PHP »

resultado de foreach por mail

Estas en el tema de resultado de foreach por mail en el foro de PHP en Foros del Web. buenas amigos.. estoy algo perdido... lo que hace mi codigo es lo siguiente, junta los datos del form que vienen por POST y con ellos ...
  #1 (permalink)  
Antiguo 04/05/2015, 21:17
Avatar de ignacio85r  
Fecha de Ingreso: mayo-2010
Ubicación: mar del plata
Mensajes: 155
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta resultado de foreach por mail

buenas amigos..
estoy algo perdido... lo que hace mi codigo es lo siguiente, junta los datos del form que vienen por POST y con ellos genera una lista.
lo que no logro hacer es exportar esa lista por mail, es decir que una vez completo el formulario, esa tabla impresa se envie en un mail.

esto es lo que tengo por ahora..

Código PHP:
<?php
if(isset("enviar"){
    echo 
"<table width=”100%” border=”1″>";
    
$datos $_POST;
    foreach (
$_POST as $clave => $valor){
        echo 
"<tr><td>".htmlspecialchars(print_r($clavetrue))."</td>";
        echo 
"<td>{$_POST[$clave]}</td></tr>";
    }
    echo
"</table>";
    
$mensaje $_POST;
$mail '[email protected]';
mail($mail$mensaje);
} else {

}
?>

desde ya muchas gracias amigos!!
__________________
Los manuales existen por un motivo... explicar el funcionamiento de algo. ;-)
  #2 (permalink)  
Antiguo 04/05/2015, 21:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 28
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: resultado de foreach por mail

El mensaje te dice que la función mail() necesita tres parámetros y sólo tienes dos...si mal no recuerdo te falta la dirección del remitente. Verifica en el API la función mail()
  #3 (permalink)  
Antiguo 04/05/2015, 22:58
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: resultado de foreach por mail

Cita:
Iniciado por Ing_jose Ver Mensaje
El mensaje te dice que la función mail() necesita tres parámetros y sólo tienes dos...si mal no recuerdo te falta la dirección del remitente. Verifica en el API la función mail()
mira esto

los parametros minimos a pasar en la funcion mail son

To = a donde se enviara el correo
subject = titulo del correo
message = mensaje

prueba y me cuentas
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #4 (permalink)  
Antiguo 05/05/2015, 16:24
Avatar de ignacio85r  
Fecha de Ingreso: mayo-2010
Ubicación: mar del plata
Mensajes: 155
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: resultado de foreach por mail

algo asi???? seria???
__________________
Los manuales existen por un motivo... explicar el funcionamiento de algo. ;-)
  #5 (permalink)  
Antiguo 05/05/2015, 17:07
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 8 meses
Puntos: 379
Respuesta: resultado de foreach por mail

Te hace falta leer el manual, quieres pasar un arreglo cuando la función mail acepta una cadena.
http://php.net/manual/es/function.mail.php
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #6 (permalink)  
Antiguo 05/05/2015, 20:45
Avatar de ignacio85r  
Fecha de Ingreso: mayo-2010
Ubicación: mar del plata
Mensajes: 155
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: resultado de foreach por mail

lei el manual pero no entiendo, en mi codigo, de que forma y en que parte debo aplicar el implode para pasar los datos impresos en la tabla y pasarlos por mail...
__________________
Los manuales existen por un motivo... explicar el funcionamiento de algo. ;-)
  #7 (permalink)  
Antiguo 06/05/2015, 09:06
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: resultado de foreach por mail

No puedes enviar un array mediante la función mail(), no al menos como mensaje. El mensaje (y el asunto) deben ser strings. Por otra parte, para enviar un mail con un mensaje que contiene HTML, debes utilizar los dos headers que te puse.

Código PHP:
<?php 
if(isset("enviar"){ 
    
$mensaje "<table width=”100%” border=”1″>"
    foreach (
$_POST as $clave => $valor){ 
        
$mensaje .= "<tr><td>".htmlspecialchars(print_r($clavetrue))."</td>"
        
$mensaje .= "<td>".$_POST[$clave]."</td></tr>"
    } 
    
$mensaje .= "</table>"
    
    
/*No viene al caso pero te recomiendo utilizar la libreria PHPMailer para enviar correos electrónicos que no vayan destinados a ti mismo (necesitas servidor SMTP)*/
    
$mail '[email protected]';
    
$asunto "Asunto del mensaje(mail)";
    
    
//Headers para el envio de mensaje con html.
    
$headers "MIME-Version: 1.0" "\r\n";
    
$headers .= "Content-type:text/html;charset=UTF-8" "\r\n";
    if(
mail($mail$asunto$mensaje$headers)){    
        
//Mail enviado
    
}else{
        
//Error al enviar el mail
    
}
} else { 

}
?>

Última edición por BanNsS1; 06/05/2015 a las 09:13
  #8 (permalink)  
Antiguo 06/05/2015, 09:34
Avatar de ignacio85r  
Fecha de Ingreso: mayo-2010
Ubicación: mar del plata
Mensajes: 155
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: resultado de foreach por mail

aver si entendí BanNsS1.
tu almacenaste en la variable $mensaje el foreach con la tabla para que de esa forma tener el contenido del array convertido a strings en la variable $mensaje y poder enviarlo por mail. ¿no?
yo no me daba cuenta como hacer ese pasaje de array a strings.
__________________
Los manuales existen por un motivo... explicar el funcionamiento de algo. ;-)

Etiquetas: foreach, formulario, html, mail, resultado, tabla
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 09:31.