Yo lo inserto al carro de ésta forma
<a href="mete_producto.php?id=1&nombre=producto&preci o=10">Producto $10</a>
Este es el mete_producto.php
Código PHP:
Ver original
<? include("lib_carrito.php"); $_SESSION["ocarrito"]->introduce_producto($_GET["id"], $_GET["nombre"], $_GET["precio"], $_GET["imagen"]); ?> <html> <head> <title>Introduce Producto</title> </head> <body> Producto introducido. <br> <br> <a href="index.php">- Volver</a> <br> <br> <a href="ver_carrito.php">- Ver carrito</a> </body> </html>
Y este es lib_carrito.php
Código PHP:
Ver original
<? class carrito { //atributos de la clase var $num_productos; var $array_id_prod; var $array_nombre_prod; var $array_precio_prod; var $array_imagen_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,$imagen_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->array_imagen_prod[$this->num_productos]=$imagen_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; echo '<table border=1 cellpadding="3"> <tr> <td><b>Nombre producto</b></td> <td><b>Precio</b></td> <td> </td> </tr>'; for ($i=0;$i<$this->num_productos;$i++){ if($this->array_id_prod[$i]!=0){ echo '<tr>'; echo "<td>" . $this->array_nombre_prod[$i] . "</td>"; echo "<td>" . $this->array_precio_prod[$i] . "</td>"; echo "<img src=' . $this->array_imagen_prod[$i] . ' />"; echo "<td><a href='eliminar_producto.php?linea=$i'>Eliminar producto</td>"; echo '</tr>'; $suma += $this->array_precio_prod[$i]; } } //muestro el total echo "<tr><td><b>TOTAL:</b></td><td> <b>$suma</b></td><td> </td></tr>"; //total más IVA echo "</table>"; } //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_id_prod[$linea]=0; } } //inicio la sesión //si no esta creado el objeto carrito en la sesion, lo creo $_SESSION["ocarrito"] = new carrito(); } ?>