Sesiones en PHP
¿Qué es una sesión?
Una sesión es una manera que tiene PHP para trabajar con determinados valores almacenados en el servidor.
Esto permite poder almacenar la información asociada a un usuario, registro o lo que deseemos en un espacio temporal evitando asà el tener que usar cookies (se almacenan en el cliente no en el servidor) o tener que pasar parámetros de una página a otra.
La carpeta donde se guardará esta información en el servidor, será establecida en el php.ini con el parámetro session.save_paht
¿Cómo creamos una sesión en PHP?
Para crear una sesión bastará con ejecutar la instrucción
session_start();
Por defecto, si en el php.ini hemos establecido el parámetro session.use_trans_sid a 1 entonces se asignará un SID (Identificador de la sesión) automático, sino, tendremos que asignarle uno manualmente, pero por defecto ya viene el automático asà que no tenemos de qué preocuparnos.
Para obtener el identificador de la sesión podemos utilizar la función
session_id()
Trabajar con una sesión
Para trabajar con una sesión utilizaremos las variables al igual que hacemos normalmente salvo que ahora, para diferenciarlas de las normales tomaremos el parámetro $_SESSION['nombre varialbe'];
Para asignarle valor a una variable de sesión utilizaremos
$_SESSION['nombre_variable'] = “valor”;
Y cuando queramos recuperar ese valor, o bien trabajamos con esa variable o la volcamos en cualquier otra
$valor = $_SESSION['nombre_variable'];
En sesión podemos almacenar cualquier tipo de datos con el que pudiéramos trabajar normalmente en PHP
Errores comunes
Quizá el mayor error que podemos cometer al trabajar con sesiones en PHP es que sólo podemos generar una sesión antes de haber sacado nada por pantalla, el mero hecho de poner un salto de lÃnea delante de la instrucción session_start(); provocarÃa un error de este estilo:
Warning: Cannot send session cookie - headers already sent by (output started at …
Si esto nos ocurre sólo tendremos que asegurarnos que la primera instrucción que se ejecuta antes de mostrar nada por pantalla o haber enviado alguna cabecera sea session_start();
Otro error muy común es sólo crear la sesión en la primera página, siempre que queramos utilizar una variable de sesión, como $_SESSION['usuario'] hemos tenido que ejecutar la instrucción session_start(); en ese mismo fichero.
Jun 13
Sin comentarios / 149 lecturas 