Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

foreach

Estas en el tema de foreach en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, soy nuevo en esto, espero explicarme bien. Estoy instalando un modulo para la plataforma atutor, que crea una galeria de imagenes donde los usuarios ...
  #1 (permalink)  
Antiguo 19/11/2008, 08:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 34
Antigüedad: 15 años, 6 meses
Puntos: 0
foreach

Hola, soy nuevo en esto, espero explicarme bien.

Estoy instalando un modulo para la plataforma atutor, que crea una galeria de imagenes donde los usuarios pueden subir sus fotos.

En una parte del codigo me da el siguiente error,

Warning: Invalid argument supplied for foreach() in /home/http/vhosts/cursos-educativos.com/httpdocs/ATu16/mods/photo_album/HTML/Template/IT.php on line 527

Warning: Invalid argument supplied for foreach() in /home/http/vhosts/cursos-educativos.com/httpdocs/ATu16/mods/photo_album/HTML/Template/IT.php on line 527


El codigo es

foreach ($this->blockvariables[$block] as $allowedvar => $v) {

if (isset($this->variableCache[$allowedvar])) {
$regs[] = $this->openingDelimiter .
$allowedvar . $this->closingDelimiter;
$values[] = $this->variableCache[$allowedvar];
unset($this->variableCache[$allowedvar]);
$empty = false;
}

y esta declarado el blockvariables[] como,
/**
* Array of variables in a block.
* @var array
*/
var $blockvariables = array();


Alguien tiene idea porque me da dicho error?

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 19/11/2008, 08:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 7 meses
Puntos: 3
Respuesta: foreach

Antes del foreach
Código PHP:

foreach ($this->blockvariables[$block] as $allowedvar => $v) {

if (isset(
$this->variableCache[$allowedvar])) {
$regs[] = $this->openingDelimiter .
$allowedvar $this->closingDelimiter;
$values[] = $this->variableCache[$allowedvar];
unset(
$this->variableCache[$allowedvar]);
$empty false;

pon un var_dump o un print_r y pegalo a ver que te sale por pantalla, pon esto:

Código PHP:
echo "<pre>";
print_r($this->blockvariables[$block]);
echo 
"</pre>"; exit; 
  #3 (permalink)  
Antiguo 19/11/2008, 08:33
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: foreach

¿$this->blockvariables[$block] es un array? si lo que quieres recorrer es $this->blockvariables te sobran los corchetes con el $block.
  #4 (permalink)  
Antiguo 19/11/2008, 08:35
 
Fecha de Ingreso: octubre-2008
Mensajes: 34
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: foreach

Me aparece esto:
Array
(
[TABINDEX] => 1
[LINK] => 1
[IMAGE_SRC] => 1
[IMAGE_ALT] => 1
[IMAGE_TITLE] => 1
[IMAGE_ID] => 1
)



Cita:
Iniciado por Casuis Ver Mensaje
Antes del foreach
Código PHP:

foreach ($this->blockvariables[$block] as $allowedvar => $v) {

if (isset(
$this->variableCache[$allowedvar])) {
$regs[] = $this->openingDelimiter .
$allowedvar $this->closingDelimiter;
$values[] = $this->variableCache[$allowedvar];
unset(
$this->variableCache[$allowedvar]);
$empty false;

pon un var_dump o un print_r y pegalo a ver que te sale por pantalla, pon esto:

Código PHP:
echo "<pre>";
print_r($this->blockvariables[$block]);
echo 
"</pre>"; exit; 
  #5 (permalink)  
Antiguo 19/11/2008, 10:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: foreach

Mmm estas seguro que es el foreach correcto? Ya que si estas recorriendo un array...
  #6 (permalink)  
Antiguo 20/11/2008, 08:36
 
Fecha de Ingreso: octubre-2008
Mensajes: 34
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: foreach

Si ese es el foreach, o por lo menos en esa linea da el error. Si le saco el [$block] directamente no funciona.

Lo que descubri ahora y es curioso es que si entro como instructor funciona bien, pero si entro con alumno me aparece dicho error
  #7 (permalink)  
Antiguo 20/11/2008, 15:08
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: foreach

Te pasaste para el otro lado!

Mirá si todos vamos a dejar la copia de los fuentes de los sistemas o herramientas para ver si alguien tiene tiempo nos revise todo el código?! algo que ni nosotros nos hemos molestado de hacer?!

Un poco de sentido común, estimado.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #8 (permalink)  
Antiguo 20/11/2008, 15:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: foreach

acaso no existen las penalizaciones en el foro ???

este tío, si se excedió.... que mala fé

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 20/11/2008, 15:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: foreach

Prueba hacer lo que te dice Casius entrando como alumno para que puedas ver el error.

Saludos

PD Concuerdo con los demas, no dejes todo el código, si realmente no sabes reparar el error contrata a un asesor.
  #10 (permalink)  
Antiguo 24/11/2008, 05:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 34
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: foreach

Bueno disculpen las molestias ocacionadas, no fue de mala fe como dicen, sino que en otra ocasion me habian pedido que publique el codigo para entender mas el problema.

Muchas Gracias de todas formas por su tiempo


PD: Creo que mala fe es pedir penalizacion para otro, por lo menos en mi país.


Saludos y Gracias!
  #11 (permalink)  
Antiguo 24/11/2008, 07:44
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: foreach

Parte del código del problema, no todo.

Tampoco es tan grave, fue un error y listo.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
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 09:28.