Gestion d'erreur include

Résolu
goldfingers_suisse Messages postés 29 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 7 décembre 2006 - 7 nov. 2005 à 18:42
psychosic Messages postés 46 Date d'inscription lundi 24 janvier 2005 Statut Membre Dernière intervention 11 novembre 2005 - 9 nov. 2005 à 00:31
Bonjour à tous,

J'ai un petit problème :

J'aimerai afficher différentes pages grâce à des "include", les pages s'afficheront sur index2.php.

Donc pour afficher "accueil.php", l'url serait : index2.php?p=accueil.php

Dans le code php je mettrais :
<?
if (isset($_GET["p"]))
{
include($_GET["p"]);
}else{
'message d'erreur...
}
?>

J'aimerais en fait, gérer le fait que si l'utilisateur entre une page qui n'existe pas genre : index2.php?p=acceil.php il n'y ait pas de warning, mais le même message d'erreur que dans le "else".

J'éspère avoir été clair...

Merci d'avance

4 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
7 nov. 2005 à 19:10
Salut,



Typiquement, le genre de chose que tu essaye de faire se gère ainsi :



if (isset($_GET["p"]))


{

switch($_GET['p']) {

case 'accueil.php' : include 'accueil.php';

case 'pouet.php' : include 'pouet.php';

default : echo 'Page inexistante';

}

} else echo 'message d'erreur...';







Mais, si tu veux garder ton mode de fonctionnement :



<?

if ( isset($_GET["p"]) and fileexists(PATH_TO.$_GET['p']) )

{

include($_GET["p"]);

}else{

'message d'erreur...

}

?>





Je trouve que ce n'est pas une très bonne chose de faire ainsi... Car
l'utilisateur peut alors inclure n'importe quel fichier !!!



par exemple : index.php?p=http://www.google.com/index.html



Ou pire un de tes scripts auquel il ne devrait pas avoir acces !!



ex : index.php?p=connexion.php





La méthode que je t'ai présentées plus haut permet de contrôler les pages qui peuvent être incluses.





Bref, fais ton choix cammarde :)
3
psychosic Messages postés 46 Date d'inscription lundi 24 janvier 2005 Statut Membre Dernière intervention 11 novembre 2005
9 nov. 2005 à 00:31
tu peux aussi utiliser include_once si tu fais plusieur appelle on ne sait jamais ou @include.



@+
3
goldfingers_suisse Messages postés 29 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 7 décembre 2006
7 nov. 2005 à 19:17
Merci beaucoup !

J'avais droit pas penser à cette méthode !
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
7 nov. 2005 à 19:45
Pas de pb,



Je suis là pour ça...



A+
0
Rejoignez-nous