Array et Cie
Posté : 17 avr. 2007, 10:23
Bonjour à vous tous,
J'aurai un petit problème à vous soumettre :
Je reprend un site de vente en ligne, développé par une autre personne.
A un moment donner sur ces scripts il y a ce code :
qui fait appel à une fonction (menu_right) qui traite les rubriques.
$d[0] est le nom de la rubrique (ex : Drap)
$d[1] est le nom de la sous-rubrique ( ex : Coton)
$d[2] est le nom du produit (ex : nuits calines)
)
le problème c'est que au début, lorsque l'on ne clique sur aucune rubrique, les "array" $d[1] et $d[2] ne sont pas renseignés.. .ce qui donne une erreur du type :
Alors j'ai pensé à faire un "isset" et de construire mon "echo" de la manière suivante :
Au final c'est bien écrit, mais il semble ne pas l'interpreter !? (le fichier à bien l'extention ".php")
Dans le "code source" de la page la balise "<? ... ?>" et bien la mais comme en dur ?
J'ai essayé avec :
Mais rien à faire !?
Ou me suis-je trompé ?
Suis dans la bonne direction ?
Est ce réalisable ?
Merci de vos réponse.
J'aurai un petit problème à vous soumettre :
Je reprend un site de vente en ligne, développé par une autre personne.
A un moment donner sur ces scripts il y a ce code :
Code : Tout sélectionner
<? echo menu_right($d[0], $d[1], $d[2]); ?>$d[0] est le nom de la rubrique (ex : Drap)
$d[1] est le nom de la sous-rubrique ( ex : Coton)
$d[2] est le nom du produit (ex : nuits calines)
le problème c'est que au début, lorsque l'on ne clique sur aucune rubrique, les "array" $d[1] et $d[2] ne sont pas renseignés.. .ce qui donne une erreur du type :
Code : Tout sélectionner
Notice: Undefined offset: 1 in index.php on line 60Code : Tout sélectionner
$menu_droite= '<? echo menu_right('; // ici j'ouvre le marqueur PHP
// rechercher les différentes valeurs
if (isset($d[0])) { $menu_droite.='$d[0]'.", ";} // Si elle existe il l'inscrit
if (isset($d[1])) { $menu_droite.='$d[1]'.", ";} // Si elle existe il l'inscrit
if (isset($d[2])) { $menu_droite.='$d[2]'.", ";} // Si elle existe il l'inscrit
$menu_droite=substr($menu_droite,0,-2); // ici j'enlève la virgule finale
$menu_droite.= '); ?>'; // ici je ferme le marqueur PHP
print_r ($menu_droite); // et la enfin je l'affiche
Dans le "code source" de la page la balise "<? ... ?>" et bien la mais comme en dur ?
J'ai essayé avec :
Code : Tout sélectionner
printf ($menu_droite);
echo $menu_droite;
...
Ou me suis-je trompé ?
Suis dans la bonne direction ?
Est ce réalisable ?
Merci de vos réponse.