Foros del Web » Programando para Internet » PHP »

Problema con el Foreach

Estas en el tema de Problema con el Foreach en el foro de PHP en Foros del Web. Hola Estoy realizando un sistema de ventas , estoy haciendo uso de un carrito de compras donde almacena cada vez que presione agregar al carrito ...
  #1 (permalink)  
Antiguo 15/08/2012, 22:58
 
Fecha de Ingreso: abril-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Problema con el Foreach

Hola Estoy realizando un sistema de ventas , estoy haciendo uso de un carrito de compras donde almacena cada vez que presione agregar al carrito el producto seleccionado con el ID.

He creado 2 Web php

1.productos.php
2.detalle_carrito.php

Ambas estan conectadas

Código PHP:
<body>
<p>
<?php
foreach($_SESSION['creaj'] as $k)
{
    echo 
$k.'<br>';
}
?>
  </p>
<p><a href="producto.php">Seguir Comprando </a></p>
Estas lineas de codigo me Lanzan una Alerta la cual no me muestra el script.

Warning: Invalid argument supplied for foreach() in C:\wamp\www\Web\detalle_carrito.php on line 58

Tengo otro Mensaje de Alerta Tambien en la misma linea de codigo

Notice: Undefined index: creaj in C:\wamp\www\Web\detalle_carrito.php on line 58

Agradeseria su Ayuda Enormemente Gracias!
  #2 (permalink)  
Antiguo 16/08/2012, 05:31
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con el Foreach

Te está diciendo que $_SESSION['creaj'] no existe, así que probablemente no hayas iniciado sesión:

http://php.net/manual/es/function.session-start.php

Saludos!
  #3 (permalink)  
Antiguo 16/08/2012, 07:11
 
Fecha de Ingreso: mayo-2012
Mensajes: 49
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Problema con el Foreach

Como consejo, yo siempre hago lo mismo, comprobar si lo que quiero mostrar contiene algo.

Código PHP:
Ver original
  1. if(loquequieromostrar)
  2. {
  3. si existe hago algo
  4. foreach()
  5. {
  6.  
  7. }
  8. }else{
  9. si no existe lo que quiero mostrar
  10. }

Con eso creo que te evitarás el mensaje que dice que no tiene nada para mostrar el foreach, saludos.
  #4 (permalink)  
Antiguo 16/08/2012, 07:26
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1.242
Antigüedad: 13 años, 5 meses
Puntos: 73
Respuesta: Problema con el Foreach

Haz var_dump($_SESSION['creaj'])

Quizás esa variable no exista o simplemente sea un string, un int, bool u otra cosa...

Asegurate de que sea un array y como te dijeron antes, comprueba que existe:

Código PHP:
Ver original
  1. if(is_array($_SESSION['creaj']))
  2. {
  3. // Sirve
  4. }
  5. else
  6. {
  7. // Fallo... var_dump ;-)
  8. }

Otra cosa, como te dicen, quizás session_start() no está invocada, o si... añade por hay:
Código PHP:
Ver original
  1. if(!$_SESSION) session_start();

Suerte!
__________________
:)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:29.