IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

les liens et php avec les "include"


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 45
    Points : 35
    Points
    35
    Par défaut les liens et php avec les "include"
    bonjour,
    sur ma page principale (resto.php), j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
    		if(!isset($Message) or $Message == "") $Message = 'accueil';
    		$IsFileOk = include($Message.'.php');
    		if (!$IsFileOk) include('accueil.php');
    	?>
    jusqu'ici tout est normal. Dans accueil.php, j'ai un lien-image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="resto.php?Message=entrees_froides" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('entrees froides','','images/bt_ent_fro_dwn.png',1)"><img src="images/bt_ent_fro.png" name="entrees froides" width="97" height="97" border="0" id="entrees froides" /></a>
    En ce qui me concerne, tout est normal. Le lien pointe sur la page principale (resto.php) et inclue là où je lui demande "entrees_froides" (entrees_froides.php).

    Mais, lorsque j'active ce lien, pas de message d'erreur, et il m'affiche toujours la page resto.php avec l'include "accueil.php". Pourquoi ?

    merci de bien vouloir me répondre

  2. #2
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $Message=isset($_GET['Message'])?$_GET['Message']:'';
    if($Message=='')$Message='accueil';
     
    $filename=dirname(__FILE__).DIRECTORY_SEPARATOR.$Message.'.php';
    $IsFileOk=file_exists($filename);
    if($IsFileOk){
    	$IsFileOk=include($filename);
    	if((!$IsFileOk)and($Message!=='accueil')){
    		$filename=dirname(__FILE__).DIRECTORY_SEPARATOR.'accueil.php';
    		$IsFileOk=include($filename);
    	}
    }
    ?>
    ?

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Effectivement, il faut récupérer le paramètre passé en GET, les variables étant visiblement (et heureusement !) désactivées sur ton serveur.

    Je dis heureusement ,parce que tu fais déjà quelque chose de très dangereux : il ne faut jamais inclure DIRECTEMENT un fichier dont le nom est passé dans l'url. C'est un des meilleurs moyens de se faire hacker !

    Si tu ne veux pas gérer une liste de pages accessibles, tu devrais au moins tester que le fichier appelé existe à l'endroit voulu (avec file_exists), ce qui empêchera au moins l'exécution de scripts distants...

    C'est la raison du code précédent (qu'il aurait été nécessaire de commenter, non )
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Bonsoir,

    Je suis tout à fait d'accord avec le dernier commentaire... Une explication s'imposait donc.
    Le code seul (qui fonctionne parfaitement) méritait effectivement une explication. Merci à Snafu pour son intervention.

  5. #5
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Re,

    C'est vrai que je suis avare (par flemme) en commentaires.

    Promis, je vais faire un effort.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/10/2007, 07h44
  2. [Wamp] configuration php : probleme avec les liens absolus
    Par chico_du_33 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 17/05/2007, 15h03
  3. [Calendrier] Multi-utilisateurs en php avec les ACL
    Par moabomotal dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 06/12/2005, 18h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo