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 :

[Système] Problème d'inclusion PHP5


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 48
    Points : 30
    Points
    30
    Par défaut [Système] Problème d'inclusion PHP5
    Bonjour,

    J'ai commencé un site ce matin, et j'ai pas remarqué mais j'ai mon hébergeur qui est sous PHP5, j'en suis simplement à la gestion des liens, et il n'y à absolument rien qui se passe...J'ai cherché un bon moment sur le net mais rien trouvé...Et j'ai testé mon code sur un autre serveur qui n'est pas en PHP5 et ça fonctionne niquel...

    Voici donc mon code :

    PAGE.PHP

    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
     
    <?
    if($page=="presentation"){
    	include("presentation/presentation.php");
    	}
    elseif($page=="news"){
    	include("news/news.php");
    	}
    elseif($page=="news"){
    	include("news/news.php");
    	}
    elseif($page=="prestations"){
    	include("prestations/prestations.php");
    	}
    elseif($page=="realisations"){
    	include("realisations/realisations.php");
    	}
    elseif($page=="promotions"){
    	include("promotions/promotions.php");
    	}
    elseif($page=="guestbook"){
    	include("guestbook/guestbook.php");
    	}
    elseif($page=="liens"){
    	include("liens/liens.php");
    	}
    elseif($page=="contact"){
    	include("contact/contact.php");
    	}
    else{
    	include("presentation/presentation.php");
    	}
    ?>



    INDEX_NAV.PHP

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" type="text/css" href="styles.css"/>
    <title>DAGAR Sarl</title>
    </head>
     
    <body>
    <table id="tabcentre" cellpadding="0" cellspacing="0">
     
      <tr>
        <td colspan="11"><img src="images/degrade.jpg" width="879" height="14" /></td>
      </tr>
      <tr>
        <td><img src="images/normales/design_05.jpg" width="31" height="124" alt="" /></td>
        <td><a href="index_nav.php?page=presentation"><div id="menu1"></div></a></td>
        <td><a href="index_nav.php?page=news"><div id="menu2"></div></a></td>
        <td><a href="index_nav.php?page=prestations"><div id="menu3"></div></a></td>
        <td><a href="index_nav.php?page=realisations"><div id="menu4"></div></a></td>
        <td><a href="index_nav.php?page=promotions"><div id="menu5"></div></a></td>
        <td><a href="index_nav.php?page=guestbook"><div id="menu6"></div></a></td>
        <td colspan="2"><a href="index_nav.php?page=liens"><div id="menu7"></div></a></td>
        <td><a href="index_nav.php?page=contact"><div id="menu8"></div>
        </a></td>
        <td><img src="images/normales/design_14.jpg" width="28" height="124" alt="" /></td>
      </tr>
      <tr>
        <td colspan="11"><img src="images/degrade.jpg" width="879" height="14" /></td>
      </tr>
      <tr>
        <td colspan="11" align="center" bgcolor="#99CC99"><p>&nbsp;
          </p>
          <p>
            <? include ('page.php') ?>
            </p>
          <p>asdf </p>
        <p>&nbsp;</p></td>
      </tr>
      <tr>
        <td colspan="11"><img src="images/degrade.jpg" width="879" height="14" /></td>
      </tr>
      <tr>
        <td><img src="images/normales/spacer.gif" width="31" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="102" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="102" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="102" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="102" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="102" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="103" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="48" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="53" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="106" height="1" alt="" /></td>
        <td><img src="images/normales/spacer.gif" width="28" height="1" alt="" /></td>
      </tr>
    </table>
    </body>
    </html>


    C'est donc très simple, j'ai un fichier d'index avec les différents liens et la fonction d'inclusion, et l'autre page qui permet simplement de faire la correspondance entre les pages...

    Mes répertoires sont corrects, les liens aussi, je ne sais vraiment pas d'où ça viens, et la je commence vraiment à peter un câble .....Je sais pas si c'est moi qui n'est plus à la page et qui fait des trucs encore n'importe comment, mais je crois pas puisque j'ai toujours fait ça comme cela sur mes derniers sites...Et ça jouais....

    Enfin bref, si vous pouvez m'aider ça serait vraiment très sympa...

    A+ merci

  2. #2
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 69
    Points : 67
    Points
    67
    Par défaut
    Salut,

    T'as essayé avec une boucle switch plutot que if ? Là, tu fais 50 tests avant de tomber sur le bon. Avec switch, il fait une fois le test, et c'est tout.
    Tu peux aussi essayer require() à la place de include()...
    Citation Envoyé par Dans la doc php, quelqu'un
    La fonction include() inclut et exécute le fichier spécifié en argument.

    Cette documentation s'applique aussi à la fonction require(). Les deux structures de langage sont identiques, hormis dans leur gestion des erreurs. include() produit une Alerte (warning) tandis que require() génère une erreur fatale. En d'autres termes, n'hésitez pas à utiliser require() si vous voulez qu'un fichier d'inclusion manquant interrompe votre script.
    J'ai pas mieux à te proposer dans l'immédiat.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 48
    Points : 30
    Points
    30
    Par défaut
    Ok, j'ai donc essayé avec include() et require(), mais ça ne fonctionne toujours pas....

    J'ai effectivement modifié ma page "PAGE.PHP" avec les switch, et c'est clair que c'est mieux..... Voici donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?
    switch($page){
    case presentation: include("presentation/presentation.php");break;
    case news: include("news/news.php");break;
    case prestations: include("prestations/prestations.php");break;
    case realisations: include("realisations/realisations.php");break;
    case promotions: include("promotions/promotions.php");break;
    case guestbook: include("guestbook/guestbook.php");break;
    case liens: include("liens/liens.php");break;
    case contact: include("contact/contact.php");break;
    default: include("prestations/prestations.php");
    }
    ?>
    Mais ça ne fonctionne malheureusement toujours pas....
    A noter encore, cela peut peut-être aider, que c'est toujours la page "DEFAULT" qui s'affiche, donc la dernière citée....prestations.php.......

    HELP PLEASE !!!!!!!!

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Si la variable page est issue de l'URL (méthode GET), vous devez utiliser $_GET['page'] au lieu de $page lorsque les register_globals sont à Off (valeur recommandée) sauf si vous avez fait auparavant une affectation. Est-ce votre cas ?

    Une proposition de codage :
    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
     
    <?php
    define('PAGE_PAR_DEFAUT', 'presentation');
    $pages = array(
        'presentation' => 'presentation/presentation.php',
        'news' => 'news/news.php',
        'prestations' => 'prestations/prestations.php',
        'realisations' => 'realisations/realisations.php',
        'promotions' => 'promotions/promotions.php',
        'guestbook' => 'guestbook/guestbook.php',
        'liens' => 'liens/liens.php',
        'contact' => 'contact/contact.php'
    );
     
    $page_demandee = isset($_GET['page']) ? $_GET['page'] : '';
    if (empty($page_demandee) || !isset($pages[$page_demandee])) {
        include($pages[PAGE_PAR_DEFAUT]);
    } else {
        include($pages[$page_demandee]);
    }
    ?>

    Julp.

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 69
    Points : 67
    Points
    67
    Par défaut
    j'avais même pas pensé à ça...

    Et c'est clair que le code de Julp est encore plus propre

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 48
    Points : 30
    Points
    30
    Par défaut


    AAAAaaaaahhhh ben ça va nettement mieux comme ça !

    Merci beaucoup julp, j'ai même pas eut besoin de recoder, copier/coller et tout fonctionne parfaitement !

    C'est sympa d'y avoir passé du temps en tout cas !

    A+ merci !

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

Discussions similaires

  1. [Système] Problème avec header() ...
    Par tom06440 dans le forum Langage
    Réponses: 15
    Dernier message: 27/10/2005, 21h33
  2. Problème d'inclusions multiples
    Par Le Furet dans le forum C
    Réponses: 2
    Dernier message: 03/10/2005, 23h59
  3. Problème d'inclusion de pages.
    Par julien85 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 01/05/2005, 18h06
  4. Réponses: 5
    Dernier message: 19/04/2005, 08h50
  5. Problème d'inclusion
    Par degreste dans le forum MFC
    Réponses: 5
    Dernier message: 27/01/2004, 00h56

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