Bonjour,
La page index.php de mon site fait appel à des pseudo-frames PHP via des « include ». Le menu de navigation, menu.php, est donc appelé dans le fichier index.php avec ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
  include('menu.php');   // Appel du  menu
?>
// tableau des pages autorisées :
  $pageOK = array(
    			'articles' =>'articles.php?id_ss_rubrique=2',
			     );
			echo "<div id=\"cadrePage\">";
 
 
	echo "</div>"; 	  
// On teste que le paramètre d'url existe et qu'il est bien autorisé
 	if ((isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
echo "<div id=\"cadrePage\">";
    	include($pageOK[$_GET['page']]);
echo "</div>"; 
// Appel du  contenu central de la page
  } else {
echo "<div id=\"cadrePage\">";
    	include('page_centrale.php');
echo "</div>";    // Page par défaut quant elle n'existe pas dans le tableau
  }         
  ?>
Une page articles est chargée d’interroger la base Mysql d’après une URL de la forme :
articles.php?id_ss_rubrique=2'. Ceci fonctionne depuis la barre d’adresses du navigateur.
Dans la page du menu de navigation, menu.php, j’appelle donc la page articles de cette manière :
<a href="index.php?page=articles">Formation</a>.
Le message d’erreur est le suivant :
« include(articles.php?id_ss_rubrique=2) [function.include]: failed to open stream: Invalid argument … »
Si j’ajoute un chemin d’accès absolu dans le tableau Array, cela fonctionne en local, seulement si je place le paramètre allow_url_include de php.ini sur ON. Mon hébergeur OVH ayant rendu indisponible ce paramètre, mon code ne fonctionne pas en ligne.

Question : quelle est la solution (en gardant cette structure) pour afficher la page désirée via mon menu de navigation ?

Merci d’avoir lu jusqu’ici ;-) et d'une solution éventuelle.

Paulo