Hola Amigos,...mi consulta es en relación a la invisibilidad de las variables de arreglo inicializadas en el Constructor da la clase carrito.( es una adaptación del ejemplo del carrito de compras de dEsarrolloweb)
Puedo visualizar la cantidad de cada ítem, los que se van agregando por unidad en cada selección.
En teoría el problema es la visualización de un arreglo ,..pero con la esturcutra de clases , No funciona....
aqui expongo el código....
<?php
include("lib_carrito.php");
?>
<html>
<head>
<title>Trabajando con el carrito</title>
</head>
<body>
<a href="mete_producto.php?id=12&nombre=silla+modelo+jupiter&precio=80">Silla modelo jupiter 80 euros</a>
<br>
<br>
<a href="mete_producto.php?id=16&nombre=mesa+camilla+oferta&precio=29">Mesa camilla en oferta 29 euros</a>
<br>
<br>
<a href="mete_producto.php?id=18&nombre=Silla+oficina&precio=102">Silla oficina 102 euros</a>
<br>
<br>
<a href="mete_producto.php?id=98&nombre=Aparador+cocina+blanco&precio=200">Aparador cocina blanco 200 euros</a>
<br>
<br>
<br>
- <a href="ver_carrito.php">Ver carrito</a>
</body>
</html>
ENTONCES eliges un link e insertas un ítem...
y los datos Get se procesan en este código...
<?php
class carrito {
//atributos de la clase
var $num_productos;
public $array_id_prod;
public $array_nombre_prod;
public $array_precio_prod;
public $array_cant_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;
$this->array_cant_prod[0]=0;
$this->array_cant_prod[1]=0;
$this->array_cant_prod[2]=0;
$this->array_cant_prod[3]=0;
$this->array_nombre_prod = Array();
$this->array_precio_prod = Array();
$this->array_id_prod = Array();
$this->array_nombre_prod[0]= "silla+modelo+jupiter ";
$this->array_nombre_prod[1]= "mesa+camilla+oferta ";
$this->array_nombre_prod[2]= "Silla+oficina ";
$this->array_nombre_prod[3]= "Aparador+cocina+blanco ";
$this->array_precio_prod[0]=80;
$this->array_precio_prod[1]=29;
$this->array_precio_prod[2]=102;
$this->array_precio_prod[3]=200;
$this->array_id_prod[0]=12;
$this->array_id_prod[1]=16;
$this->array_id_prod[2]=18;
$this->array_id_prod[3]=98;
}
//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;
if($id_prod == 12){
$this->array_cant_prod[0]++;
echo $this->array_cant_prod[0];
}
elseif($id_prod == 16){
$this->array_cant_prod[1]++;
echo $this->array_cant_prod[1];}
elseif($id_prod == 18){
$this->array_cant_prod[2]++;
echo $this->array_cant_prod[2];}
elseif($id_prod == 98){
$this->array_cant_prod[3]++;
echo $this->array_cant_prod[3];}
$this->num_productos++;
}
function imprime_carrito(){
echo "<b> hola mundo </b>";
echo '<table border=1 cellpadding="3">
<tr>
<td><b>nombre</b></td>
<td><b>Cantidad</b></td>
<td><b>Precio</b></td>
</tr>';
for($i=0;$i<4;$i++){
echo '<tr>';
echo "<td>" . array_nombre_prod[$i] . "</td>";
echo "<td>" . $this->array_cant_prod[$i] . "</td>";
echo "<td>" . array_precio_prod[$i] . "</td>";
echo '</tr>';
}
}
}
//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();
}
Y este es el error que expone el Sistema.
hola mundo
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\carrito\lib_carrito.php on line 89
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\carrito\lib_carrito.php on line 91
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\carrito\lib_carrito.php on line 89
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\carrito\lib_carrito.php on line 91
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\carrito\lib_carrito.php on line 89
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\carrito\lib_carrito.php on line 91
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\carrito\lib_carrito.php on line 89
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\carrito\lib_carrito.php on line 91
28
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\carrito\lib_carrito.php on line 100
Volver
nombre Cantidad Precio
7
4
6
11
Agradezco Vuestra Respuesta y Comentarios al Respecto.