le père
4 mars 2010 à 16:43
le print_r($_GET) sert à montrer ce qu'il y a dans la variable $_GET qui contient les commandes passées dans l'url. ceci montre que tu as appelé ta page avec ?pg=n&n=6
le echo"*$pg*"; montre ce qu'il y a dans $pg. Si register_globals était on, il y aurait la même chose que dans $_GET['pg'], ce qui n'est pas le cas, ce qui est normal puisque register_global est sur off
Mais puisqu'il n'y a rien dans $pg, c'est normal que le switch fasse le require_once("index.php")
Par contre, ça aurait dû marcher avec switch ($_GET['pg'])
Le require_once("pg2.php") ,a sûrement marché, mais si pg2.php utilise la même variable pour faire une redirection de page, la redirection n'aura pas marché. Peux-tu mettre un echo "coucou"; au début de pg2.php pour voir s'il est appelé ou non avec $_GET['pg'] au lieu de $pg ?
<? switch ($pg) {
case "":
require_once("index.php");
break;
case "n":
require_once("pg2.php");
break;
case "p":
require_once("pg3.php");
break;
}
?>
Quand j'essaye d'acceder à la page index.php?pg=n par exemple ça me renvoie toujours vers la page index.php