ID de sesión en PHP

Habdul Hazeez 30 enero 2023
  1. Comprobar ID de sesión con la función session_id()
  2. Establecer y obtener un ID de sesión de usuario de la variable $_session[] en PHP
  3. Obtener ID de sesión con var_dump() en PHP
  4. ID de sesión y singularidad
ID de sesión en PHP

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 avatar Habdul Hazeez avatar

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

Artículo relacionado - PHP Session