Curso de PHP. Volumen XVIII : Sesiones

Escrito por Jalths
Manuales
0

Otra semana más, volvemos con nuestro particular Curso de PHP Online, en este volumen veremos sesiones.

Por si os habéis perdido algún volumen, aquí tenéis un recopilatorio:

Recopilatorio Curso PHP Online

A continuación, tenéis la sesión de hoy.

Para usar una sesión en PHP , lo primero es saber como iniciar una sesión , se hace de la siguiente manera , simplemente hay que llamar a la función session_start() y ella sola se encarga de crear la sesión.

 

En todos los scripts que vayan a tocar cualquier sesión se debe hacer un session_start().

Nota: Como véis, la sesión se inicia antes de cualquier tipo de html, tanto es así que está fuera de las etiquetas.

Ahora, una vez creada la sesión, vamos a “operar” un poco con ella.

Como hemos dicho antes, las sesiones son un conjunto de información que perdura hasta que el usuario cierra el navegador. Esa información se almacena en variables de sesión.

Las variables de sesión residen en una array llamada $_SESSION[], esto quiere decir que vamos a usar mucho esa array para crear y recuperar variables de sesión.

Vamos a ver como crear una variable de sesión y como recuperarla (recuperar su valor):

La primera linea del código crea la variable y establece el valor de la variable, la segunda linea recupera el valor y lo muestra por pantalla.

Nota: Si no habéis modificado el php.ini, en principio os debería dejar crear variables de sesión igual que en ejemplo, si no es así, es por que por alguna razón habéis modificado el php.ini activando o desactivando ciertas opciones que os obligarán a usar la función session_register() a pesar de haber sido declarada obsoleta.

Ahora que ya sabemos almacenar información en las sesiones,vamos a jugar un poco más con el concepto global de sesión (es decir, abarcando toda la información dentro de una sesión propiamente dicha), lo primero que vamos a ver es como establecer y cómo consultar el nombre de una sesión.

Para esta tarea vamos a utilizar la función session_name(); esta función realiza una tarea u otra según el valor que le pasemos como argumento, si no le pasamos nada, nos devuelve el nombre de la función, si le pasamos algo como argumento, establece ese argumento como nombre de sesión.

Nota: Si se cambia de nombre a una sesión y se quiere acceder a ella desde otro punto del proyecto (otra parte de la web/otro script) es necesario hacer un session_name(nombre) donde nombre, el nombre de la sesión que queremos usar, es decir el nombre al que le hemos puesto a la sesión

En el código se muestra el nombre de la sesión antes y después de ser cambiado, es decir el nombre por defecto y el nombre cambiado.

Vamos ahora a ver como liberar una variable de sesión y como terminar la sesión cuando nosotros queramos y no cuando se cierre el navegador.

Para liberar una variable:

Nota: En versiones anteriores de PHP existía la función session_unregister() que ahora esta obsoleta.

Si queremos liberar todas la variables usaremos la función session_unset()

Ahora, si quisiéramos borrar la sesión usaremos session_destroy(). Session_destroy() no borra las variables de sesión sino la cookie de la sesión.

Por esto es recomendable antes de destruir siempre usar session_unset() y borrar la cookie (esto útimo lo veremos en algún ejemplo)

Ejercicio: Crear dos partes de una web una que se llame index.php y cree una sesión y otra que se llame como se quiera y que muestre la información de la sesión, libere las variables y luego borre la sesión.

Esto es todo por hoy, nos vemos en el siguiente volumen!!