probleme d'includes et de 404

Eléphanteau du PHP | 17 Messages

02 avr. 2007, 17:10

Bonjour
J'ai quelques probleme avec des includes, explication:
je voudrai que si ?page= est vide, il inclut accueil.php (fonctionne). Si ?page= contient quelque chose alors il l'inclut (fonctionne). Le probleme intervient quand la page existe pas, j'ai ben essayé

Code : Tout sélectionner

if include ( $_GET['page'].'.php' ) ; else include('404.php')
mais ca ne marche pas
j'ai essayé file_exists, mais je n'y arive pas
Voila mon code (sans la gestion des 404)

Code : Tout sélectionner

//si c'est vide, on inclue accueil.php if (empty($_GET['page'])) include('accueil.php'); //autrement on inclue ce qui est contenu dans ?page= else include($_GET['page'].'.php');
Autrement (si ce code est trop compliqué) j'ai ce code

Code : Tout sélectionner

if (empty($_GET['page'])) { include('accueil.php'); } elseif ( (isset($_GET['page'])) && (isset([$_GET['page']])) && (file_exists([$_GET['page']])) ) { include([$_GET['page']]); } else { include('404.php'); }
mais moi si je veux inclure blabla.php je veux ecrire ?pahe=blabla et non ?page=blabla.php (ce qui est le probleme du deuxieme code)
voila, merci d'avance ;)

Eléphant du PHP | 120 Messages

03 avr. 2007, 17:09

salut,
ça engendre une erreur ou le serveur n'inclu pas la page voulue?

en tt cas essaies de faire ce test : if ($_GET['page']!="") aulieu de if(isset($_GET['page']))

Eléphant du PHP | 100 Messages

03 avr. 2007, 17:18

Il faut tester si la page existe physiquement avec la fonction is_file()
if(is_file($_GET['page'].'.php'))
{
    include ( $_GET['page'].'.php' ) ;
}
else include('404.php') ;
Script gratuit de videothèque: PhpMesFilms
sur http://phpmesfilms.dyndns.org/

Eléphanteau du PHP | 17 Messages

03 avr. 2007, 18:21

Il faut tester si la page existe physiquement avec la fonction is_file()
if(is_file($_GET['page'].'.php'))
{
    include ( $_GET['page'].'.php' ) ;
}
else include('404.php') ;
je t'adore merci :D

merci rakizm quand meme ;)