Faire un session_destroy() ou autre fonction php sur une variable précise

Eléphant du PHP | 186 Messages

16 nov. 2007, 17:18

Bonjour à tout le monde!!
Je viens vers vous avec une demande concernant la destruction de variable enregistrée en session.
A l'heure actuelle, je passe en session une variable me permettant depuis n'importe quelle page du site de sauvegarder la couleur du menu de navigation du site.
Depuis que j'ai incorporé un module de recherche interne au site, j'ai aussi besoin, après qu'une recherche soit executée, d'enregistrer l'expression recherchée pour qu'au retour sur la page de recherche depuis un lien, cette expression soit sauvegardée.
Néanmoins, pour x raison, je dois détruire ou effacer de la session la variable enregistrant la couleur du menu lorsque je veux visionner le résultat d'une recherche.
Mon problème intervient à ce niveau là.
Comment détruire la variable enregistrée concernant la couleur du menu sans détruire au passage celle concernant l'expression sauvegardée?
Existe-t'il le moyen de faire un session_destroy() (ou autre) sélectif qui n'efface qu'une variable?
Merci par avance pour toute aide apportée. Je continue mes recherches dans ce sens mais j'ai un peu de mal à trouver des éléments de réponse.

ViPHP
AB
ViPHP | 5818 Messages

16 nov. 2007, 17:24

Tu as essayé unset() ?

Eléphant du PHP | 186 Messages

16 nov. 2007, 17:37

Merci AB pour ta réponse.
Effectivement, ca à l'air de marcher comme je le souhaite.
Par contre, à l'heure actuelle, j'utilise une page intermédiaire où se trouve le unset pou effacer ma variable.
En effet, le unset ne doit se faire que lors du clic sur des liens a href précis.
N'y aurait-il pas moyen d'appliquer le unset sur un lien précis plutot qu'une fois le clic sur le lien, devoir transiter par une page intermédaire appliquant le unset et enfin arriver sur la page de destination?
Merci encore pour ton aide.

ViPHP
AB
ViPHP | 5818 Messages

16 nov. 2007, 17:47

Tu peux faire la destruction de ta variable en appelant la même la même page suivi d'une redirection par un header() ou alors sur la page d'arrivée.