Blog de programación, errores, soluciones

Sesiones en PHP

Más tarde o más temprano tendremos que crear sesiones en PHP para nuestros usuarios, si es que nuestra web permite el alta de los mismos

Iniciando una sesión con session_start()

Con session_start() podemos iniciar una sesión en php, en cualquier momento. Esta función iniciar una nueva sesión o reanudar la existente.

<?php
session_start();

Recuerde que las sesiones se utilizan para guardar datos de la sesión mientras esta está abierta.

La variable superglobal $_SESSION

Es un array asociativo que contiene variables de sesión disponibles para el script actual

php.net

En el siguiente caso puedo decir que ele estoy asignando el valor de ELPEPE a la variable de sesión nombre

<?php
session_start();
$_SESSION['nombre']="ELPEPE";

Por ejemplo una vez que un usuario entre en la página luego de hacer un login.

¿En qué usar las variables de sesión?

Podría guardar datos del usuario en la sesión, estos podrían ser el nombre de usuario, un token, o algo que distinga al usuario, de esta manera se a donde tiene acceso el usuario.

No le recomendaría guardar un email o un password por ejemplo, ya que estos datos son información personal del usuario.

Destruyendo una sesión con session_destroy()

Destruye toda la información asociada con la sesión actual. No destruye ninguna de las variables globales asociadas con la sesión, ni destruye la cookie de sesión

Con esto quiere decir que si vuelvo a llamar session_start() tendré los datos de la session que tenía antes en la variable de sesión.

Para borrar estos datos puede usar unset() ya que $_SESSION es un array asociativo.

Teniendo en cuenta el ejemplo anterior en session_start().

<?php
session_start();
unset($_SESSION['nombre']);
session_destroy();

De esta manera borraré la variable nombre de la sesión, nunca utilice unset sobre $_SESSION

Funciones para sesiones

Nombre de sesión- session_name (disponible desde PHP 4)— Obtener y/o establecer el nombre de la sesión actual

id de sesion –session_id (disponible desde PHP 4)— Obtener y/o establecer el id de sesión actual

Caducidad de la caché actual- session_cache_expire (disponible desde PHP 4.2)

Abortar la sesión, session_abort(disponible desde PHP 5.6.0 y PHP 7) Desecha los cambios en el array de sesión y finaliza la sesión

Realizar un garbage colection a una sesión session_gc (disponible a partir de PHP 7.1)— Realizar una recolección de basura de datos de sesión

Funciones en desuso para sesiones

$HTTP_SESSION_VARS Contiene todas las variables de sesión, vea $_SESSION

session_is_registered — Averiguar si una variable global está registrada en una sesión

session_register — Registrar una o más variables globales con la sesión actual

session_unregister — Deja de registrar una variable global de la sesión actual

Ayudame: Por favor deja un comentario antes de irte, tu opinión es bienvenida. Si te gusta el contenido comparte.
Last 4 post in same category