ID de session en PHP
-
Vérifier l’ID de session avec la fonction
session_id()
-
Définir et obtenir un ID de session utilisateur à partir de la variable
$_session[]
en PHP -
Obtenir l’ID de session avec
var_dump()
en PHP - ID de session et unicité
L’une des principales utilisations d’un identifiant de session est l’identification d’utilisateurs ou d’événements sur une application Web. Cet article explique comment vous pouvez travailler avec l’identifiant de session PHP à l’aide de fonctions PHP intégrées telles que session_start()
et session_id()
.
Vérifier l’ID de session avec la fonction session_id()
Avant de pouvoir vérifier un ID de session, vous devez démarrer une session PHP avec session_start()
. Ensuite, vous pouvez faire appel à la fonction session_id()
. Cette fonction renverra l’identifiant de la session en cours.
<?php
session_start();
echo session_id();
?>
Production :
3rd5hnbqgjhi3fq4b2edsajq81
Remarque : L’identifiant de session ci-dessus sera différent du vôtre lorsque vous exécuterez le code.
Définir et obtenir un ID de session utilisateur à partir de la variable $_session[]
en PHP
Variable PHP $_SESSION
est un tableau associatif qui contient les variables de session PHP du script en cours. Vous pouvez ajouter une paire clé-valeur spécifique au tableau, la supprimer du tableau ou vider toute la variable $_SESSION
.
Vous pouvez stocker les détails des utilisateurs authentifiés dans la variable $_SESSION
. Avant cela, vous devez démarrer une session PHP. Une fois la session active, vous pouvez enregistrer une session pour un utilisateur authentifié. Ensuite, vous pouvez utiliser l’identifiant de session pour suivre l’utilisateur à travers le système. Lorsque l’utilisateur se déconnecte, vous pouvez détruire la session.
Dans le bloc de code suivant, vous trouverez des détails sur la façon de définir et d’obtenir un identifiant de session utilisateur.
<?php
// Start the session
session_start();
// get the session id
$session_id = session_id();
// The username of the user. On most occasions,
// you'll get this from a MySQL query
$username = "DelftStack";
// Register a session for the user
$_SESSION['username'] = $username;
// Display the session id and the registered
// register
echo "The session id is: " . $session_id;
echo "<br /> The session has been registered to: " . $username;
?>
Production :
The session id is: d7ao75228pobka332fqeho10l3
The session has been registered to: DelftStack
N’oubliez pas que votre identifiant de session sera différent de celui indiqué ci-dessus.
Vous pouvez détruire la session avec le code suivant :
<?php
if (isset($_SESSION['username'])) {
// Reset the session
unset($_SESSION);
// Destroy the session
session_destroy();
if (empty($_SESSION)) {
echo "Session destroyed...";
}
}
?>
Production :
Session destroyed...
Obtenir l’ID de session avec var_dump()
en PHP
La fonction var_dump()
va vider les détails d’une variable, y compris la variable $_SESSION[]
. Démarrez la session et stockez l’ID de session dans une variable pour commencer ce processus. Une fois l’identifiant de session dans une variable, vous pouvez la vider avec var_dump
.
Le bloc de code suivant montre comment obtenir l’identifiant de session avec var_dump()
.
<?php
// Start the session
session_start();
// get the session id
$session_id = session_id();
// store the session id in the
// session variable
$_SESSION['id'] = $session_id;
// Dump the username
var_dump($_SESSION['id']);
?>
Production :
string(26) "7qfm3qvjj1vku6h78p73qh9jmn"
Remarque : Votre identifiant de session sera différent de celui indiqué ci-dessus.
ID de session et unicité
Il est recommandé de ne pas démarrer une nouvelle session lorsque vous avez besoin d’un identifiant unique pour un utilisateur. C’est alors qu’une fonction comme uniqid()
entre en jeu. Mais, si vous avez une session active, vous pouvez utiliser session_id()
. Cependant, ne comptez pas sur lui pour l’unicité.
Voici pourquoi : Un navigateur Web avec plusieurs onglets utilisera le même processus. Par conséquent, ils utiliseront le même identifiant de session. Cela signifie que différentes connexions utilisateur auront le même identifiant.
Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.
LinkedIn