Php probleme avec in_array($_GET["page"]

Fermé
tropik Messages postés 16 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 6 juillet 2008 - 20 févr. 2007 à 12:00
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 - 20 févr. 2007 à 14:44
Bonjour

Je teste ce script hébergé chez free mais je n'arrive pas à récuperer mes pages:

<div id="header">
<h1>Gestion des Pseudos Frames</h1>
<ul id="menu">
<li><a href="pseudos-frames.php?page=in_array">in_array</a></li>
<li><a href="pseudos-frames.php?page=glob">glob</a></li>
<li><a href="pseudos-frames.php?page=str_pad">str_pad</a></li>
<li><a href="pseudos-frames.php?page=toto">toto</a> (page inexistante)</li>
</ul>
</div>
<div id="page">
<?php
define("PATH", "./includes/");
// Tableau contenant les pages autorisées
$tableau = array(PATH . "*.inc.php");

if (isset($_GET["page"]) && in_array($_GET["page"] . ".inc.php", $tableau))

{
$pageInclude = PATH . $_GET["page"] . ".inc.php";
}
else
{
$pageInclude = PATH . "default.inc.php";
}
include $pageInclude;
?>
</div>

Merci de votre aide
A voir également:

5 réponses

Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 266
20 févr. 2007 à 12:03
Le problème c'est que ton tableau ne contient qu'un élément :
"./includes/*.inc.php"
0
tropik Messages postés 16 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 6 juillet 2008
20 févr. 2007 à 12:07
Merci, je m'en doutais un peu, mais alors

comment peut on inclure toute l'arborescence du repertoire sans utiliser la fonction GLOB que free n'aime pas

Merci
0
Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 266
20 févr. 2007 à 12:11
Tu peux t'inspirer de ma fonction ScanDir :
phpmoteur
0
tropik Messages postés 16 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 6 juillet 2008
20 févr. 2007 à 12:13
Merci beaucoup , je vais l'étudier...
0
tropik Messages postés 16 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 6 juillet 2008
20 févr. 2007 à 13:08
C'est interressant mais je voudrais éviter de passer par un bdd
Cette ligne fonctionne parfaitement dans le srcipt original
$tableau = glob(PATH . "*.inc.php");
Mais il semble que la variable globale soit refusée par free pour des raisons de sécurité
Je cherche un moyen de la contourner tout en restant dans un tableau
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
20 févr. 2007 à 14:44
Tu peux utiliser file_exists tout simplement ;-)
Par contre, attention : en PHP 5, cette fonction vérifie l'existence d'un fichier distant.
0