erreur in_array()

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 sept. 2005, 00:53

et bien tout dépend ou tu te trouve..

avec " ../ " te permet de remonter d'un niveau comme tu l'a indiqué tu remonte d'un niveau et cherche un dossier pages que tu veut lister

EDIT: si tu veut lister le dossier dans lequel tu te trouves (ici dossier=pages) il faut faire:
define("PATH", "../pages/");

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 10 Messages

30 sept. 2005, 00:58

Donc pour résumer :
mon index se trouve sur http://ephenya.free.fr/1024/index.php
mes pages se situent ici : http://ephenya.free.fr/1024/pages/
et elles se nomment : "0,1,2,3,...".php

Eléphanteau du PHP | 10 Messages

30 sept. 2005, 01:16

Bon, j'ai changé le code, je me suis débrouillé autrement, il est moins pratique mais je n'arrive pas à comprendre le problème donc bon ...

Voici le nouveau code pour ceux que ça intéresse :
<?
$listepages = array(
'0',
'1',
);
if(in_array($_REQUEST['page'], $listepages)) {
if(!include($_REQUEST['page'].'.php')) {
echo '<b>ATTENTION:</b>Erreur detectée dans la page.';
}
} else {
require('0.php');
}
?>
Et j'ai enlevé mes fichiers du dossier page

Si vous avez des idées sur le problème de l'autre n'hésitez pas !

Merci à tous !

Mammouth du PHP | 19672 Messages

30 sept. 2005, 08:13

Bon, je crois que je commence à saisir ce que tu veux faire. Voici une autre solution possible:
<?php
/* On crée la constante de chemin vers les pages */
define("PATH", "./pages/");
/* On récupère s'il existe la page demandée sinon on en établit une par défaut */
$page = isset($_GET['page']) ? $_GET['page'] : PATH ."accueil.php";
/* On définit le nom du fichier à insérer selon la page demandée */
switch($page)
{
    case "acceuil" : $demande = "accueil";
    break;
    case "contact" : $demande = "contact";
    break;
    // ...etc...
    default : $demande = "accueil";
}
/* On définit le chemin complet du fichier à inclure */
define("AFFICHER", PATH . $demande .".php");
/* On inclut le fichier */
include(AFFICHER);
//...
?>
Si tu as besoin de rajouter une nouvelle page, il te suffit de rajouter deus lignes dans le switch.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: