PDA

Ver la Versión Completa : Enviar Carrito en PHP por Mail


Dclase
23-02-2010, 17:55:56
no conosco mucho aun sobre PHP, a ver si me pueden dar una manito:

Tengo en una pagina la opcion de agregar productos a un carrito de compras, (que encontre en la web), que usa los archivos lib_carrito.php, ver_carrito.php, y dos mas para meter y eliminar los articulos; el problema que tengo es que quiero enviar un formulario que el usuario llenaria con sus datos y el detalle de los articulos que hay en el carrito por correo, los datos del usuario los agrega bien, pero no he podido o no se como agragar al cuerpo del correo lo que contiene el carrito.

Este es el codigo de donde estan almacenados los datos (lib_carrito.php):


session_start();
//Iniciamos o retomamos la
//sesión
if(isset($_SESSION['ocarrito']))
$ocarrito=$_SESSION['ocarrito'];else $ocarrito=false;

class carrito {
//atributos de la clase
public $num_productos;
public $array_id_prod;
public $array_nombre_prod;
public $array_precio_prod;

//constructor. Realiza las tareas de inicializar los objetos cuando se instancian
//inicializa el numero de productos a 0
function carrito () {
$this->num_productos=0;
}

//Introduce un producto en el carrito. Recibe los datos del producto
//Se encarga de introducir los datos en los arrays del objeto carrito
//luego aumenta en 1 el numero de productos
function introduce_producto($id_prod,$nombre_prod,$precio_prod){
$this->array_id_prod[$this->num_productos]=$id_prod;
$this->array_nombre_prod[$this->num_productos]=$nombre_prod;
$this->array_precio_prod[$this->num_productos]=$precio_prod;
$this->num_productos++;
}

//Muestra el contenido del carrito de la compra
//ademas pone los enlaces para eliminar un producto del carrito-->
function imprime_carrito(){
$suma = 0;
$color='#EFFBEF'; ?>
<div align="center">
<table bgcolor="#D0F5A9" border="0" cellspacing="0" cellpadding="2">
<tr bgcolor="#58c6ef" class="tit">
<td width="400" align="left"><b>PRODUCTO</b></td>
<td align="right" width="100"><b>PRECIO</b></td>
<td>&nbsp;</td>
</tr>
<?php
for ($i=0;$i<$this->num_productos;$i++){
if($this->array_id_prod[$i]!=0){ ?>
<tr bgcolor="<?php echo $color; ?>" class='prod'>
<? $color=('#EFFBEF'==$color)?'#FFFFFF':'#EFFBEF'; ?>
<td align="left"> <? echo $this->array_nombre_prod[$i]; ?></td>
<td style="text-align:right;"><? echo number_format($this->array_precio_prod[$i],2,".",","); ?></td>
<td><? echo "<a href='eliminar_producto.php?linea=$i'><img src=\"img/trash.gif\" border=\"0\" title=\"Eliminar Linea\"/></a>"; ?> </td>
</tr>
<? $suma += $this->array_precio_prod[$i];
}
} ?>
<!--muestro el total-->
<tr class="prod"><td align="left"><b>TOTAL:</b></td>
<td align="right"><b><span>$</span> <?php echo number_format($suma,2,".",","); ?> </b></td>
<td>&nbsp;</td>
</tr>

<tr bgcolor="#fff"><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>

<!--tr class="prod" bgcolor="#58c6ef">
<td align="left"><div><span>Total de Artículos:</span></div></td>
<td align="right"><?php echo $this->num_productos ?></td>
<td>&nbsp;</td>
</tr-->
<!--//total más IVA
//echo "<tr><td><b>IVA (16%):</b></td><td> <b>" . $suma * 1.16 . "</b></td><td> </td></tr>";-->
</table>
</div>
<?php }


function elimina_producto($linea){
$this->array_id_prod[$linea]=0;
//$this->num_productos = $this->num_productos - 1;
}
}

if (!isset($_SESSION["ocarrito"])){
$_SESSION["ocarrito"] = new carrito();
}

Ñuño Martínez
24-02-2010, 19:38:38
En el código que has puesto no veo nada que tenga que ver con el envío de datos por correo. ¿Cómo has "agregado" los datos de usuario? O, mejor dicho, ¿a qué te refieres con "los datos del usuario los agrega bien"? :confused: