2010-08-18 8 views
-1

Je suis novice en PHP et j'aimerais savoir comment configurer et utiliser les cookies pour stocker les sélections de menus utilisateur entre les pages.Sélections de menus basées sur les cookies

Fondamentalement, quand un utilisateur clique sur une option de menu appelée "À propos de nous", je voudrais stocker cette sélection via un cookie que je pourrais utiliser ailleurs?

Pour votre information, je me sers du jquery .cliquez fonction pour déterminer quelle option menu est sélectionné, à savoir

 $("ul.sf-menu li a").click(function() { 
     var menu_opt = $(this).attr("href"); 
    }); 

Merci.

Répondre

1

Tout d'abord vous avez besoin setcookie

<?php 
$value = 'something from somewhere'; 

setcookie("TestCookie", $value); 
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */ 
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1); 
?> 

et vous devez le récupérer en utilisant:

echo $_COOKIE['TestCookie']; 

Pour définir un classdepending sur cookie:

<a href="about" <?php if($_COOKIE['TestCookie'] === "About"){ echo "class='selected'";}?>>About page</a> 

L'idée hereis pour vérifier la valeur de notre cookie et ifits ce que nous voulons alors weecho la class assigna tion. Il existe de bien meilleurs moyens d'obtenir ce que vous voulez sans l'utilisation de cookies.

Si ce n'est pas ce que vous voulez, vous devrez reformuler cette question beaucoup mieux parce que je suis en train de faire des suppositions.

+0

Merci Iznogood, mais pourriez-vous m'aider sur la façon dont je peux passer la valeur "this" afin que je puisse définir la classe correcte sur l'option de menu nouvellement sélectionné. – tonyf

+0

Merci pour la mise à jour. Le bit que je ne sais pas comment faire est de définir le cookie en fonction de la sélection de menu que j'ai faite - voir ma question mise à jour ci-dessus en ce qui concerne l'appel jQuery .click(). Comment puis-je dans jQuery définir la valeur de php $ à la valeur de javascript menu_opt ci-dessus? – tonyf

+0

Salut à nouveau, en plus de mon commentaire précédent, quelles autres façons pourrais-je réaliser ceci sans cookies? – tonyf