Foros del Web » Programando para Internet » PHP »

enviar productos por mail

Estas en el tema de enviar productos por mail en el foro de PHP en Foros del Web. hola a todos tengo un listado de productos que lo estoy tratando de enviar por mail que lo hice con php, donde el cliente selecciona ...
  #1 (permalink)  
Antiguo 13/01/2010, 20:14
 
Fecha de Ingreso: noviembre-2008
Mensajes: 28
Antigüedad: 15 años, 5 meses
Puntos: 0
enviar productos por mail

hola a todos tengo un listado de productos que lo estoy tratando de enviar por mail que lo hice con php, donde el cliente selecciona el o los productos que quiere con checkbox aparte de colocar sus datos personales como nombre apellido, etc y al hacer clic en enviar me llega el mail a mi correo con los datos del cliente, pero no me llega los productos que selecciono solo me llega el ultimo producto que y no los demas y si coloco el id de mi tabla solo me llegan numeros y no le nombre del producto que eligio el cliente , me podrian ayudar por favor.

desde ya muchas gracias todos.

este es mi codigo

lista_prod .php
=============
<?php
include("conector.php");
$list_prod = "select * from producto";
$resul_list_prod = mysql_query ($list_prod, $conexion) or die (mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form action="enviar.php" method="post">
<center>PRODUCTOS</center>
<table border="1" align="center">
<tr>
<td>Producto</td><td>Precio</td>
</tr>
<?php while($row = mysql_fetch_assoc($resul_list_prod)){?>
<tr>
<td><?php echo $row['producto'];?></td>
<td><?php echo $row['precio'];?></td>
<?php echo "<td><input type='checkbox' name='seleccion[]' value='$row[producto]'/></td>";?>
</tr>
<?php
}//fin del while
?>
<tr>
<td>Nombre:</td>
<td><input type="text" name="nombre"></td>
</tr>
<tr>
<td>Apellido:</td>
<td><input type="text" name="apellido"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="comprar" name="comprar" /></td>
</tr>
</table>
</form>
<?php mysql_free_result($resul_list_prod);?>
</body>
</html>


enviar.php
=========
<?php
foreach($_POST['seleccion'] as $clave => $valor){
//echo $valor;
}
$nombre = $_POST ['nombre'];
$apellido = $_POST ['apellido'];

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

$mensaje = "Este mensaje fue enviado por " . $nombre . " y sus productos seleccionados son " . $valor . "\r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]'; // aqui iria mi correo
$asunto = 'prueba quiniela';
echo "$mensaje";
mail($para, $asunto, $header, $mensaje);
echo 'Muchas Gracias';

?>
  #2 (permalink)  
Antiguo 13/01/2010, 23:03
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 productos por mail

lo que pasa, es que al iterar del arreglo de productos... solo estas tomando el ultimo $valor del foreach()

debes concatenar los valores en una sola cadena, o bien, unir el arreglo con join()
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 14/01/2010, 00:24
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 9 meses
Puntos: 19
Respuesta: enviar productos por mail

Para que te sea mas facil podes hacer asi

Código PHP:
Ver original
  1. $mensaje = "Este mensaje fue enviado por " . $nombre . " y sus productos seleccionados son " . implode(', ', $_POST['seleccion']) . "\r\n";

Salutes
  #4 (permalink)  
Antiguo 14/01/2010, 07:42
 
Fecha de Ingreso: noviembre-2008
Mensajes: 28
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: enviar productos por mail

hola a todos y muchas gracias por responder

probe como lo dijiste korg pero cuando envia el mail solo me envia un "on" y no el nombre de los productos que estoy haciendo mal

<?php
//foreach($_POST['seleccion'] as $clave => $valor){
//$seleccion = $_POST['seleccion'];
//}
$nombre = $_POST ['nombre'];
$apellido = $_POST ['apellido'];

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

$mensaje = "Este mensaje fue enviado por " . $nombre . " y sus productos seleccionados son " . implode(', ', $_POST['seleccion']) . "\r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]'; // aqui iria mi correo
$asunto = 'prueba quiniela';
echo "$mensaje";
mail($para, $asunto, $header, $mensaje);
echo 'Muchas Gracias';

?>

Etiquetas: enviar, mail, productos
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 20:17.