Je souhaite créer une page "d'interface" (index.php) dans laquelle viendront s'inclurent des pages html selon l'url renvoyé par des liens composant le menu fixe de ma page index.php. Pour cela j'utilise des url du genre "http://www.monsite.com/index.php?page=1" et le script suivant dans la partie où viendront s'inclurent mes pages :
<?php
$Num = intval($_GET['page']);
switch($Num) {
case 1: // le chiffre est le numéro récupéré de $_GET['page']
$Page = 'page1.html'; // page correspondante
break;
case 2:
$Page = 'page2.html';
break;
case 3:
$Page = 'page3.html';
break;
default:
$Page = 'page4.html';
}
include($Page);
?>
Or en le testant avec "easyphp", lorsque l'url est ".../index.php" (comme lorsque que l'on veut venir sur mon site) ma page par défaut s'inclue en même temps qu'un message d'erreur pour la ligne "x" alors que pour les url .../index?page=1 ; ...=2 ; ...=3 ; et même ...=4 (qui n'a pas de condition associé et pour laquelle la page défaut s'affiche (normale)) tout fonctionne normalement.Comment remédier à l'apparition de ce message pour ".../index.php"?
Pour échapper cette url, j'ai essayer le script suivant:
<?php
$Num = intval($_GET['page']);
switch($Num) {
case 1: // le chiffre est le numéro récupéré de $_GET['page']
$Page = 'page1.html'; // page correspondante
break;
case 2:
$Page = 'page2.html';
break;
case 3:
$Page = 'page3.html';
break;
default:
header('Location: index.php?page=1'); // page par défaut
exit();
}
include($Page);
?>
Mais ça ne fonctionne pas, où est l'erreur?P.S. Je parle d'avec easyphp, car avec mon hébergeur rien n'est inclut et aucun message d'erreur n'apparait alors que celui gère le php (mais cela est un autre sujet, pour lequel je me suis dit qu'il fallait d'abord que mon script fonctionne parfaitement)