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

tropik Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   -
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 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
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   Statut Membre Dernière intervention  
 
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 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
Tu peux t'inspirer de ma fonction ScanDir :
phpmoteur
0
tropik Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup , je vais l'étudier...
0
tropik Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Modérateur Dernière intervention   825
 
Tu peux utiliser file_exists tout simplement ;-)
Par contre, attention : en PHP 5, cette fonction vérifie l'existence d'un fichier distant.
0