Soucis affichage de pages "require" sous

Ptérix -  
 toto -
Bonjour,

j'ai un site assez simple dont l'affichage des pages est basé sur le principe suivant:

Exemple d'une page:
--------------------------------
<?php require("haut_de_page.php");?>
<?
if($page==1){require("pages/exemple.php"); }
if($page==2){require("pages/exemple1.php");}
if($page==3){require("pages/exemple2.php");}
?>
<?php require("bas_de_page.php");?>
------------------------------

Tout fonctionnait sans soucis en php4 mais depuis le passage en php5, les pages appelées ne s'affichent plus.
Seuls les hauts et bas de page s'affichent et il n'y a aucun message d'erreur.

j'ai réécrit les fichiers de cette façon:

--------------------------------
<?php require("haut_de_page.php");?>
<?
if($page== $_GET['1']){require("pages/exemple.php"); }
if($page== $_GET['2']){require("pages/exemple1.php");}
if($page== $_GET['3']){require("pages/exemple2.php");}
?>
<?php require("bas_de_page.php");?>
------------------------------

Dans ce cas, que j'appele la page 1, la 2 ou la 3, les 3 fichiers s'affichent dans la même page

J'ai essayé également de rajouter "else" mais mon soucis reste intact.

--------------------------------
<?php require("haut_de_page.php");?>
<?
if($page== $_GET['1']){require("pages/exemple.php"); }
elseif($page== $_GET['2']){require("pages/exemple1.php");}
elseif($page== $_GET['3']){require("pages/exemple2.php");}
?>
<?php require("bas_de_page.php");?>
------------------------------

Une piste, une solution ?

Merci par avance car je n'ai pas de grandes compétences en matière de site.

Thierry

3 réponses

toto
 
Bonjour

Ta variable $page n'est très probablement pas initialisée. Ton script était peut-être basé sur registre_globals.

essaye :

<?php require("haut_de_page.php");?>
<?php
if (isset($_GET['page'])) $page=$_GET['page'];
if($page==1){require("pages/exemple.php"); }
if($page==2){require("pages/exemple1.php");}
if($page==3){require("pages/exemple2.php");}
?>
<?php require("bas_de_page.php");?>

Mais tu auras sûrement d'autres soucis
0
Ptérix
 
Bonjour Toto,

merci de ta réponse.
J'ai fais les modif mais sans résultat. Le problème reste inchangé.
0
toto
 
D'où vient ta variable $page ?
Appelles-tu ta pahe avec un "?page=1" à la fin de l'adresse ?
0
Ptérix
 
Oui,

exemple: http://www.ladressedusite/les_mantes.php?page=7
0
Ptérix
 
re,

<?php
if (isset($_GET['page'])) $page=$_GET['page'];

en supprimant php

<?
if (isset($_GET['page'])) $page=$_GET['page'];

Cela fonctionne apparemment.

Un grand merci pour ton aide précieuse.
0
toto
 
</ital>en supprimant php</ital>
En mettant <? au lieu de <?php, ça marche mieux ????
Totalement anormal.
Il y a autre chose ailleurs. La balise normale pour le php, c'est <?php. Certains serveurs peuvent être configurés pour accepter <?, mais jamais (à ma connaissance) pour refuser <?php
0