95 votes

Quelle est la différence entre session_unset () et session_destroy () en PHP?

À partir de la php.net documentation:

session_destroy - Détruit toutes les données enregistrées pour une session

session_unset Libre de toutes les variables de session

Mes trois partie question est la suivante:

Les deux fonctions semblent très similaires.
Ce qui est vraiment la différence entre les deux?

Les deux semblent supprimer toutes les variables inscrit à une session. N'importe quel d'entre eux détruisent la session elle-même? Si non, comment voulez-vous accomplir cela (détruire la session elle-même).

Est-il exact que les deux fonctions supprime le cookie de session sur le client?

155voto

Gumbo Points 279147

session_unset efface simplement l' $_SESSION variable. C'est équivalent à:

$_SESSION = array();

Donc cela n'affecte uniquement le local $_SESSION variable d'instance, mais pas les données de session dans le stockage de session.

En revanche, session_destroy détruit la session de données qui est stocké dans le stockage de session (par exemple, le fichier de session dans le système de fichiers).

Tout le reste demeure inchangé.

20voto

Xamael Points 95

``supprime toute la session.

``supprime uniquement les variables de session - session encore existe. Seules les données sont tronquées.

17voto

SLyHuy Points 65
 session_unset();
 

-> Il suffit d'effacer toutes les données de toutes les variables de session.

 session_destroy();
 

-> Supprimer toute session

Ex:

 session_start();
session_destroy();     
$a = "1234";
$_SESSION[a] = $a;
 

-> $ _SESSION [a] est NULL

 session_start();
session_unset();     
$a = "1234";
$_SESSION[a] = $a;
 

-> $ _SESSION [a] est "1234"

Donc, je vais utiliser:

 session_start();
session_destroy();   
session_start();  
$a = "1234";
$_SESSION[a] = $a;
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X