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!

A voir également:

5 réponses

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
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
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
maka54 Messages postés 721 Statut Membre 80
 
*La fonction que j'ai mis et pas pratique

elle est surtout inutile ...
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
Profil bloqué
 
Modifie ta page index.php en mettant une redirection (type header ou autre)
0
elementjeje Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   40
 
Je ne comprend pas... ?
0
maka54 Messages postés 721 Statut Membre 80
 
include('accueil.php');
0
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
mpmp93 Messages postés 7217 Statut Membre 1 340
 
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