Page 1 sur 2
Probleme: foreach in php5
Posté : 13 mai 2010, 18:01
par samaoui
j'ai un script qui fait appel a une fonction comme suite (ligne 122):
// ### Extract template bits
foreach($xml->array['template_set']['template_bit'] as $key => $value) {
$bits_array[$value['group_name']['VALUE']][$value['bit_name']['VALUE']] = $value['content']['VALUE']; //
}
cette fonction marche en php5 mais quand j'ai migré sur un autre hebergeur qui n'a pas php4 juste php5 j'ai l'erreur:
Invalid argument supplied for foreach() in /home/public_html/monsite.info/source/Admin-Panel/admin.templatefunctions.php on line 122
aider moi à resoudre ce probleme merci
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:07
par stealth35
fais avant le foreach un
var_dump($xml->array['template_set']['template_bit']);
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:16
par samaoui
Merci pour votre reponse, mais cela m'affiche un: NULL
que dois je faire et merci.
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:19
par stealth35
Merci pour votre reponse, mais cela m'affiche un: NULL
que dois je faire et merci.
c'est que c'est pas bon, revoi ta classe je doute que t'es une propriété ou une methode qui s'appelle "array", c'est quoi ton $xml a la base ?
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:25
par Ryle
Ton problème ne vient pas du foreach mais de la valeur que tu lui passes en paramètre... vérifie que ta variable est bien renseignée
De plus, je n'ai pas bien compris en quel version de php tu étais au final, mais je ne suis pas sur que la syntaxe que tu utilises fonctionne en php 4 et je crois qu'il faut décomposer la récupération de ton attribut ($xml->array) et le parcours du tableau (array['template_set']['template_bit']) ... à vérifier

Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:29
par Invité
mon xml :
<?xml version="1.0" encoding="ISO-8859-1"?>
<template_set>
<template_bit> <bit_name>art_list_divider</bit_name>
<group_name>art_list</group_name>
<content><![CDATA[<!--<div style="padding: 10px;"> </div>--><div class='horizontal_rule'></div>]]></content>
<can_delete>0</can_delete>
....
Merci
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:31
par Invité
Ton problème ne vient pas du foreach mais de la valeur que tu lui passes en paramètre... vérifie que ta variable est bien renseignée
De plus, je n'ai pas bien compris en quel version de php tu étais au final, mais je ne suis pas sur que la syntaxe que tu utilises fonctionne en php 4 et je crois qu'il faut décomposer la récupération de ton attribut ($xml->array) et le parcours du tableau (array['template_set']['template_bit']) ... à vérifier

ca marche tres tres bien en php4
c'est juste avec php5 que j'ai eu ce probleme
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:37
par stealth35
t'es sur que t'a les mêmes extensions ? affiche les erreurs tu verras bien ou ca cloche
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:47
par Invité
j'affiche les erreurs et ca ne me donne rien, ce qui fait que tout est bien,
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:49
par stealth35
j'affiche les erreurs et ca ne me donne rien, ce qui fait que tout est bien,
ca dépend t'es en quelle mode d'affichage ?
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:50
par samaoui = invité
samaoui = invité
J'ai oublé de mettre mon pseudo
mode affichage 1440/900px
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 18:53
par stealth35
samaoui = invité
J'ai oublé de mettre mon pseudo
mode affichage 1440/900px
non mais affiche d'erreurs
http://www.php.net/manual/fr/errorfunc. ... -reporting
met toi en E_ALL | E_STRICT
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 19:08
par samaoui
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
error_reporting(E_ALL);
error_reporting(E_STRICT);
tjr, aucune erreurs affichées,
j'ai installé en local avec php5 et ca marche, je crois alors que le problème vient d'une extension, mais laquelle je ne sais pas..
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 19:13
par stealth35
c'est
error_reporting(E_ALL | E_STRICT);
sinon quel extension tu utilise pour lire ton xml ?
Re: Probleme: foreach in php5
Posté : 13 mai 2010, 19:17
par samaoui
tjr pas d"erreurs,
je parle des extension php