PHP - Undefined offset / Desplazamiento indefinido AYUDA!!!

 
Vista:
Imágen de perfil de alberto
Val: 41
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por alberto (15 intervenciones) el 09/08/2020 02:43:29
Buenas noches o tarde comunidad serían tan amables de indicarme porque surge un error y como puedo solucionarlo,les cuento ando haciendo una tienda virtual al momento de de darle agregar el producto al cesta me sale el siguiente error Undefined offset:

La primera Imagen indican mi producto al darle click
A
la segunda imagen muestra mi codigo de la pagina detalle.php que redirecciona a tienda.php ->opcion 2
B
Este es el codigo de tienda.php el cual estoy utilizando variables de sesión,el ingresa a la opcion 2 de case
C
este es mi codigo de la cesta donde me sale el error en $nombre=lista[1]; Undefined offset: utilice el var_dump($nombre); pero me sale nullo

D
este es mi error
E

Me pueden indicar que puedo hacer gracias.. comunidad
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por joel (1269 intervenciones) el 09/08/2020 12:07:53
Hola Alberto, si te fijas, no son errores... son "Notice"... notificaciones... te informa, pero no son errores...

No se cual es el archivo Cesta.php ni que hay en la linea 28....


También puedes desactivas las notice en el PHP...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Undefined offset / Desplazamiento indefinido AYUDA!!!
Val: 41
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

En la última imagen ese es el código de página cesta.php

Tengo el error en donde dice $nombre=$lista[1] esa es la línea 28 y la línea 29 es var_dump($nombre); con cual quería ver si estaba trayendo de mi arreglo lista los datos pero sale nullo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por joel (1269 intervenciones) el 09/08/2020 19:36:25
Ah, perfecto!!!
Por alguna razón el indice 1 y el indice 2 en el array $lista no existen!!

Comprueba el contenido de la variable $lista
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por Fabian (60 intervenciones) el 10/08/2020 12:35:35
Publica el metodo ListarProductoscodigo() para ver si no hay algun error en ese. Por lo visto, este metodo tiene que devolver un array.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de alberto
Val: 41
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por alberto (15 intervenciones) el 10/08/2020 18:07:36
mira amigo este es mi metododao.php en el se encuentra metodos los cuales me consulta todos los datos en la base de dato y
el otro metodo que consulta con codigo en especial de un producto lo cual al dar click en catalogo,php un producto en especial envía al detalle
del dicho producto y si muestra sus detalles
metodoDAO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por Fabian (60 intervenciones) el 10/08/2020 20:50:31
por lo que estoy viendo el metodo Listarproductoscodigo() retorna un array multidimensional.
te salta undefined offset porque no existe el indice 1 en el array. Existe el indice [0][0] que sería el "id", el [0][1] que seria el "nombre", el indice [0][2] que sería el "precio".
Proba lo siguiente:
1
2
3
4
$nombre=$lista[0][1];
var_dump($nombre);
$precio=$lista[0][2];
var_dump($precio);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de alberto
Val: 41
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por alberto (15 intervenciones) el 19/08/2020 17:02:57
Señor Fabian puede solucionar ese error como me lo indicastes gracias, ya me esta agregando los productos a la cesta,pero ahora me surge un duda cuando agrego x productos cantidad ejemplo 5 llantas ya no deseo 5 si no 4 o 3 si entonces el debería disminuir,pero me sale el siguiente error Notice: Undefined index: op \DAO\Mitienda.php on line 6, un caso particular es que cuando yo oprimo cancelar pedido los elimina todo y esta bien pero al diminuir sale ese notice este es mi codigo

notice


este es el codigo cesta.php

TUZO1

este es el codigo tienda.php

TUZO2

linea 37 el donde esta case eliminar:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por Fabian (60 intervenciones) el 19/08/2020 17:52:35
lo que pasa es que no esta recibiendo por request la variable "op".
me parece que el error esta en la linea 5 de cesta.php en el <td> de eliminar. donde dice:
1
Mitienda.php?Id=....

tedrías que reemplazar el Id quedando así:
1
Mitienda.php?op=....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por Fabian (60 intervenciones) el 19/08/2020 22:21:38
el error está en switch($op) en el case 2, en ese case falta la sentencia break;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de alberto
Val: 41
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por alberto (15 intervenciones) el 20/08/2020 06:49:21
Hola que tal Señor Fabian me indicas que en el switch($op) case 2: debe llevar breaK;

1
2
3
4
5
6
7
8
9
10
11
12
13
case 2:
    if (isset($_REQUEST['id'])) {
      $id=$_REQUEST['id'];
    } else {
      $id=1;
    }
 
    if (isset($_REQUEST['accion'])) {
      $accion=$_REQUEST ['accion'];
    } else {
      $accion='vacio';
        }
        break;
realice lo que me comentastes y al poner break; pero lo que sucede es que dentro ese case 2 está el siguiente swicth el cual voy utilizar para las acciones de agregar,eliminar y vacio que requiero, por eso al hacerlo como usted dice no me va cargar los productos en la cesta como se ve en la imagen

AFULL

pero si lo quito si carga los productos en la cesta


AFULLL

Lo otro es que no me esta disminuyendo el la cantidad de articulos como me habías indicado que en vez de id pusiera op pero me sale pantalla en blanco deberia diminuir y seguir en la cesta como lo hace con el botón cancelar pedido.

<a href="../DAO/Mitienda.php?op=<?php echo $id;?>&accion=eliminar" class="btn-info badge">Disminuir</a>

AFULLLL

codigo tienda.php

1
2
3
4
5
6
7
8
9
10
11
12
13
case 'eliminar': /* debería disminuir las cantidades del producto*/
    if (isset($_SESSION['Cesta']['$id'])) {
        $_SESSION['Cesta'][$id]=-$can;
    if ($_SESSION['Cesta']['$id']==0)
    unset($_SESSION['Cesta'][$id]);
}
    break;
en el case vacio si dentra pero el case eliminar no
    case 'vacio':
    unset($_SESSION['Cesta']);
 
    break;
}

de antemano le agradezco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por Fabian (60 intervenciones) el 20/08/2020 13:57:17
en el case de "eliminar veo esta línea"
1
$_SESSION['Cesta'][$id]--;

tendrías que hacer un predecremento así:
1
--$_SESSION['Cesta'][$id];

o probá que es mas seguro y te recomiendo que reemplaces por:
1
$_SESSION['Cesta'][$id]=$_SESSION['Cesta'][$id]-1;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de alberto
Val: 41
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Undefined offset / Desplazamiento indefinido AYUDA!!!

Publicado por alberto (15 intervenciones) el 20/08/2020 23:23:18
Señor Fabían nada realice lo indicado y me sale el pantallazo en blanco


pantalla


Yo la verdad creo que el error debe estar aquí, o no se porque no entra case eliminar,


<td> <center><?php echo $x; ?><a href="../DAO/Mitienda.php?op=<?php echo $id;?>&accion=eliminar" class="btn-info badge">Disminuir</a></center></td>

este es para cancelar el pedido pero sirve no se porque el de arriba no entra case eliminar ya intentado muchas veces no se que hacer amigo, me podrías dar soporte ? a veces uno no ve algo que falta
<a href="../DAO/Mitienda.php?accion=vacio&op=2" class="btn-primary focus">Cancelar pedido</a><br>

Imagen Switch case

case


imagen Cesta


cestassss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar