Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/10/2005, 02:08
blaze
 
Fecha de Ingreso: octubre-2005
Mensajes: 2
Antigüedad: 18 años, 6 meses
Puntos: 0
Problema con carrito de compras

Buenos días, tengo un problema con un carrito de compras. Me inserta todo los productos bien, pero el problema me surge cuando quiero enviar a un e-mail todos los productos que tengo en el carrito, ya que solo me envía el último añadido y no todos, como debería. Espero que me puedan ayudar. Un saludo y gracias de antemano.

Codigo:
<?
session_start();
?>
<?
class carrito {
//atributos de la clase
var $num_productos;
var $array_Ref_prod;
var $array_Desc_prod;
var $array_Price_prod;
var $array_Talla_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($Ref_prod,$Desc_prod,$Price_pro d,$Talla_prod){
$this->array_Ref_prod[$this->num_productos]=$Ref_prod;
$this->array_Desc_prod[$this->num_productos]=$Desc_prod;
$this->array_Price_prod[$this->num_productos]=$Price_prod;
$this->array_Talla_prod[$this->num_productos]=$Talla_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(){
echo '<table width=500 border=0 cellpadding="0" cellspacing="0">
<tr>
<td width=150 class=header></td>
<td width=125 class=header>Desc</td>
<td width=125 class=header>Talla</td>
<td width=30 class=header>€</td>
<td width=95 align=right class=header></td>
</tr>';
for ($i=0;$i<$this->num_productos;$i++){
echo '<tr>';
echo "<td width=150 class=text>" . $this->array_Ref_prod[$i] . "</td>";
echo "<td width=125 class=text>" . $this->array_Desc_prod[$i] . "</td>";
echo "<td width=30 class=text>" . $this->array_Talla_prod[$i] . "</td>";
echo "<td width=30 class=text>" . $this->array_Price_prod[$i] . "</td>";
echo "<td width=95 align=right class=text><a href=eliminar_producto.php?linea=$i>Delete</td>";
echo '</tr>';
$Subtotal += $this->array_Price_prod[$i];
$Ref = $this->array_Ref_prod[$i];
$Talla = $this->array_Talla_prod[$i];

}
echo "</table>";
echo "<CENTER><B> <font color=BF0203>PORTES NO INCLUIDOS EN EL PRECIO</font> </B></CENTER>";
echo "<p><font color=FFFFFF><b>Subtotal: $Subtotal €</b></font></p>";
echo "<table border=0 cellpadding=0 cellspacing=0 width=500>
<tr>
<td width=500>
<p align=center><a href=/index.php>
<img border=0 src=/images/continue_shopping.jpg width=166 height=22></a></td>
</tr>
</table><BR><BR>";

echo "<form enctype=multipart/form-data method=post action=sendOK.php>
<table border=0 cellpadding=0 cellspacing=0 width=500 height=164>
<INPUT TYPE=hidden name=Ref value=$Ref>
<INPUT TYPE=hidden name=Talla value=$Talla>
<INPUT TYPE=hidden name=Subtotal value=$Subtotal>
<tr>
<td width=500 class=header>
&nbsp;Solicitud de pedido</td>
</tr>
<tr>
<td width=500 height=152 class=text>
<p align=center>
Nombre:
<input type=text name=nombre size=9 class=text>&nbsp;
Apellidos:
<input type=text name=apellidos size=9 class=text>&nbsp;
Direccion:
<input type=text name=direccion size=13 class=text>&nbsp;<br>
<br>
CP:
<input type=text name=cp size=6 class=text>
Localidad:
<input type=text name=localidad size=11 class=text>&nbsp; Provincia:
<input type=text name=provincia size=11 class=text>&nbsp; <br>
<br>
Pais:
<input type=text name=pais size=11 class=text>&nbsp;
E- Mail:
<input type=text name=email size=30 class=text></p>

<p align=center>

<input name=boton type=submit value=Enviar class=textsend></td>
</tr>
</table>
</FORM>";

}

//elimina un producto del carrito. recibe la linea del carrito que debe eliminar
//no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado
function elimina_producto($linea){
$this->array_Ref_prod[$linea]=Vacio;
$this->array_Desc_prod[$linea]=Vacio;
$this->array_Price_prod[$linea]=Vacio;
$this->array_Talla_prod[$linea]=Vacio;

}
}
//si no esta creado el objeto carrito en la sesion, lo creo
if (!isset($_SESSION["ocarrito"])){
$_SESSION["ocarrito"] = new carrito();
}
?>

Código sendOK.php:

<?
$Talla=$_POST['Talla'];
$Ref=$_POST['Ref'];
$Subtotal=$_POST['Subtotal'];
$Codigo=$nombre.$apellidos;
mail("[email protected]","Solicitud de Pedido","<b>Código Transferencia:</b> ".$Codigo."<br><br><b>Ref:</b> ".$Ref."<br><b>Talla:</b> ".$Talla."<br><br><b>Subtotal:</b> ".$Subtotal." €<br><br><b>Nombre:</b> ".$nombre."<br><b>Apellidos:</b> ".$apellidos."<br><b>Direccion:</b> ".$direccion."<br><b>CP:</b> ".$cp."<br><b>Localidad:</b> ".$localidad."<br><b>Provincia:</b> ".$provincia."<br><b>Pais:</b> ".$pais."<br><b>E-mail:</b> ".$email, 'Content-Type: text/html;charset=iso-8859-1');
?>