Foros del Web » Programando para Internet » PHP »

Envio de detalle de productos al mail con phpmailer.

Estas en el tema de Envio de detalle de productos al mail con phpmailer. en el foro de PHP en Foros del Web. Por favor necesito ayuda!!! Tengo el carrito casi listo pero me falta enviar el detalle de los productos al correo. Para esto estoy utilizando phpmailer. ...
  #1 (permalink)  
Antiguo 19/03/2013, 09:27
Avatar de mili_07  
Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 2 meses
Puntos: 1
Exclamación Envio de detalle de productos al mail con phpmailer.

Por favor necesito ayuda!!! Tengo el carrito casi listo pero me falta enviar el detalle de los productos al correo. Para esto estoy utilizando phpmailer. Yo obtengo de la sesión la variable de productos pero como esta dentro de un foreach me trae solo un producto. No se como mandar en el cuerpo del mail cada producto que se a comprado. GRACIAS Y PORFAVOR AYUDA! Se agradece!
  #2 (permalink)  
Antiguo 19/03/2013, 09:36
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Envio de detalle de productos al mail con phpmailer.

Nos ayudaría mucho que mostraras el código que usas, para ver donde pueda estar el problema....
  #3 (permalink)  
Antiguo 19/03/2013, 14:35
Avatar de mili_07  
Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Envio de detalle de productos al mail con phpmailer.

Gracias por responder este es el codigo:


foreach($_SESSION['carro'] as $key=>$valor){
$fi=$config->getProductosPorId($key);

echo "<br> Cantidad: " . $valor;

foreach($fi as $fila){

$id=$fila['idproductos'];
$producto=$fila['producto'];
$preciounit=$fila['precio'];

}
echo "<br> Producto: " . $producto;
echo "<br> Id: " . $id . "<br>";
echo "Precio unitario: " . $preciounit . "<br><br><br>";



}

if(isset($_SESSION['nombre']) && isset($_SESSION['carro'])){

send_mail(
'[email protected]',
$_SESSION['email'],
'Gracias por efectuar su compra con nosotros',
"Hola " . $nombrecliente . " " . $apellidocliente .
"<br/>" .
"Gracias por efectuar su compra con nosotros." .

"Su total de compra es de: $ " . $total_compra = $_SESSION['totalcoste'] .
"<br/>" .
"La cantidad total de articulos de: " . $cant_total = $_SESSION['cantidadTotal'] . " articulos. " .
"<br/>" .
"Usted a adquirido el/los producto/s: ".
"<div>" .
$_SESSION['productos']
. "</div>".





"<br/>" .
"<br/>" .
"Muchas gracias."
);


}else{

echo "error";
}



En la parte que utilizo send mail, donde dice $_SESSION['productos'], me devuelve solo un producto. Me imagino que el problema es porque session no guarda array pero me gustaria saber como hacerlo si se puede y como mostrarlo en el mail. MUCHAS GRACIAS!!!
  #4 (permalink)  
Antiguo 19/03/2013, 14:53
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Envio de detalle de productos al mail con phpmailer.

aaa bueno por ahi hubieras empezado... primero verifica si la variable de tiene el arreglo has esto y nos cuentas que te devuelve

Código PHP:
Ver original
  1. echo "<pre>";
  2. print_r($_SESSION['productos']);
  3. echo "</pre>";
  #5 (permalink)  
Antiguo 19/03/2013, 14:57
Avatar de mili_07  
Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Envio de detalle de productos al mail con phpmailer.

Eso lo hice antes y lo hago con esa forma y me devuelve un solo producto, pero ese codigo si lo pongo dentro del foreach me trae los productos que deben ser. Y no sé como guardarlo para despues presentarlo, es decir, para mostrarlo en el mail... GRACIAS!!
  #6 (permalink)  
Antiguo 19/03/2013, 15:02
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Envio de detalle de productos al mail con phpmailer.

ok, entonces cuentamos cual es la estructura del arreglo que tienes en la sesion porque al parecer o estas accediendo mal a dicho arreglo o no es un arreglo el que tenes en la sesion, vamos desde el principio cual es el codigo con el cual se supone se debe crear el arreglo con los productos?? porque al parecer ahi es donde está el problema...
  #7 (permalink)  
Antiguo 20/03/2013, 06:20
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Envio de detalle de productos al mail con phpmailer.

Si puedes visualizar los productos con foreach tambien puedes cargar el cuerpo del mail por foreach.. o guardas en una variable los productos que trajiste por foreach y eso lo insertas al cuerpo del mensaje, no se porque tanta vuelta. Algo así, aunque esto está hecho con FOR pero la lógica es la que vale..

Código PHP:

if(isset($_SESSION['carrito'])){
  
$carrito_mio=$_SESSION['carrito'];
  
$pedido="Pedido de libros - Prueba. <br><br>" ;
  
$total=0;
  for(
$i=0;$i<=count($carrito_mio)-1;$i ++){
       if(
$carrito_mio[$i]!= NULL){
          
$pedido .= $carrito_mio[$i]['nombre_libro'] . "********" $carrito_mio[$i]['precio'] . "x"
          
$carrito_mio[$i]['cantidad'] . "Total : " $carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad'] . " Uss <br> ";
          
$total $total $carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad'];
       
       
       }           
}

$pedido .= "<br><br> Total: " $total;
$nombre=$_POST['nombre'];
$email=$_POST['correo'];
$pedido .= "<br><br>De: "$nombre;
$asunto="Libros online-pedido prueba";
$empresa="idt.com.py";
$correo_empresa="[email protected]";
  
mail($email,$asunto,$pedido,"MIME-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:$empresa<$correo_empresa>");
$asunto .= " Copia ";
mail($correo_empresa,$asunto,$pedido,"MIME-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:$empresa<$correo_empresa>");


__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: carrito, detalle, phpmailer, 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 02:57.