Php probleme avec in_array($_GET["page"]
tropik
Messages postés
16
Statut
Membre
-
Ssylvainsab Messages postés 2892 Statut Modérateur -
Ssylvainsab Messages postés 2892 Statut Modérateur -
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
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
Configuration: Windows XP Firefox 2.0.0.1
5 réponses
-
Le problème c'est que ton tableau ne contient qu'un élément :
"./includes/*.inc.php"
-
Tu peux t'inspirer de ma fonction ScanDir :
phpmoteur -
-
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Tu peux utiliser file_exists tout simplement ;-)
Par contre, attention : en PHP 5, cette fonction vérifie l'existence d'un fichier distant.