Mon problème est le suivant : je veux faire varier le menu en fontion du type d'utilisateur (qd il clique, ça charge un des 4 menus) en mettant le resultat du choix dans une variable de session PHP(pour que le menu soit le meme quel que soit le choix de l'utilisateur).

Voici le code de la page:
<br><br><a href="index.php" name="2" onclick="test(2);">Lycéen</font></a>
<br><br><a href="index.php" name="1" onclick="test(1);">Etudiant</a>
<br><br><a href="index.php" name="3" onclick="test(3);">Etudiant étranger</a>
<br><br><a href="index.php" name="4" onclick="test(4);">Acteur<br>socio-économique</a>

Voici la fonction appellée:
<script language="javascript">
function test(n)
{
if (n==1)
{
return("$_SESSION['menu']=1");
}

if (n==2)
{
return("$_SESSION['menu']=2");
}

if (n==3)
{
return("$_SESSION['menu']=3");
}

if (n==4)
{
return("$_SESSION['menu']=4");
}
}
</script>

J'ai l'impression que mon probleme réside dans le fait que "$_SESSION['menu']= le choix" ne s'effectue pas avant le chargement de la nouvelle page(qui est d'ailleurs le chargement de la même page).
en faite si tu peut attribuer des valeurs depuis php à js l'inverse n'est pas vrai puisque php s'éxécute côté server à l'instar de JS qui s'execute côté client.

Aussi si tu ne veux pas avoir à recharger la page pour attribuer la valeur du nouveau menu il te faut utiliser AJAX.

je te renvois au tutoriaux sur ce dernier affin d'apprendre à l'utiliser.
Ajax est brièvement un JS plus dynamique qui peut faire éxécuter du code php même la page chager.

Mais pourquoi ne fait tu pas un simple $_GET .. tu passe ta variable par url puisque ton lien renvoie sur index... donc au final tu charge ta page !

<br><br><a href="index.php" name="2" onclick="test(2);">Lycéen</font></a>
<br><br><a href="index.php" name="1" onclick="test(1);">Etudiant</a>
<br><br><a href="index.php" name="3" onclick="test(3);">Etudiant étranger</a>
<br><br><a href="index.php" name="4" onclick="test(4);">Acteur<br>socio-économique</a>


serait :

<br><br><a href="index.php?sesmenu=2" name="2">Lycéen</font></a>
<br><br><a href="index.php?sesmenu=1" name="1">Etudiant</a>
<br><br><a href="index.php?sesmenu=3" name="3" >Etudiant étranger</a>
<br><br><a href="index.php?sesmenu=4" name="4" >Acteur<br>socio-économique</a>


et en php :


$_SESSION['menu']=$_GET['sesmenu'];


Si tu ne veux pas le faire apparaître en url envoie le en post :

<form action="#" methode="post">
<input type="hidden" name="menu" value="1"/><a href="#" onclic="Submit();">Lycéen </a></form>


il te suffit dès lors de récupérer avec $_POST['menu'] la valeur du menu Smiley smile
Modifié par Gectou4 (25 May 2006 - 18:48)
Administrateur
Bonjour DjyRom et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
Raphael a écrit :
En tant que modérateur


alala modeste avec ça ^_^


Smiley cligne on se dégrade ? Allons allons tu es "Administrateur" Smiley smile
Gectou4, je te remercie pour ta réponse. C'est juste ce qu'il me manquait ^^

Et pour Raphael, je suis désolé et je cours de ce pas lire le règlement Smiley ravi

@ bientôt (peut être plus rapidement que l'on ne croit Smiley cligne )
Le nouveau problème est que maintenant qu'il me choisi le bon menu, qd je change de page a travers ce menu dynamique (en javascript) et bien je n'ai pas l'impression que la variable de session soit enregistré.

Du coup il me charge toujours le menu de base qd je change de page.

Smiley bawling
la définition d'une variable sessoin passe par cette syntaxe :


$_SESSION[$name]=$value;
session_register($name);


que tu peut utiliser en fonction :



function SessionSetVar($name, $value) {
 	$_SESSION[$name]=$value;
	session_register($name);
	return true;
}