Webdesigneuse Posté 27 Mars 2012 Partager Posté 27 Mars 2012 (modifié) Bonjour à tous, Depuis quelques semaines, j'ai un soucis de reconnaissance d'un script que j'avais développé bien avant la version PHP 5... celui-ci comporte des includes qui ne sont plus reconnus par mon hébéregeur (Céléonet), Voici un extrait du code de ma page : <div id="header2"></div> <div id="menu1"></div> <div> <? if ($page==qi){include("qi1.php");}elseif($page==qi2){include("qi2.php");}elseif($page==qi3){include("qi3.php");}elseif($page==qi4){include("qi4.php");}elseif($page==profil){include("profil1.php");}elseif($page==profil1){include("profil1.php");}elseif($page==profil2){include("profil2.php");}elseif($page==profil3){include("profil3.php");}elseif($page==profil4){include("profil4.php");}elseif ($page==scola){include("scola1.php");}elseif ($page==scola2){include("scola2.php");}elseif ($page==scola3){include("scola3.php");}elseif($page==activ){include("activ1.php");}elseif($page==activ2){include("activ2.php");}elseif($page==activ3){include("activ3.php");}elseif($page==biblio){include("biblio1.php");}elseif($page==biblio2){include("biblio2.php");}elseif($page==biblio3){include("biblio3.php");}elseif($page==biblio4){include("biblio4.php");}elseif($page==liens){include("liens1.php");}elseif($page==liens2){include("liens2.php");}elseif($page==liens3){include("liens3.php");}elseif($page==liens4){include("liens4.php");}elseif($page==mot){include("mot.php");}elseif($page==psy){include("psy1.php");}elseif($page==psy2){include("psy2.php");}elseif($page==psy3){include("psy3.php");}elseif($page==asso){include("asso1.php");}elseif($page==asso2){include("asso2.php");}else{include("intro.php");}?> </div> <div id="mot"><a href="index.php?page=mot"></a></div> <div id="fois"><a href="index.php?page=intro"></a></div> <div id="menu2"></div> <div id="profil"><a href="index.php?page=profil"></a></div> <div id="test"><a href="index.php?page=qi"></a></div> <div id="psy"><a href="index.php?page=psy"></a></div> <div id="menu3"></div> <div id="scola"><a href="index.php?page=scola"></a></div> <div id="activite"><a href="index.php?page=activ"></a></div> <div id="asso"><a href="index.php?page=asso"></a></div> <div id="liens"><a href="index.php?page=liens"></a></div> <div id="biblio"><a href="index.php?page=biblio"></a></div> <div id="icone"></div> <div id="pat"><a href="http://www.patricia.miguet.name"></a></div> <div id="footer"></div> Ma question est simple... est-ce que ce qu'il existe une nouvelle méthode d'include adaptée à PHP5 ? Merci pour votre aide ! Modifié 27 Mars 2012 par Webdesigneuse Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 27 Mars 2012 Partager Posté 27 Mars 2012 Quel(s) message(s) d'erreur obtiens-tu ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicolas Posté 27 Mars 2012 Partager Posté 27 Mars 2012 C'est p-e un problème d'emplacement des fichiers du site qui a changé suite au changement d'hébergeur. sinon tu peux optimiser ton code en mettant include($page.".php"); Ca eviterait d'avoir un grand nombre de if elseif Lien vers le commentaire Partager sur d’autres sites More sharing options...
Webdesigneuse Posté 27 Mars 2012 Auteur Partager Posté 27 Mars 2012 (modifié) Eh bien, ce qui est curieux, c'est que je n'ai pas de message d'erreur... c'est juste que le script ne fonctionne pas et la page appelée ne s'include pas. Voici le lien du site en l'état actuel du coup, aucun lien ne fonctionne... Modifié 27 Mars 2012 par Webdesigneuse Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicolas Posté 27 Mars 2012 Partager Posté 27 Mars 2012 Tu devrais interroger la variable $page par un "echo" sur une page test pour voir si elle contient bien la bonne valeur. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Webdesigneuse Posté 27 Mars 2012 Auteur Partager Posté 27 Mars 2012 Ah oui, merci Nicolas, je crois que c'est le moment de faire un grand ménage dans mon code Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicolas Posté 27 Mars 2012 Partager Posté 27 Mars 2012 oui ;-) ca veut dire qu'il faudrait renommer certaines pages ou changer la variable lors de l'appel exemple pour cette page : if ($page==qi){include("qi1.php");} soit changer la valeur "qi" par "qi1" sur les urls index.php?page=qi1 ou renommer qi1.php par qi.php Pareil pour les autres pages concernées Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 27 Mars 2012 Partager Posté 27 Mars 2012 C'est p-e un problème d'emplacement des fichiers du site qui a changé suite au changement d'hébergeur. sinon tu peux optimiser ton code en mettant include($page.".php"); Ca eviterait d'avoir un grand nombre de if elseif Attention, cela peut s'avérer dangereux (possibilité d'inclure n'importe quelle page PHP du site). Il vaudrait mieux au préalable créer un array d'inclusions possibles puis, si la page appelée y est bien présente, faire l'include tel que Nicolas le dit. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicolas Posté 27 Mars 2012 Partager Posté 27 Mars 2012 C'est vrai ;-) vu que je rewrite les urls je n'ai pas ce problème. Dans mon cas le fichier php n'est pas connu mais là c'est différent tu fais bien de le préciser. Lien vers le commentaire Partager sur d’autres sites More sharing options...
adn Posté 28 Mars 2012 Partager Posté 28 Mars 2012 N'as-tu pas modifié ton .htaccess qui peut-être défini ton dossier d'include par défaut ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dadou Posté 29 Mars 2012 Partager Posté 29 Mars 2012 Plusieurs choses : if ($page==qi){ Tu as oublié de limiter tes chaines de caractères donc le test serait plus celui-ci : if ($page=="qi"){ Ensuite, en PHP5 il faut éviter d'utiliser les shorts tag, utilises donc <?php au lieu de <? par défaut, normalement, ils ne sont pas autorisés Enfin, ta série de test, c'est le meilleur moyen de faire une erreur, simplifie, d'autant plus que ta structure semble s'y prêter, essaye plutôt un code comme celui-ci : <div id="header2"></div> <div id="menu1"></div> <div> <?php $liste_pages = array( "qi", "qi2", "qi3", "qi4", "profil", "profil1", "profil2", "profil3", "profil4" "scola", "scola2", "scola3", "activ", "activ2", "activ3", "biblio", "biblio2", "biblio3", "biblio4", "liens", "liens2", "liens3", "liens4", "mot", "psy", "psy", "psy2", "psy3", "asso", "asso2"); if ( in_array($page, $liste_pages)) include($page.".php"); else include("intro.php");}?> </div> <div id="mot"><a href="index.php?page=mot"></a></div> <div id="fois"><a href="index.php?page=intro"></a></div> <div id="menu2"></div> <div id="profil"><a href="index.php?page=profil"></a></div> <div id="test"><a href="index.php?page=qi"></a></div> <div id="psy"><a href="index.php?page=psy"></a></div> <div id="menu3"></div> <div id="scola"><a href="index.php?page=scola"></a></div> <div id="activite"><a href="index.php?page=activ"></a></div> <div id="asso"><a href="index.php?page=asso"></a></div> <div id="liens"><a href="index.php?page=liens"></a></div> <div id="biblio"><a href="index.php?page=biblio"></a></div> <div id="icone"></div> <div id="pat"><a href="http://www.patricia.miguet.name"></a></div> <div id="footer"></div> en enlevant le 1 des fichiers inclus, cela allège ton test. Par contre, il est fort probable, que tes fichiers ne soient pas la non plus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dudu Posté 29 Mars 2012 Partager Posté 29 Mars 2012 Salut Par contre, il est fort probable, que tes fichiers ne soient pas la non plus. Si si, il suffit de les appeler directement, modifies l'URL, tu verras. C'est ce que je pensais aussi mais j'ai vérifié et on les trouve bien, ils sont à la racine du site et pas dans un répertoire hors web, mais ce ne sont pas des données sensibles donc pas un problème. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dadou Posté 29 Mars 2012 Partager Posté 29 Mars 2012 J'ai essayé hier soir sur quelques uns et j'avais une erreur, la, cela semble bon Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant