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 :

Problème valeur par default de l'include


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 22
    Points : 23
    Points
    23
    Par défaut Problème valeur par default de l'include
    Comme a dit un jour un grand codeur "un petit code vaut mieux qu'un long discourt"

    Donc voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       <div id="menu_top">
           <ul>
                <li><a href="index.php?page=accueil">Accueil</a></li>
                <li><a href="index.php?page=news">News</a></li>
                <li><a href="index.php?page=portfolio">Portfolio</a></li>
                <li><a href="#">Forum</a></li>
                <li><a href="index.php?page=livre dor">Livre d'Or</a></li>
                <li><a href="index.php?page=contact">Contact</a></li>
            </ul>
        </div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <div id="contenu_body">
    				<?
    				switch($page)
    					{
    						case 'accueil' :
    							include 'accueil.php';
    							break;
     
    						case 'news' :
    							include 'news.php';
    							break;
     
    						case 'portfolio' :
    							include 'portfolio.php';
    							break;
     
    						case 'livre dor' :
    							include 'livre dor.php';
    							break;
     
     
    						case 'livre dor' :
    							include 'contact.php';
    							break;
     
    					default : 
    						include 'accueil.php';
    							break;
    					}
     
    				?>
     
            </div>

    Donc voici le code source.(utile si vous avez besoin de voir tout le code source faite mois signe )
    Je ne sait pas pourquoi ma page m'affiche TOUJOURS la valeur de la variable $page par default


    Voila mon problème s'il vous plait aidez moi

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Slt,

    Est-ce qu'un $_GET['page'] au lieu de $page change quelque chose ?

    Sinon par ailleurs pour le livre dor je pense qu'il est préférable de ne pas avoir d'espace ca peut être source de problèmes.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Oki c'est bon sa marche nikel maintenant

    Donc voici le code source

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       <div id="menu_top">
           <ul>
               <li><a href="?page=accueil">Accueil</a></li>
                <li><a href="?page=news">News</a></li>
                <li><a href="?page=portfolio">Portfolio</a></li>
                <li><a href="?page=forum">Forum</a></li>
                <li><a href="?page=livre">Livre d'Or</a></li>
                <li><a href="?page=contact">Contact</a></li>
            </ul>
        </div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
        if ($_GET['page'] == "accueil")
        {
            include("accueil.php");
        }
     
        if ($_GET['page'] == "news")
        {
            include("news.php");
        }
     
    	if ($_GET['page'] == "portfolio")
        {
            include("portfolio.php");
        }
     
    	if ($_GET['page'] == "forum")
        {
            include("forum.php");
        }
     
       	if ($_GET['page'] == "contact")
        {
            include("contact.php");
        }
     
    	if ($_GET['page'] == "livre")
        {
            include("livre.php");
        }
     
        ?>
    Par contre j'ai 2 petites questions:
    Es-ce que la niveau sécurité je ne risque pas de me faire avoir par la faille include?
    J'aimerai bien faire un else
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	else
    	{
    		print "Désoler,mauvaise page";
    	}
    mais lorsque je mets mon else a la fin de mes if sa me marque en permanence(sur toutes les pages) "Désoler,mauvaise page"
    Pourtant j'ai bien mis else se qui fait que normalement sa devrait s'afficher que si on choisi une mauvaise page(ou qu'on tente une RFI ou LFI)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    question sécurité, tu peux faire ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $page = addslashes($_GET['page']);
    if (strlen($page) >=10) unset($page);

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    pour ce qui est de ton else c'est normal que ça ne donne pas le résultat espéré puisque avec ta syntaxe il ne concerne que le dernier if.

    il faudrait faire comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if ($page == 'accueil') { ... }
     
    elseif ($page == '...') { ... }
     
    ...
     
    else { print "désolé mauvaise page"; }
    ou bien utiliser un switch comme tu avais commencer à le faire (il me semble qu'en terme de rapidité c'est mieux en plus)

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Donc j'ai fait avec le switch voila se que sa donne et sa marche niquel ^^


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
        <?php
    	if (isset ($_GET['page']))
    		{
    		$page = $_GET['page'];
    		}
    	else
    		{
    		$page ="";
    		}
     
    switch ($page)
             {
                case "accueil":
                   include 'accueil.php';
                   break;
                case "news" :
                   include 'news.php';
                   break;
                case "portfolio" :
                   include 'portfolio.php';
                   break;
                case "forum" :
                   include 'forum.php';
                   break;
                case "livre" :
                   include 'livre.php';
                   break;
                case "contact" :
                   include 'contact.php';
                   break;
                default :
                   include 'accueil.php';
             }
          ?>
    La je croit que c'est "parfait" ?

    Par contre j'ai un autre problème je fait un nouveau post

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Points : 170
    Points
    170
    Par défaut
    Salut ptifou78,

    La solution est simple, on ne met pas "break;" en fin de ligne de d'un "default:"

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

Discussions similaires

  1. Problème avec un Insert et valeur par default
    Par jaffael dans le forum Bases de données
    Réponses: 6
    Dernier message: 17/12/2007, 17h33
  2. Valeur par default dans ma JComboBox
    Par iutcien dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/04/2006, 16h19
  3. Increment de la valeur par default
    Par Yves2507 dans le forum Access
    Réponses: 16
    Dernier message: 03/03/2006, 18h41
  4. Fonctions et valeur par default
    Par Goundy dans le forum C
    Réponses: 5
    Dernier message: 27/02/2006, 22h16
  5. Valeur par default dans un input file ?
    Par alainme dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 11/02/2005, 14h31

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