Lien include et php5

Résolu/Fermé
cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012 - 5 juil. 2011 à 17:03
cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012 - 5 juil. 2011 à 17:54
Bonjour a tous

petit probleme depuis que mon hebergeur est passer en php5
j'ai des liens sur mon site en include, sous php4 pas de soucis, sous php5 rien ne va plus

j'utilise ce code pour appeller mes pages
if ($menu=="legale"){  include('page/legale.php'); }


et la ou je mets mon lien
<a href="?menu=legale" class="lien2"> Mentions Legales</a>


maintenant, sous php5, rien ne s'affiche, meme pas un message d'erreur

quelqu'un aurait une idée ??

en vous remerciant



2 réponses

Bonjour

La différence vient de l'option register_globals la valeur par défaut était on en PHP4 et est passée à off en PHP5.
En pratique, ça veut dire qu'avant, une variable 'menu' envoyée dans une URL comme tu le fais se retrouvait dans ton script directement sous le nom $menu, ce qui était très dangereux. Il était très facile d'injecter n'importe quelle variable dans les scripts simplement en les ajoutant aux URL.
Maintenant, tu récupères les variables GET dans le tableau superglobal $_GET, les variables POST dans $_POST, les cookies dans $_COOKIES
-> dans ton cas
Tu n'as qu'à modifier if ($_GET['menu']=="legale"){ include('page/legale.php'); }

Quelqu'un te dira peut-être qu'il suffit de faire extract ($_GET). Personnellement, je te le déconseille.
0
cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012
5 juil. 2011 à 17:54
ok, merci beaucoup pour ton aide
j'ai testé et c'est bon

encore merci
0