Bonjour,

après avoir lu le tutoriel et l'avoir testé et qui a fonctionné du premier coup et que je suis épaté, je rêve et je désire essayer le chose suivante

ce que j'ai:
une page index.php avec menus général à gauche et la partie centrale avec php include afin d'insérer un code contenu dans un fichier .txt (du code html) appelé par le menu (comme dans le tutoriel)

ce que je désire :
ce fichier 'incluer' texte comporte différents liens pour lesquels je désire également utiliser la fonction include qui fera appel à un fichier texte etc ...

Je serai heureux si une aimable personne puisse m'aider,

Stephan
Salut et bienvenue sur ce forum,

Il te suffit de tester ce que tu viens d'indiquer et tu verras que cela marche sans problème.

Par contre il semble que pour des raisons de sécurité il vaut mieux mettre les documents à inclure en extension .php
merci de l'attention qui tu portes à ce soucis.

Bon je viens d'essayer, mais la fichier deuxième niveau ne s'inclut pas. La page d'origine (index.php) mais sans rien dans le cadre où l'inclusion doit se faire ... . Pour le reste, au premier niveau, je navigue sans problèmes

En fait quand la souris passe sur le lien j'ai bien le lien qui s'affiche et quand je clique ce lien est bien repris dans la barre d'adresse :
http://localhost/CBB/Reconciliation_include/index.php?page=burundiatelierprison

En fait, le PHP ne vas pas chercher la page burundiatelierprison.txt
Bref il ne prend pas en compte le code php de la page qui a été incluse (la première)

Y a un truc qui m'échappe ...

Stephan
Pour une meilleure compréhension, j'ai mis en ligne les pages 'incriminées'.
http://mardaga.homeip.net/reconciliation/

Menu -> cooperation -> suite

Code du fichier coop.php :
....
<a href="index.php?page=burundiatelierprison">Suite ...</a></P>

<?php
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];
switch($page)
{
case 'accueil': include ('accueil.txt');break;
case 'burundiatelierprison': include ('burundiatelierprison.txt');break;
}
?>
bonjour,

je ne suis pas sûr de ce que je vais te dire mais essaye de d'ecrire ça :


<a href="index.php?bounounours=burundiatelierprison">Suite ...</a></P>

<?php
if (!isset($_GET['bounounours'])) $bounounours= 'accueil'; else $bounounours= $_GET['bounounours'];
switch($bounounours)
{
case 'accueil': include ('accueil.txt');break;
case 'burundiatelierprison': include ('burundiatelierprison.txt');break;
}
?>


tout en gardant page dans ta premiere inclusion
Epatant !

Cela fonctionne mieux, mais choisir "burundiatelierprison" me renvoie à la page d'accueil.
Je comprends maintenant que si au premier niveau on emploie la variable 'page' au second niveau ce doit être une autre variable sinon il y a confusion.
J'ai donc choisi dans index.php (niveau 1) 'page1' et dans coop.php (niveau2) 'page2'.
J'ai également viré la ligne du if de coop.php car il y a double affichage de 'page'. (le if est donc testé et fonctionne ?!?)

voici la partie du code du fichier coop.php :

<a href="index.php?page2=burundiatelierprison">Suite ...</a>
<?php
switch($page2)
{
case 'coop': include ('coop.txt');break;
case 'burundiatelierprison': include ('burundiatelierprison.txt');break;
}
?>

une remarque : dans <a href="index.php ... est-on certain que c'est index.php ?

Ce que j'entrevois est ceci : quand on sélectionne 'burundiatelierprison' la variable niveau1 'page' prend la main, est testée et renvoie à 'accueil' puisque au niveau 1 'burundiatelierprison' n'est pas dans le switch (et doit pas y être).

D'un autre côté, je ne comprends pas pourquoi le switch dans coop ne prend pas en compte la sélection de 'page2'.

Ne faudrait-il pas dans la code de 'index.php' faire également un test sur 'page2' du style << si valeur de 'page2' existe alors oublie 'page1' >>.
Mais comment faire ?

merci encore de ton inspiration,

Stephan
De mémoire :

<a href="index.php?page1=blablabla&page2=burundiatelierprison">Suite ...</a>


Pour avoir un code valide on transcit le & en &amp;

ce qui donne :

<a href="index.php?page1=blablabla&amp;page2=burundiatelierprison">Suite ...</a>
bonjour,

difficile de repondre en ayant pas tous les codes devant les yeux mais apres relecture il n'apparait pas que tu veuilles faire deux includes , mais plutot tout afficher dans le meme espace. A moins que je n'ai pas compris, tu devrais deplacer ton case 'burundiatelierprison' au niveau 1 et ne pas faire d'includes dans coop mais juste faire un lien. ça fonctionne aussi les liens dans les fichiers includés alors qu'ils se rapportent a un code php situé sur la page appelante.
Je vais essayer d'expliquer la structure du site que je désire mettre en place.

1. une page principale -niveau 1- (index.php) qui comporte un menu afin de sélectionner des rubriques qui seront affichées grâce à un premier 'include'

2. les pages secondaires -niveau 2- rubriques (coop.php) qui contiennent le menu de la page principale ainsi que le corps du texte de la rubrique. Celle-ci affiche les introductions d'articles avec pour chacun un lien vers des pages tertiaires. Ces liens se feront grâce à la fonction 'include' qui donneront accès aux pages -niveau 3- (burundiatelierprison.txt)

Je ne pense pas qu'il serait opportun de tout regrouper dans la page index.php qui va me donner un 'switch' éléphantesque et qui pourtant résolvera cet emploi de 'include' à deux niveau.

Les pages actuellement en fonctionnement sont sur le lien suivant http://mardaga.homeip.net/reconciliation/

Par ailleurs voici les codes (extraits)

index.php (niveau1)

    <div id="menu">
          <h3>MENU<br></h3>
          <a  href="index.php?page1=presentation">Pr&eacute;sentation</a><br>
          <a href="index.php?page1=coop"><span class="menuinterligne">Coop&eacute;ration &amp;<br>&nbsp;D&eacute;veloppement</a></span><br>
          <a href="index.php?page1=atelier">Atelier</a><br>
   </div>

   <div id="texte">
          <?php 
          if (!isset($_GET['page1'])) $page1= 'accueil'; else $page1= $_GET['page1'];
          switch($page1)
          {
          case 'accueil': include ('accueil.txt');break;
          case 'presentation': include ('presentation.txt');break;
          case 'coop':include ('coop.php');break;
          case 'atelier':include ('atelier.txt');break;
          } 
          ?>
   </div>


coop.php (niveau2)

<P id="introarticle">Ici une courte introduction de l'article en deux lignes<br>
              Ici une courte introduction de l'article en deux lignes avec photo justifiée à droite p.e.<br>
              <a href="index.php?page2=burundiatelierprison">Suite ...</a></P>
          <?php
          switch($page2)
          {
          case 'accueil': include ('accueil.txt');break;
          case 'burundiatelierprison': include ('burundiatelierprison.txt');break;
          }
          ?>


J'espère avoir été assez clair et vous remercie encore pour l'attention porté à cette problématique.

Stephan
En quelque sorte, la solution de clb56 améliore car quand on selectionne dans la fenêtre coop.php (niveau 2), l'article burundiatelierprison.txt, au lieu de revenir à lapage d'accueil, on reste dans coop.php ... avec l'article qui suit.
Ce qui veut dire que c'est nettement mieux et plus correct (au niveau logique de programmation).

Maintenant, quand la page2 est sélectionnée il faudrait que la page1 ne soit plus affichée. J'ai donc crée une page 'rien.txt' que j'assigne à page1 quand un lien est sélectionné pour la page2. Cela empire ... Car plus rien n'est affiché ... .

Bon cela a l'air un peu complicose, mais on y arrive presque ... tout en élégance !

Je réinsère les codes et met le tout en ligne à la même adresse :
http://mardaga.homeip.net/reconciliation/

index.php

<?php 
          if (!isset($_GET['page1'])) $page1= 'accueil'; else $page1= $_GET['page1'];
          switch($page1)
          {
          case 'accueil': include ('accueil.txt');break;
          case 'presentation': include ('presentation.txt');break;
          case 'coop':include ('coop.php');break;
          case 'atelier':include ('atelier.txt');break;
          case 'rien' :include ('rien.txt');break;
          } 
          ?>


coop.php

 <a href="index.php?page1=coop&amp;page2=burundiatelierprison">Suite ...</a></P>
<?php
          if (!isset($_GET['page2'])) $page2= 'coop'; else $page2= $_GET['page2'];
           switch($page2)
          {
          case 'accueil': include ('accueil.txt');break;
          case 'burundiatelierprison': include ('burundiatelierprison.txt');break;
          }
          ?>


Je ne sais comment vous remercier !

Stephan