Menu active
cassiope69
Messages postés
20
Statut
Membre
-
cassiope69 Messages postés 20 Statut Membre -
cassiope69 Messages postés 20 Statut Membre -
Bonjour,
je réalise actuellement un site et j'aimerais que la lien vers la page actuelle soit d'une couleur différente alors j'ai fait mes recherches sur le net et j'ai découvert qu'il fallait du code PHP qui test la page pour savoir laquelle est active
voici la code de la page menu :
<ul id="menu">
<li><a href="index.php" <?php
if ($_SERVER['REQUEST_URI'] == 'index.php')
{
$class="class='active'";
}
else
{
$class="class='menuhaut'";
}
echo $class;
?> target="_self">• Accueil</a>
</li>
<li><a href="inscription.php" <?php
if ($_SERVER['REQUEST_URI'] == 'inscription.php')
{
$class="class='active'";
}
else
{
$class="class='menuhaut'";
}
echo $class;
?> target="_self">• Inscription</a>
</li>
<li><a href="connexion.php" <?php
if ($_SERVER['REQUEST_URI'] == 'connexion.php')
{
$class="class='active'";
}
else
{
$class="class='menuhaut'";
}
echo $class;
?> target="_self">• Connexion</a>
</li>
<li><a href="deconnexion.php" <?php
if ($_SERVER['REQUEST_URI'] == 'deconnexion.php')
{
$class="class='active'";
}
else
{
$class="class='menuhaut'";
}
echo $class;
?> target="_self">• Déconnexion</a>
</li>
</ul>
et voici le code de la CSS :
ul#menu
{
margin:30;
padding:0;
list-style-type:none;
width:1180px;
position:relative;
display:block;
height:30px;
.....
}
ul#menu li
{
display:block;
float:left;
margin:0;
padding:0;
}
ul#menu li a
{
display:block;
float:left;
color:white;
...
}
ul#menu li a:hover
{
color:#FFFFFF;
height:22px;
background:transparent url(images/menu_noir.png) 0px -30px no-repeat;
}
ul#menu li a:active
{
color:#FFFFFF;
height:22px;
background:transparent url(images/menu_noir.png) 0px -30px no-repeat;
}
Le problème est que le code généré par le menu donne pour tous les liens même celui séléctionné
class='menuhaut'
Est ce que quelqu'un aurait des solutions afin de m'aider???
Merci d'avance ;)
je réalise actuellement un site et j'aimerais que la lien vers la page actuelle soit d'une couleur différente alors j'ai fait mes recherches sur le net et j'ai découvert qu'il fallait du code PHP qui test la page pour savoir laquelle est active
voici la code de la page menu :
<ul id="menu">
<li><a href="index.php" <?php
if ($_SERVER['REQUEST_URI'] == 'index.php')
{
$class="class='active'";
}
else
{
$class="class='menuhaut'";
}
echo $class;
?> target="_self">• Accueil</a>
</li>
<li><a href="inscription.php" <?php
if ($_SERVER['REQUEST_URI'] == 'inscription.php')
{
$class="class='active'";
}
else
{
$class="class='menuhaut'";
}
echo $class;
?> target="_self">• Inscription</a>
</li>
<li><a href="connexion.php" <?php
if ($_SERVER['REQUEST_URI'] == 'connexion.php')
{
$class="class='active'";
}
else
{
$class="class='menuhaut'";
}
echo $class;
?> target="_self">• Connexion</a>
</li>
<li><a href="deconnexion.php" <?php
if ($_SERVER['REQUEST_URI'] == 'deconnexion.php')
{
$class="class='active'";
}
else
{
$class="class='menuhaut'";
}
echo $class;
?> target="_self">• Déconnexion</a>
</li>
</ul>
et voici le code de la CSS :
ul#menu
{
margin:30;
padding:0;
list-style-type:none;
width:1180px;
position:relative;
display:block;
height:30px;
.....
}
ul#menu li
{
display:block;
float:left;
margin:0;
padding:0;
}
ul#menu li a
{
display:block;
float:left;
color:white;
...
}
ul#menu li a:hover
{
color:#FFFFFF;
height:22px;
background:transparent url(images/menu_noir.png) 0px -30px no-repeat;
}
ul#menu li a:active
{
color:#FFFFFF;
height:22px;
background:transparent url(images/menu_noir.png) 0px -30px no-repeat;
}
Le problème est que le code généré par le menu donne pour tous les liens même celui séléctionné
class='menuhaut'
Est ce que quelqu'un aurait des solutions afin de m'aider???
Merci d'avance ;)
A voir également:
- Menu active
- Menu déroulant excel - Guide
- Comment activé - Guide
- Canon quick menu - Télécharger - Utilitaires
- Activer bluetooth tv samsung menu caché - Forum Téléviseurs
- Active partition disk - Télécharger - Stockage
7 réponses
Fait un echo sur ta variable "$_SERVER['REQUEST_URI']" tu comprendras peut être d'où vient ton erreur ;)
Parfait ça recupère bien le nom de la page.
Par contre lors de mon if si je met if $nom_page == 'index.php') ça me met une erreur, est ce que je dois remettre pour chaque ligne tout le code ou il y a une autre manière pour mettre simpletement $nom_page ???
Par contre lors de mon if si je met if $nom_page == 'index.php') ça me met une erreur, est ce que je dois remettre pour chaque ligne tout le code ou il y a une autre manière pour mettre simpletement $nom_page ???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est ce que j'ai fait j'ai mis ton code au début de la page et j'ai repris le $nom_page pour chaque if et ca me met ce message :
Parse error: parse error, unexpected T_VARIABLE, expecting '(' in C:\Program Files\EasyPHP 2.0b1\www\site.php\menu.php on line 8
Mes autres pages sont appelées dans cette page ( le menu )
Parse error: parse error, unexpected T_VARIABLE, expecting '(' in C:\Program Files\EasyPHP 2.0b1\www\site.php\menu.php on line 8
Mes autres pages sont appelées dans cette page ( le menu )
Oui je connais mais il faut bien que les pages de mon menu appellent mes pages...
Pourquoi ça ne marche pas??
Pourquoi ça ne marche pas??
Ton site doit se présenter de la manière suivante.
<?php
if ($_GET['page']=='accueil') {
echo '<a style="color:red;" class="menu_active" href="index.php?page=accueil">Accueil</a><br/>';
}
else {
echo '<a class="menu_inactive" href="index.php?page=accueil">Accueil</a><br/>';
}
if ($_GET['page']=='inscription') {
echo '<a style="color:red;" class="menu_active" href="index.php?page=inscription">inscription</a><br/>';
}
else {
echo '<a class="menu_inactive" href="index.php?page=inscription">inscription</a><br/>';
}
if ($_GET['page']=='connexion') {
echo '<a style="color:red;" class="menu_active" href="index.php?page=connexion">connexion</a><br/>';
}
else {
echo '<a class="menu_inactive" href="index.php?page=connexion">connexion</a><br/>';
}
//etc
switch ($_GET['page']) {
case 'accueil': include("accueil.php");break;
case 'inscription': include("inscription.php");break;
case 'connexion': include("connexion.php");break;
//etc
}
?>
Essai de comprendre ce que fais ce code, je pense que ça va t'éclairer
<?php
if ($_GET['page']=='accueil') {
echo '<a style="color:red;" class="menu_active" href="index.php?page=accueil">Accueil</a><br/>';
}
else {
echo '<a class="menu_inactive" href="index.php?page=accueil">Accueil</a><br/>';
}
if ($_GET['page']=='inscription') {
echo '<a style="color:red;" class="menu_active" href="index.php?page=inscription">inscription</a><br/>';
}
else {
echo '<a class="menu_inactive" href="index.php?page=inscription">inscription</a><br/>';
}
if ($_GET['page']=='connexion') {
echo '<a style="color:red;" class="menu_active" href="index.php?page=connexion">connexion</a><br/>';
}
else {
echo '<a class="menu_inactive" href="index.php?page=connexion">connexion</a><br/>';
}
//etc
switch ($_GET['page']) {
case 'accueil': include("accueil.php");break;
case 'inscription': include("inscription.php");break;
case 'connexion': include("connexion.php");break;
//etc
}
?>
Essai de comprendre ce que fais ce code, je pense que ça va t'éclairer