Buenos dias estoy haciendo un carrito de compras, en el cual tengo que realizar el pedido via email, tengo el siguiente codigo en jQuery
<script type="text/javascript">
$(function () {
var goToCartIcon = function($addTocartBtn){
var $cartIcon = $(".my-cart-icon");
var $image = $('<img width="30px" height="30px" src="' + $addTocartBtn.data("image") + '">').css({"position": "fixed", "z-index": "999"});
$addTocartBtn.prepend($image);
var position = $cartIcon.position();
$image.animate({
top: position.top,
right: position.right
}, 500 , "linear", function() {
$image.remove();
});
}
$('.my-cart-btn').myCart({
classCartIcon: 'my-cart-icon',
classCartBadge: 'my-cart-badge',
affixCartIcon: true,
checkoutCart: function(products, totalPrice, totalQuantity) {
var checkoutString = "Total Price: " + totalPrice + "\nTotal Quantity: " + totalQuantity;
checkoutString += "\n\n Codigo \t Producto \t Precio \t Cantidad";
$.each(products, function(){
checkoutString += ("\n " + this.id + " \t " + this.name + + " \t " + this.price + " \t " + this.quantity);
});
alert(checkoutString)
var data={ producto: products,
total: totalPrice,
cantidad: totalQuantity};
$.ajax({
data : data,
url: "mail.php",
type: 'POST',
success: function() {
$('#result').html(data);
//window.location="mail.php";
},
error: function() {
alert( "Ha ocurrido un error" );
}
});
},
clickOnAddToCart: function($addTocart){
goToCartIcon($addTocart);
},
getDiscountPrice: function(products) {
var total = 0;
$.each(products, function(){
total = this.quantity * this.price;
});
return total;
}
});
});
</script>
MAIL.PHP
<?php
<?php
session_start();
ini_set("memory_limit", "2048M");
if(isset($_POST['producto']))
{$headers = "From: Macrofer Paseo Ferretero S.A. < [email protected] >\r\n";
//Enviamos el mensaje a tu_dirección_email
$producto=$_POST['producto'];
$destinatario=$_SESSION['email'];
$copia1="[email protected]";
$total=$_POST['total'];
$cantotal=$_POST['cantidad'];
$fecha=date("d/m/y");
$hora=date("H:i:s");
$nombre=$_SESSION['nombre'];
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Nuevo pedido Mayorista";
$count = count($producto);
$i=0;
var_dump($_POST['producto']);
while($i<$count){
$cuerpo .= "<table border='1'>
<tr><td colspan='2'> Pedido de $nombre</td></tr>
<tr><td> FECHA </td><td> $fecha </td></tr>
<tr><td> HORA </td><td> $hora </td></tr>
<tr><td> ID </td><td> $producto[$i]['id']; </td></tr>
<tr><td> Producto </td><td> $producto[$i]['name']; </td></tr>
<tr><td> Cantidad </td><td> $producto[$i]['quantity'] </td></tr>
<tr><td> Total </td><td> $total </td></tr>
</table>,";}
//mando el correo...
$book=mail($destinatario,$cuerpo,$headers);
if($book){
echo "Mensaje enviado";
}else{
echo "Mensaje no enviado";
}
}
else {'sin data';}
?>
en el cual realiza las funciones del carro correctamente, luego en la parte del ajax envio la informacion a un archivo llamado mail.php en el cual la idea es que se envie por email los datos del pedido, cuando doy click en el botón de finalizar compra para enviar el pedido, este retorna el cartel funciona y estos datos son los datos que me muestra via consola luego de mostrar el cartel de funciona.
productos[0][id]:01061
productos[0][name]:CLAVOS PUNTA PARIS A GRANEL xKG - 1.1/2
productos[0][summary]:
productos[0][price]:35
productos[0][quantity]:1
productos[0][image]:img/nodis.jpg
total:35
cantidad:1
El envio de datos por ajax parece funcionar correctamente el problema es que no se envia el mail, no muestra ningun mensaje creado en php ni muestra el var_dump
de productos que hago. Si alguien tiene alguna idea!