Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3023 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  sous tableau array

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

sous tableau array

n°1999015
t671
Posté le 04-06-2010 à 09:50:38  profilanswer
 

Bonjour,  
 
Sur mon site, j'affiche un menu (en tableau array) où les liens s'affichent dans une div que j'appelle "frame".  
A l'affichage d'une page dans la div frame, si celle-ci contient un lien, je voudrais afficher le résultat du lien dans cette même frame, et non une autre fenêtre.  
 
Exemple : j'affiche la page "livredor" dans la div frame. Cette page comporte un lien qui mêmne à "saisie.php", que je voudrais afficher dans cette même frame si je clic dessus.  
 
Voilà où j'en suis :  
 

Code :
  1. <?php
  2. $pages = array (
  3. 'bienvenue'=>'bienvenue_FR.htm', 
  4. 'historique'=>'histo_FR.htm',
  5. 'livredor' => array ('livredor_FR.php', 'saisie' => 'saisie.php'),   'pour nous contacter'=>'contact_FR.htm'
  6. );
  7. ?>
  8. <body>
  9. <div class="menu2">
  10. <ul>
  11. <?php
  12. foreach($pages as $nom => $page)
  13. {
  14. if(isset($_GET['page']) AND $_GET['page'] == $nom) // Page a afficher = Lien a afficher  
  15. $class = "courant";
  16. else
  17. $class = "bouton";
  18. printf("<a class=\"%s\" href=\"index_FR.php?page=%2\$s\">%2\$s</a>\n", $class, $nom); //---------affichage du menu  
  19. }
  20. ?>
  21. </ul>
  22. </div>
  23. <div class="frame">
  24. <?php
  25. if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages))
  26. include $pages[$_GET['page']];
  27. if (($_GET['page']) == livredor)
  28. {
  29. include ($pages[$_GET['page'][0]]);
  30. }
  31. else
  32. include 'bienvenue_FR.htm';
  33. ?>


 
Là, si je veux ouvrir la page "livredor", j'ai le msg :  
Warning: include(Array) [function.include]: failed to open stream  
Warning: include() [function.include]: Failed opening 'Array' for inclusion (include_path='.;C:\php5\pear')
Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.;C:\php5\pear')

sur la ligne de  
include $pages[$_GET['page']]; .  
 
Je suppose que la déclaration de mon sous-tableau n'est pas bonne ?  
 
Et à dire franchement, je n'arrive plus à m'en sortir .... Alors si vous pouviez me donner un coup de main ...
Merci


Message édité par t671 le 04-06-2010 à 09:59:50
mood
Publicité
Posté le 04-06-2010 à 09:50:38  profilanswer
 

n°1999025
rufo
Pas me confondre avec Lycos!
Posté le 04-06-2010 à 10:03:07  profilanswer
 

rien à voir avec les liens : ça veut simplement dire qu'il n'a pas réussi à inclure la lib PEAR (PEAR:DB sans doute) dans la page mentionnée dans $pages[$_GET['page'][0]].


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1999026
t671
Posté le 04-06-2010 à 10:06:29  profilanswer
 

rufo a écrit :

rien à voir avec les liens : ça veut simplement dire qu'il n'a pas réussi à inclure la lib PEAR (PEAR:DB sans doute) dans la page mentionnée dans $pages[$_GET['page'][0]].


 
Merci rufo. Et comment je peux faire, alors ?  :pt1cable:

n°1999032
grosbin
OR die;
Posté le 04-06-2010 à 10:16:37  profilanswer
 

Code :
  1. if ($_GET['page'] == 'livredor'){ // Attention ce n'est pas une constante !
  2. //Ce n'est pas un array alors !
  3. include ($pages[$_GET['page'][0]]);
  4. //ici $_GET['page'][0]=='l' premier caractère de la chaine
  5. //$pages[l] n'existe pas


Message édité par grosbin le 04-06-2010 à 10:17:31

---------------
Photos Panoramiques Montagnes Haute Savoie
n°1999038
t671
Posté le 04-06-2010 à 10:27:20  profilanswer
 

OK !
Si j'écris ceci :
 

Code :
  1. $pages = array (
  2. 'bienvenue'=>'bienvenue_FR.htm',
  3. 'historique'=>'histo_FR.htm',
  4.              'livredor'=>'livredor_FR.php',
  5.              'pour nous contacter'=>'contact_FR.htm'
  6. );
  7. .......................
  8. if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages))
  9. include $pages[$_GET['page']];
  10. else
  11. include 'bienvenue_FR.htm';
  12. if (($_GET['page']) == saisie.php)
  13. {
  14.              include 'saisie.php';
  15. }


 
comment déclarer ma page "saisie.php" dans mon menu array sans qu'il apparaisse sur ma page à afficher ?

n°1999042
grosbin
OR die;
Posté le 04-06-2010 à 10:30:55  profilanswer
 

//tu devrais ajouter en haut de ton array
$pages = array ('saisie'=>'saisie.php',
et éviter de communiquer le nom de tes pages en GET  
(mais au moins ta ligne 9 permet d'éviter le cross-site scripting)


---------------
Photos Panoramiques Montagnes Haute Savoie
n°1999048
t671
Posté le 04-06-2010 à 10:38:58  profilanswer
 

grosbin a écrit :

//tu devrais ajouter en haut de ton array
$pages = array ('saisie'=>'saisie.php',
et éviter de communiquer le nom de tes pages en GET  
(mais au moins ta ligne 9 permet d'éviter le cross-site scripting)


 
Justement, je ne peux pas ajouter dans mon array "$pages = array ('saisie'=>'saisie.php'," sinon "saisie" va apparaitre dans mon menu, et je ne le veux pas. Car c'est un lien de la page "livredor.php" ....  :pt1cable:

n°1999054
rufo
Pas me confondre avec Lycos!
Posté le 04-06-2010 à 10:52:35  profilanswer
 

Pourquoi tu ne fais pas du MVC dans ce cas :??:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1999055
t671
Posté le 04-06-2010 à 10:55:40  profilanswer
 

rufo a écrit :

Pourquoi tu ne fais pas du MVC dans ce cas :??:


 
C'est quoi MVC ?  :??:

n°1999080
rufo
Pas me confondre avec Lycos!
Posté le 04-06-2010 à 12:05:49  profilanswer
 

Modèle Vue Contrôleur, y'a un gros topic sur ce forum à ce propos.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le 04-06-2010 à 12:05:49  profilanswer
 

n°1999081
t671
Posté le 04-06-2010 à 12:37:39  profilanswer
 

rufo a écrit :

Modèle Vue Contrôleur, y'a un gros topic sur ce forum à ce propos.


 
Tu peux me donner le lien .... j'trouve pô !!!!!  :heink:

n°1999087
rufo
Pas me confondre avec Lycos!
Posté le 04-06-2010 à 12:49:36  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  sous tableau array

 

Sujets relatifs
traitement update d'après tableau (array) - phpprobleme d'organisation d'un tableau php (array)
suppression dans un array (tableau) [modifié]Dédoublonnage tableau multi avec array_unique() ?
[PHP/SQL] Mettre à jour des données dans un tableau array[Résolu] Supprimer une ligne d'un array sans trier ?
Trouver un élément dans un tableau, facile pour qui s'y connait !afficher un tableau de liens issus d'un array
Fichier .txt => Tableau Array() ?tableau array remplie a l'aide d'une requete en javascript
Plus de sujets relatifs à : sous tableau array


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR