Pillé hace unos dias un tutorial de como hacer un carrito de la compra.
El caso es que funciona a la perfeción, agrega, borra y se pueden ver todos los elementos que hemos ido seleccionando.
Pero resulta que lo más interesante de todo, no te lo explicaban a hacer, que es el procesar el pedido.
El sistema funciona agregando mediante variables, unos valores en una libreria, que va almacenándolos y si lo deseamos nos los muestra en una simple tablita mediante el archivo ver_carrito.php
La cuestión es, si sería posible enviar esta tabla mediante un formulario o algo donde el cliente ponga sus datos, y que yo la reciba en mi correo para saber que desea la persona en cuestión.
O más sencillo aun, añadir al final de esta tabla un campo para que el usuario ponga su correo y nombre, y además un botón que me la envie a mi correo.
Expongo los 2 archivos php para ver esa tabla.
ver_carrito.php
Código PHP :
<? include("lib_carrito.php"); $_SESSION["ocarrito"]->imprime_carrito(); ?>
Este es el archivo que genera la tabla con los valores de las variables usando echo
lib_carrito.php
Código PHP :
<? class carrito { //atributos de la clase var $num_productos; var $array_id_prod; var $array_nombre_prod; var $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; 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 "<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 "<tr><td><b>IVA (16%):</b></td><td> <b>" . $suma * 1.16 . "</b></td><td> </td></tr>"; 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 session_start(); //si no esta creado el objeto carrito en la sesion, lo creo if (!isset($_SESSION["ocarrito"])){ $_SESSION["ocarrito"] = new carrito(); } ?>
Bueno si alguien se presta a ayudar lo agradecería de corazón, ya que no se para donde tirar y estos foros estan llenos de máquinas
Muchas gracias