Soucis en PHP

elementjeje Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   -  
vordano Messages postés 1981 Statut Membre -
Bonjour,

Je suis en train de mettre mon site en PHP, donc avec des "include" pour que je n'ait qu'à modifier qu'un fichier quand je veux changer quelque chose, je n'aurais jamais du commencer en HTML.

Mais je rencontre un soucis, dans mon menu, l'onglet sur lequel on se trouve est coloré grâce à HTML et CSS. En créant mon fichier header.php, comment faire pour que PHP détecte sur quel onglet je me trouve et pour que le bon onglet se mette en couleur? (avec une condition j'imagine?) Voici mon "header.php"
<ul id="menu" class="four">
      <li><a href="index.php?page=accueil" class="here"><span class="big">A</span>cceuil</a></li>
      <li><a href="index.php?page=marques"><span class="big">M</span>arques</a></li>
      <li><a href="index.php?page=boutique"><span class="big">B</span>outique</a></li>
      <li><a href="index.php?page=contact" ><span class="big">C</span>ontact</a></li>
    </ul>


Merci d'avance!

5 réponses

  1. maka54 Messages postés 721 Statut Membre 80
     
    <li class="<?php echo ($_GET[page] = 'marques')?'here':''; ?>">
    	<a href="index.php?page=marques" ><span class="big">M</span>arques</a>
    </li>
    <li class="<?php echo ($_GET[page] = 'boutique')?'here':''; ?>">
    	  <a href="index.php?page=boutique"><span class="big">B</span>outique</a>
    </li>
    <li class="<?php echo ($_GET[page] = 'contact')?'here':''; ?>">
    	  <a href="index.php?page=contact" ><span class="big">C</span>ontact</a>
    </li>
    1
  2. tito23 Messages postés 318 Statut Membre 4
     
    j'ai pas bien compris, mais il faut assigner une classe css pour l'onglet courant, pour chaque lien d'un onglet il nous mène vers une page qui a un menu personalisé (changement del'onglet courant)
    0
  3. Lobsang Rampa
     
    Salut,

    je n'aurais jamais du commencer en HTML.

    Ah bon vous connaissez un autre moyen d'afficher des pages web?

    comment faire pour que PHP détecte sur quel onglet je me trouve et pour que le bon onglet se mette en couleur?
    En lui indiquant. La fonction la plus utile en php s'appelle echo, elle permet d'écrire ce que l'on veut, donc du HTML.

    Exemple de fonction pas pratique*:

    function lien_menu($lien, $texte,$style){   
    $longueur_chaine=strlen($texte);   
     $chaine_minuscule=substr($texte,0,$longueur_chaine-1);   
    echo "<a href='".$lien."' class='".$style."' >".$texte[0]."</span>".$chaine_minuscule."</a>"   
    
    }


    Et donc :

    <ul id="menu" class="four">   
          <li>   
    <?php   
     function_lien_menu('index.php?page=accueil','Accueil','here');   
    ?>   
    </li>   
          <li>   
    <?php   
     function_lien_menu('index.php?page=marques','Marques','');   
    ?>   
    </li>   
    
    <!-- bon je pense que pour l'exemple vous avez comprit le principe, je vous laisse compléter -->   
     


    *La fonction que j'ai mis et pas pratique. Une fonction pratiique écrirait tout le HTML à partir de <ul ... jusqu'à </ul>.
    Pour ce faire il vous suffit d'utiliser en paramètres des tableaux de variables(array) et de faire une boucle for ou while basé sur le nombre de variables contenu dans le tableau qui affiche une ligne <li>...</li> avec les valeurs associées.

    Vous pouvez ainsi changer simplement le nombre de menus et afficher les menus en une ligne de php(la fonction avec ses 3 paramètres).
    0
    1. maka54 Messages postés 721 Statut Membre 80
       
      *La fonction que j'ai mis et pas pratique

      elle est surtout inutile ...
      0
  4. elementjeje Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   40
     
    Génial! Merci! Je m'y met quand j'ai du temps et je vous redis. En disant que je n'aurais pas dû commencer en HTML c'est que j'aurais tout de suite dû utiliser du PHP pour inclure mes portions de pages.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. elementjeje Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   40
     
    Encore un problème, quand j'arrive sur mon site via l'adresse, je suis sur index.php. Mais ma page d'accueil est index.php?page=accueil. J'ai essayé cela mais ça ne fonctionne pas:

    <?php
    if ($_GET['page'] == 'NULL')
    {
        include(accueil.php);
    }
    else
    {
       include($_GET['page'].'.php');
    }
    ?>
    0
    1. Profil bloqué
       
      Modifie ta page index.php en mettant une redirection (type header ou autre)
      0
    2. elementjeje Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   40
       
      Je ne comprend pas... ?
      0
    3. maka54 Messages postés 721 Statut Membre 80
       
      include('accueil.php');
      0
    4. Profil bloqué
       
      Tu ouvres ta page index.php avec notepad, par exemple, tu fais ctrl + a (sélectionner tout) tu fais suppr puis tu écris
      <?php
      header('location: accueil.php');
      ?>
      0
    5. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
       
      Bonjour,

      ATTENTION:
      include $_GET['page'].php;
      est une faille de sécurité extrême!

      Voir ici comment régler ce problème:
      http://html5.immo-scope.com/index.php?page=general/unModeleMvcSimplifie

      A+
      0