Les Allergies
Alimentaires
Posez votre question Signaler

[php] supprimer des variables de session

kelen - Dernière réponse le 27 avril 2012 à 17:35
salut tout le monde
est-ce que quelqu'un pourrait me dire si on peut supprimer des variables de session lorsqu'on quitte un site développé en php ?
et si oui éventuellement comment ça pourrait se faire ?
merci de votre aide ;o)
Lire la suite 

[php] supprimer des variables de session »

16 réponses
Réponse
+6
moins plus
pas besoin d'aussi compliqué que de rentrer dans l'ajax,
juste utiliser l'évènement onUnload de javascript ( je crois que c'est ça si ma mémoire est bonne)
qui déclenchera les deux actions php suivantes $_SESSION = array(); pour détruire tout le contenu
et session_destroy(); pour détruire la session .

comme ça ta SESSION sera bien détruite, si ton problème persiste c'est que tu n'utilises pas SESSION mais COOKIE probablement.

Cordialement.
Ajouter un commentaire
Réponse
+2
moins plus
oui, c'est peut-etre marqué, mais c'est faux ;)

Les sessions sont détruites au moment où le navigateur est fermé et non la page du site.

Si vous avez plusieurs onglets sur votre navigateur chacun représentant un site différent, si vous quitter un site en cliquant sur la croix de l'onglet, cela ne fermera pas la session.

Par contre si vous quitter votre navigateur, les sessions seront automatiquement détruites.

Je ne vois pas l'intérêt de vouloir détruire une session quand l'utilisateur quitte un site. Son navigateur ne restera de toute facon pas ouvert 2 mois ;)

A moins bien sur que vous programmez un site pour la CIA... ^_^


PS: par contre mettez un lien logout sur votre site, par respect pour l'utilisateur ;)
lamorue - 13 juil. 2011 à 13:42
Je ne vois pas l'intérêt de vouloir détruire une session quand l'utilisateur quitte un site. 


Je me permet d'écrire même 4 an après pour dire que cette remarque est complétement débile.
HelloYou - 19 août 2011 à 17:01
Certainement pour calculer le temps passé sur le site, ou pour faire passer un statut à "Absent"...
Ajouter un commentaire
Réponse
+1
moins plus
salut,
un petit tour sur google et voici ce que j'ai :

Supprimer une variable session
Il est possible de supprimer une variable qui n'est plus utile de la mémoire en utilisant la fonction session_unregister().

* bool session_unregister (string name)

description : supprime la variable name dans la session en cours : retourne true si la variable a été supprimée correctement.

Exemple
<?
// Si la variable session existe
if (session_is_registered("Var1")) {
session_unregister("Var1");
}
?>

Détruire une session et ses variables
Il est possible de supprimer tous les éléments de la session en cours à l'aide de la fonction session_destroy().

* bool session_destroy ()

Il est possible de supprimer toutes les variables de la session en cours à l'aide de la fonction session_unset().

* bool session_unset ()

Exemple : détruire la session courante :
<?
session_unset()
session_destroy()
?>


- T'as pas vu Chloraine ?
- C'est qui Chloraine ? - Ah ! Ah ! Ah !
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

J'voudrais pas me mouiller, mais il me semble que à la fermeture du navigateur, les variables de sessions sont detruites.

D'ailleurs, d'après phpdebutant.org :
Une session ne reste valable que pendant que le visiteur reste sur le site, si celui-ci s'en va vers un autre site ou si il ferme son navigateur, la session est perdue

C'est marqué la dedans, c'est pas moi qui l'invente ! http://www.phpdebutant.org/article47.php

A+ !

Kalamit,
Parle à ma culasse, mon carter est malade. :)
Ajouter un commentaire
Réponse
+0
moins plus
salut

vous pouvez pas détruire la session en fermant votre page mais en fermant le navigateur , donc il faut que tu programme la dureé de destruction de votre session tout le monde travaile avec ce procedé aussi yahoo ; ) ou mettre un lien "logout" pour la destruction de ces variable.

Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
es-tu bien sur d'utiliser les SESSION ? peut-être utilise tu les COOKIE parce que les COOKIE ne se supprimme pas nécessairement à la fermeture du navigateur.
Ajouter un commentaire
Réponse
+0
moins plus
pour information, c'est possible en cliquant sur la croix, avec la fonction javascript on_close(), et un peu d'ajax, mais il faut bien sur javascript activé, sinon, pas possible d'interagir avec les actions coté client...
Ajouter un commentaire
Réponse
+0
moins plus
Je ne comprend pas pourquoi tant de blabla inutiles pour si peu de choses alors qu' il suffit de:

<?php
// On appelle la session
session_start();

// On écrase le tableau de session
$_SESSION = array();

// On détruit la session
session_destroy();

// On prévient l'utilisateur
echo 'Vous vous êtes bien deconnectés';
?>

Rien de plus rien de moins...
Ajouter un commentaire
Réponse
+0
moins plus
unset($_SESSION['variable_session_a_detruire']);
Ajouter un commentaire
Réponse
-1
moins plus
merci bien
j'avais vu toutes ces fonctions mais elles ne répondent pas à ma question...
yasmimi - 9 nov. 2009 à 16:09
Pour ceux qui veulent vraiment ne détruire qu'une seule variable:

<?php unset($_SESSION['variable']);
echo 'La variable de session "variable" est maintenant détruite';
?> 
Ajouter un commentaire
Réponse
-1
moins plus
ah excuse j'avais lu un peu trop vite !

ah oui c déja un peu plus compliqué ton truc !
je ne vois pas comment faire ...


- T'as pas vu Chloraine ?
- C'est qui Chloraine ? - Ah ! Ah ! Ah !
Ajouter un commentaire
Réponse
-1
moins plus
bah en fait j'ai réflechis un peu entre temps ;o))
j'en suis arrivé à tester le http_referer et s'il ne contient pas l'url de mon site je supprime les variables de session
c plus simple que de les supprimer une fois que la personne est partie de mon site ;o))
mais merci quand même
Ajouter un commentaire
Réponse
-1
moins plus
Bonjour tout le monde !
Moi j'ai une petite question suplementaire : j'ai ptet pas compris les variables de session, car quand je ferme le navigateur et que je reviens j'ai toujours la meme session en route avec ses variables. En clair ce que j'aimerai c'est tuer la session quand on clique sur la petite croix...

J'ai deja lu une ruse avec un frameset et le unLoad mais ça marche pas (en fait que quand on va vers un autre site)...

Bref, ça galere pas mal par ici... Merci de me rendre moins bête :) a+
Ajouter un commentaire
Ce document intitulé « [php] supprimer des variables de session » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?