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 :

Plusieurs fichiers includes pour des liens avec paramètres


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 192
    Points : 68
    Points
    68
    Par défaut Plusieurs fichiers includes pour des liens avec paramètres
    Bonjour,

    J'espère trouver de l'aide ici.

    Ayant beaucoup de liens, j'aimerais utiliser deux fichiers d'include, un pour le premier paramètre de 'url, et un autre pour le deuxième paramètre.

    Par exemple, pour mes pages de poèmes, le premier paramètre envoie sur la rubrique poèmes, le deuxième sur le poème sélectionné.

    Exemple: http://oneday.t2u.com/menu/menu.php?...eau_De_L_Amour

    Je parviens à faire fonctionner le système, mais le problème est que le poême choisi s'affiche en même temps que la liste des poèmes.

    Le code PHP:
    Code php : 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
    <?php
        require_once 'includes.php'; // Fichier contenant paramètre page
        require_once 'poemes.php';  // Fichier contenant le paramètre category
     
        require_once 'gauche_1.php';  // Page contenant le code du menu de gauche
     
    		if ( (isset($_GET['page'])) && (isset($checkPage[$_GET['page']])) ) {  // Page  sélectionnée devant s'afficher à droite
    		    require_once $checkPage[$_GET['page']];
    		    if ( (isset($_GET['category'])) && (isset($checkCategory[$_GET['category']])) ) {
    	                require_once $checkCategory[$_GET['category']];
    	            }
    		} 	/* if $page has a value, include it */
    		else {
    			require_once 'milieu_1.php';
    			echo '<script type="text/javascript" src="../js/music.js"></script>';
    		}

    Le code HTML avec les liens pointant vers les pages de poèmes:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ul class="poemLinks">
                <li>
                    <a href="menu.php?page=Poemes&category=L_Oiseau_De_L_Amour">L'oiseau de l'amour</a>
                </li>
                <li>
                    <a href="menu.php?page=Poemes&category=Petite_Fille">Petite fille</a>
                </li>

    Code de includes.php (fichier contenant le premier paramètre de l'url:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $checkPage = array('Sommaire' => 'milieu_1.php',
    	            'Nouveautes' => 'news/index.php',
                        'Les_Poemes_D_Eric' => 'sweeties/ericspoemes/index.php',
                        'Poemes' => 'sweeties/ericspoemes/sommaire.php');

    Code de poemes.php (fichier contenant le deuxième paramètre de l'url:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $checkCategory = array('L_Oiseau_De_L_Amour' => 'sweeties/ericspoemes/01.php',
                    'Petite_Fille' => 'sweeties/ericspoemes/02.php');

    Voici le résultat que j'obtiens:

    Nom : Capture d’écran_2023-09-07_19-30-27.png
Affichages : 107
Taille : 1 012,1 Ko

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 192
    Points : 68
    Points
    68
    Par défaut
    Bonjour, j'ai trouvé la solution.

    Il suffisait d'ajouter une condition et de modifier les liens comme suit:

    Cide HTML:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ( (isset($_GET['page'])) && (isset($checkPage[$_GET['page']])) ) {  // Page  sélectionnée devant s'afficher à droite
        require_once $checkPage[$_GET['page']];
    elseif ( (isset($_GET['category'])) && (isset($checkCategory[$_GET['category']])) ) {
        require_once $checkCategory[$_GET['category']];
    } * if $page has a value, include it */
    else {
        require_once 'milieu_1.php';
        echo '<script type="text/javascript" src="../js/music.js"></script>';
    }

    Et les liens:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ul class="poemLinks">
                <li>
                    <a href="menu.php?category=L_Oiseau_De_L_Amour">L'oiseau de l'amour</a>
                </li>
                <li>
                    <a href="menu.php?category=Petite_Fille">Petite fille</a>
                </li>

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

Discussions similaires

  1. programme graphique pour placer des objets avec paramètres
    Par Mickarrera dans le forum Visual Studio
    Réponses: 0
    Dernier message: 07/12/2012, 20h22
  2. Des macros pour lancer des requêtes avec paramètres
    Par elsergio dans le forum Requêtes
    Réponses: 8
    Dernier message: 17/10/2011, 17h46
  3. Réponses: 0
    Dernier message: 19/04/2010, 14h37
  4. découper une image pour réaliser des liens avec css
    Par regh12 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/04/2010, 01h19
  5. Charger des liens avec un fichier XML
    Par Loadlucas dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 18/12/2008, 21h58

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