index.php
Código PHP:
<?php
session_start();
include('conex.php');
error_reporting ( E_ALL );
ini_set('register_globals', 'off');
//$_SESSION["secc"] = $_GET["secc"];
//$_SESSION["item"] = $_POST["item"];
if (isset($_POST['item'])) { $_SESSION["item"] = $_POST["item"];} else {$_SESSION["item"] = "1";}
if (isset($_GET['cve'])) { $_SESSION["cve"] = $_GET["cve"];} else {$_SESSION["cve"] = "1";}
if (isset($_GET['secc'])) { $_SESSION["secc"] = $_GET["secc"];} else {$_SESSION["secc"] = "inicio";}
//if (!isset($_SESSION["ocarrito"])){ $_SESSION["ocarrito"] = new carrito();}
?>
lib_carrito.php
Código PHP:
<?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=0 border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=730 >
<tr>
<td width=680><div class=\"txtb\"><b>Nombre producto</b></div></td>
<td width=50><div class=\"txtb\"><b>Precio</b></div></td>
<td width=20> </td>
</tr>";
for ($i=0;$i<$this->num_productos;$i++){
if($this->array_id_prod[$i]!=0){
echo '<tr height=20>';
echo "<td><div class=\"txtb\">" . $this->array_nombre_prod[$i] . "</div></td>";
echo "<td ><div class=\"txtb\">" . $this->array_precio_prod[$i] . "</div></td>";
echo "<td><a href='eliminar_producto.php?linea=$i'><img src=\"../images/borra.gif\" border=0></td>";
echo '</tr>';
$suma += $this->array_precio_prod[$i];
}
}
//muestro el total
echo "<tr><td class=\"txt_precio\"><b>TOTAL:</b></td><td class=\"txta\"> <b>$suma</b></td><td> </td></tr>";
//total más IVA
echo "<tr><td class=\"txt_precio\"><b>IVA (16%):</b></td><td class=\"txta\"> <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(); //AQUI ESTA EL QUE ME CAUSA EL PROBLEMAAAAAAAAAAAAAAA =(
//si no esta creado el objeto carrito en la sesion, lo creo
if (!isset($_SESSION["ocarrito"])){
$_SESSION["ocarrito"] = new carrito();
}
?>