Gestion d'erreur include [Résolu]

goldfingers_suisse 29 Messages postés dimanche 2 novembre 2003Date d'inscription 7 décembre 2006 Dernière intervention - 7 nov. 2005 à 18:42 - Dernière réponse : psychosic 46 Messages postés lundi 24 janvier 2005Date d'inscription 11 novembre 2005 Dernière intervention
- 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
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 7 nov. 2005 à 19:10
3
Merci
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 :)

Merci J_G 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de J_G
Meilleure réponse
psychosic 46 Messages postés lundi 24 janvier 2005Date d'inscription 11 novembre 2005 Dernière intervention - 9 nov. 2005 à 00:31
3
Merci
tu peux aussi utiliser include_once si tu fais plusieur appelle on ne sait jamais ou @include.



@+

Merci psychosic 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de psychosic
goldfingers_suisse 29 Messages postés dimanche 2 novembre 2003Date d'inscription 7 décembre 2006 Dernière intervention - 7 nov. 2005 à 19:17
0
Merci
Merci beaucoup !

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



Je suis là pour ça...



A+
Commenter la réponse de J_G

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.