Bonjour,

Je souhaite faire un menu horizontal en utilisant le principe des "portes coulissantes" (Cf. tuto : ici).

Je connais très peu mais vraiment très peu le PHP, mais je sais faire une chose : un include. Donc je me suis dit, tu vas faire un include de ton menu dans chacune des pages et le tour est joué. Mais voilà PROBLEME : je ne sais pas comment attribuer l'id="current" à l'onglet en cours. Onglet 1 ouvert => id="current", puis j'ouvre l'onglet 2 qui prends l'id="current" alors que l'onglet 1 perds son id="current", etc...

Comment faire pour attribuer l'id="current" à l'onglet en cours ?
Un truc simple en PHP, peut-être ?

Merci
Modifié le 13 Dec 2004 - 18:13
1. Tu as des id="lien1", id="lien2"... dans ton menu ?
Sur la page chargée, rajoute dans la balise body :
<body id="lien1_loaded">

Puis dans ta CSS :


body#lien1_loaded li#lien a,
body#lien2_loaded li#lien a,
body#lien3_loaded li#lien a{
background:  #000 url(images/accueil-selected.jpg) no-repeat bottom left;
color: #0A084E;
font-weight: bold;}


Alors comment faire apparaître le lien1_loaded ?

PHP :

 <?
$pagecourante=$_SERVER['PHP_SELF']; 
$pagecourante = substr("$pagecourante", 1);
if ($pagecourante =="lenomdetapage1.php")
{ 
echo"<body =\"lien1_loaded\" >";
}
elseif ($pagecourante =="lenomdetapage2.php")
{ 
echo"<body =\"lien2_loaded\" >";
}
}
?>


Tu compares le nom de la page chargée avec celle prévue dans le menu.
Ainsi tu identifie au chargement de ta page celle qui est chargée et tu affiche le bon id dans le body.

Compris ou je suis confus ?
Modifié le 13 Dec 2004 - 21:25
Comme c'est un problème qui tiens plus du developpement coté serveur, je déplace le sujet dans le salon général Smiley cligne
Modifié le 13 Dec 2004 - 23:38
Pour l'explication du coup du CSS. [En]

Pour le reste, je n'ai pas de tuto. Va faire un tour sur PHP débutant mais l'idées est là :

Quelle est la page chargé ?
Si la page chargé est Page1,
Alors afficher <body id="page1_charge">
Si la page chargé est Page2,
Alors afficher <body id="page3_charge">
....

Et dans ce cas le code que je t'ai passé doit marcher.
Modifié le 14 Dec 2004 - 09:27
je n'utilise pas non plus le PHP, mais en régle générale tu peux retenir que tu doit faire des tests de condition avec if, else, elseif. Donc la solution proposé plus haut propose de faire un test sur le nom de la page courante.

de ton coté dans la page "appelante" tu défini une variable avec le nom de la page, puis tu les compares.

donc en gros si pagecourante = mavariable, je dis que id="current" si non id="autre"

je ne sais pas si je suis clair.
Modifié le 14 Dec 2004 - 09:30
Ok juliofromlille et ernstein

Je vais ré-essayer mais je ne comprends pas où placer le code suivant (avant /head... à la place de body...) en plus je crois qu'il y a ou qu'il manque une {.....


<?
$pagecourante=$_SERVER['PHP_SELF']; 
$pagecourante = substr("$pagecourante", 1);
if ($pagecourante =="lenomdetapage1.php")
{ 
echo"<body =\"lien1_loaded\" >";
}
elseif ($pagecourante =="lenomdetapage2.php")
{ 
echo"<body =\"lien2_loaded\" >";
}
}
?>


Merci
Tu le met à la place du BODY.

Tu vire la balise BODY et tu met mon code à la place.

<?

$pagecourante=$_SERVER['PHP_SELF']; 

$pagecourante = substr("$pagecourante", 1);

if ($pagecourante =="lenomdetapage1.php")

{ 

echo"<body =\"lien1_loaded\" >";

}

elseif ($pagecourante =="lenomdetapage2.php")

{ 

echo"<body =\"lien2_loaded\" >";

}


?>


Oui il y avait une erreur.