Partage
  • Partager sur Facebook
  • Partager sur Twitter

Barre de navigation PHP / Bootstrap

    22 juin 2018 à 11:00:20

    Bonjour, mon but est de créé un fichier Menu.php que j'inclurai dans mes pages,

    Je programme récupère le filename et en fonction de ça il remplie des variable "active" pour mettre un fond orange pour identifier la page sur laquel on est.

    le code :

    	
    	<?php  
    
    	$file = basename(__FILE__)
    	$nav_index = "";
    	$nav_urbex = "";
    	$nav_souterrains = "";
    	$nav_infos = "";
    
    	$nav_a_index = "";
    	$nav_a_urbex = "";
    	$nav_a_souterrains = "";
    	$nav_a_infos = "";
    
    
    	 if ($file == "index.php") {
    
    	 	$nav_index = "active bg-warning";
    	 	$nav_a_index = 'style="color: white"';
    
    	 } elseif ($file == "Urbex.php") {
    
    	 	$nav_urbex = "active bg-warning";
    	 	$nav_a_urbex = 'style="color: white"';
    
    	 } elseif ($file == "Souterrains.php") {
    
    	 	$nav_souterrains = "active bg-warning";
    	 	$nav_a_souterrains = 'style="color: white"';
    
    	 } elseif ($file == "Infos.php") {
    
    	 	$nav_infos = "active bg-warning";
    	 	$nav_a_infos = 'style="color: white"';
    
    	 }
    
    	 ?>
    
    	<!-- Navigation bar -->
    	<nav class="navbar sticky-top navbar-expand-lg navbar-light navbar-perso">
      		
      		<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
        		<span class="navbar-toggler-icon"></span>
      		</button>
    
      		<div class="collapse navbar-collapse" id="navbarText">
        		
        		<ul class="navbar-nav mr-auto">
          			<li class="nav-item">
            			<a class="nav-link" href="index.php" <?php echo $nav_a_index; ?>><i class="far fa-eye"></i> Accueil</a>
          			</li>
    
    			    <li class="nav-item">
    			    	<a class="nav-link" href="Urbex.php" <?php echo $nav_a_urbex; ?>><i class="fas fa-building"></i> Urbex</a>
    			    </li>
    
    			    <li class="nav-item">
    			    	<a class="nav-link" href="Souterrains.php" <?php echo $nav_a_souterrains; ?>><i class="fas fa-box-open"></i> Souterrains</a>
    			    </li>
    
    			    <li class="nav-item">
    			    	<a class="nav-link" href="Infos.php" <?php echo $nav_a_infos; ?>><i class="fas fa-info-circle"></i> Infos</a>
    			    </li>
        		</ul>
    
    			<form class="form-inline">
        			<input class="form-control mr-sm-2" type="search" placeholder="Rechercher" aria-label="Search">
        			<button class="btn btn-outline-warning my-2 my-sm-0" type="submit"><i class="fas fa-search"></i></button>
      			</form>
    
      		</div>
    	</nav>
    
    
    	<!-- Bannière principale -->
    	<section>
    		<div class="container-fluid banner" style="background-image: url('images/banner.jpg');">
    
    			<h1><i class="fas fa-quote-left"></i> Partez à l'aventure ! <i class="fas fa-quote-right"></i></h1>
    			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
    			tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    			quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
    			consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse.</p>
    			<a href="Infos.php"><button type="button" class="btn btn-warning btn-lg"><i class="fas fa-info-circle"></i> En savoir plus</button></a>
    
    		</div>
    	</section>

    Mais quand je vais ensuite sur ma page rien ne s'affiche, le code php est le problème vu que quand je l'enlève, je vois bien ma barre de navigation (sans le fond orange).

    Help :c

    J'ai oublié de préciser que les variables $nav_... ne sont pas incluse, j'y vais petit à petit mais je ne sais pas comment y mettre étant donné que c'est dans la chaine de caractère de la class css.

    -
    Edité par Pickles 22 juin 2018 à 11:01:59

    • Partager sur Facebook
    • Partager sur Twitter
    Développeur FrontEnd | Site CV / Site PRO
      22 juin 2018 à 11:04:52

      Bonjour,

      c'est un problème HTML.

      Tu n'as pas d'attribut style ou class dans tes balises ou tu mets tes variables.

      • Partager sur Facebook
      • Partager sur Twitter
        22 juin 2018 à 11:08:42

        <?php  
        $file = basename(__FILE__)
        $nav_index = "";
        $nav_urbex = "";
        $nav_souterrains = "";
        $nav_infos = "";
        $nav_a_index = "";
        $nav_a_urbex = "";
        $nav_a_souterrains = "";
        $nav_a_infos = "";
        if ($file == "index.php") {
        $nav_index = "active bg-warning";
        $nav_a_index = 'color: white';
        } elseif ($file == "Urbex.php") {
        $nav_urbex = "active bg-warning";
        $nav_a_urbex = 'color: white';
        } elseif ($file == "Souterrains.php") {
        $nav_souterrains = "active bg-warning";
        $nav_a_souterrains = 'color: white';
        } elseif ($file == "Infos.php") {
        $nav_infos = "active bg-warning";
        $nav_a_infos = 'color: white';
        }
        ?>
        <!-- Navigation bar -->
        <nav class="navbar sticky-top navbar-expand-lg navbar-light navbar-perso">
         <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
           <span class="navbar-toggler-icon"></span>
         </button>
         <div class="collapse navbar-collapse" id="navbarText">
           <ul class="navbar-nav mr-auto">
             <li class="nav-item">
               <a class="nav-link" href="index.php" style="<?php echo $nav_a_index; ?>"><i class="far fa-eye"></i> Accueil</a>
             </li>
            <li class="nav-item">
           <a class="nav-link" href="Urbex.php" style="<?php echo $nav_a_urbex; ?>"><i class="fas fa-building"></i> Urbex</a>
            </li>
            <li class="nav-item">
           <a class="nav-link" href="Souterrains.php" style="<?php echo $nav_a_souterrains; ?>"><i class="fas fa-box-open"></i> Souterrains</a>
            </li>
            <li class="nav-item">
           <a class="nav-link" href="Infos.php" style="<?php echo $nav_a_infos; ?>"><i class="fas fa-info-circle"></i> Infos</a>
            </li>
           </ul>
        <form class="form-inline">
           <input class="form-control mr-sm-2" type="search" placeholder="Rechercher" aria-label="Search">
           <button class="btn btn-outline-warning my-2 my-sm-0" type="submit"><i class="fas fa-search"></i></button>
         </form>
         </div>
        </nav>
        <!-- Bannière principale -->
        <section>
        <div class="container-fluid banner" style="background-image: url('images/banner.jpg');">
        <h1><i class="fas fa-quote-left"></i> Partez à l'aventure ! <i class="fas fa-quote-right"></i></h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
        tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
        consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse.</p>
        <a href="Infos.php"><button type="button" class="btn btn-warning btn-lg"><i class="fas fa-info-circle"></i> En savoir plus</button></a>
        </div>
        </section>
        J'ai remplacé comme ceci et ça ne fonctionne pas :(

        -
        Edité par Pickles 22 juin 2018 à 11:09:02

        • Partager sur Facebook
        • Partager sur Twitter
        Développeur FrontEnd | Site CV / Site PRO
          22 juin 2018 à 11:09:55

          que contienne tes variables ? du style et des classes CSS ?
          • Partager sur Facebook
          • Partager sur Twitter
            22 juin 2018 à 11:12:41

            Oui, sous cette forme  : 

            	 	$nav_a_infos = 'color: white';



            • Partager sur Facebook
            • Partager sur Twitter
            Développeur FrontEnd | Site CV / Site PRO
              22 juin 2018 à 11:14:44

              quel code est généré ? (appuie sur F12 dans ton navigateur et vas dans source)
              • Partager sur Facebook
              • Partager sur Twitter
                22 juin 2018 à 11:16:39

                Rien, au moment où il arrive a mon include du menu il ne met rien
                • Partager sur Facebook
                • Partager sur Twitter
                Développeur FrontEnd | Site CV / Site PRO
                  22 juin 2018 à 11:21:05

                  J'avais oublié un point virgule,

                  ça ne fonctionne toujours pas mais ça s'affiche et ça génère ça :

                  <a class="nav-link" href="index.php" style=""><i class="far fa-eye"></i> Accueil</a>



                  • Partager sur Facebook
                  • Partager sur Twitter
                  Développeur FrontEnd | Site CV / Site PRO
                    22 juin 2018 à 11:23:10

                    c'est que ta variable est vide.

                    Fait un echo de ta variable avant la génération du menu.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 juin 2018 à 11:26:58

                      Enfaite ma variable $file contient la page Menu.php sauf que moi je veut pas le fichier mais l'url enfaite :c
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Développeur FrontEnd | Site CV / Site PRO
                        22 juin 2018 à 11:31:16

                        Donc a toi de changer pour récupéré l'url.

                        Je te laisse chercher, si tu as besoin d'aide, redemande

                        • Partager sur Facebook
                        • Partager sur Twitter
                          22 juin 2018 à 12:51:03

                          Si ça peut aider quelqu'un :

                          		$url = $_SERVER["PHP_SELF"];
                          		$file = basename($url);

                          ça fonctionne niquel

                          en gros ça renvoi index.php ou page.php etc etc ...

                          -
                          Edité par Pickles 22 juin 2018 à 13:07:13

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Développeur FrontEnd | Site CV / Site PRO

                          Barre de navigation PHP / Bootstrap

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown