ID de sesión en PHP
-
Comprobar ID de sesión con la función
session_id()
-
Establecer y obtener un ID de sesión de usuario de la variable
$_session[]
en PHP -
Obtener ID de sesión con
var_dump()
en PHP - ID de sesión y singularidad
Uno de los usos principales de una identificación de sesión es la identificación de usuarios o eventos en una aplicación web. Este artículo explicará cómo puede trabajar con la identificación de la sesión de PHP con la ayuda de las funciones integradas de PHP como session_start()
y session_id()
.
Comprobar ID de sesión con la función session_id()
Antes de que pueda verificar una ID de sesión, debe iniciar una sesión de PHP con session_start()
. Después, puede llamar a la función session_id()
. Esta función devolverá el ID de la sesión actual.
<?php
session_start();
echo session_id();
?>
Producción :
3rd5hnbqgjhi3fq4b2edsajq81
Nota: La identificación de la sesión anterior será diferente de la suya cuando ejecute el código.
Establecer y obtener un ID de sesión de usuario de la variable $_session[]
en PHP
Variable PHP $_SESSION
es un array asociativa que contiene las variables de sesión PHP del script actual. Puede agregar un par clave-valor específico al array, eliminarlo del array o vaciar toda la variable $_SESSION
.
Puede almacenar los detalles de los usuarios autenticados en la variable $_SESSION
. Antes de eso, debe iniciar una sesión de PHP. Una vez que la sesión está activa, puede registrar una sesión para un usuario autenticado. Luego, puede usar la identificación de la sesión para rastrear al usuario en todo el sistema. Cuando el usuario cierra la sesión, puede destruir la sesión.
En el siguiente bloque de código, encontrará detalles sobre cómo configurar y obtener una identificación de sesión de usuario.
<?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;
?>
Producción :
The session id is: d7ao75228pobka332fqeho10l3
The session has been registered to: DelftStack
Recuerde, su identificación de sesión será diferente a la que se muestra arriba.
Puede destruir la sesión con el siguiente código:
<?php
if (isset($_SESSION['username'])) {
// Reset the session
unset($_SESSION);
// Destroy the session
session_destroy();
if (empty($_SESSION)) {
echo "Session destroyed...";
}
}
?>
Producción :
Session destroyed...
Obtener ID de sesión con var_dump()
en PHP
La función var_dump()
volcará los detalles sobre una variable, incluida la variable $_SESSION[]
. Inicie la sesión y almacene la identificación de la sesión en una variable para comenzar con este proceso. Una vez que la identificación de la sesión está en una variable, puede volcarla con var_dump
.
El siguiente bloque de código muestra cómo obtener una identificación de sesión con 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']);
?>
Producción :
string(26) "7qfm3qvjj1vku6h78p73qh9jmn"
Nota: Su identificación de sesión será diferente a la que se muestra arriba.
ID de sesión y singularidad
Se recomienda no iniciar una nueva sesión cuando necesite un identificador único para un usuario. Ahí es cuando entra en juego una función como uniqid()
. Pero, si tiene una sesión activa, puede usar session_id()
. Aún así, no confíe en él por su singularidad.
Este es el motivo: un navegador web con varias pestañas utilizará el mismo proceso. Como resultado, utilizarán el mismo identificador de sesión. Significa que diferentes conexiones de usuario tendrán la misma identificación.
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