¿Qué es una sesión? De una forma sencilla, podemos decir que es un sistema para guardar información de forma temporal en el servidor, por ejemplo, los datos de usuario y contraseña en una zona restringida. Lo que haríamos en este caso es crear una sesión con estos datos, y guardarla de forma temporal en el servidor, para que el usuario no tuviera que estar enviando dichos datos cada vez que entrara en una página distinta de la sección. El sistema se ocuparía de validar al usuario utilizando los datos de sesión.
Otra aplicación sería la de un carro de compra, donde el usuario va añadiendo a su cesta productos, con las sesiones guardamos "en menoria" dichos productos, para el final realizar la compra global.
Como puedes ver, la sesiones son una herramienta muy útil para la progración de portales, por lo que vamos a intentar explicar su funcionamiento, y desarrollar un ejemplo práctico con las sesiones, programando un sencillo y eficaz carro de compra.
En esta primera parte del tutorial, vamos a explicar el funcionamiento general de las sesiones, y en la segunda parte, veremos el caso práctico del carro de la compra.
Lo primero que tenemos que tener en cuenta a la hora de utilizar sesiones, es que lo primero que debe de aparecer en nuestro codigo html es el inicio de sesiones: <? session_start(); ?> Si no aparece esto, la sesión no se genera ni se propaga.
La variable de sesión, se define con la siguiente estrectura: <? $_SESSION["$nombre"] = $valor; ?> Por lo que si retomamos nuestro caso de usuario y contraseña, para guardar dichos datos en sesión, el código sería el siguiente (suponemos que enviamos usuario y contraseña desde un formulario mediante POST): <? session_start(); $_SESSION["usuario"] = $_POST["usuario"]; $_SESSION["contrasena"] = $_POST["contrasena"]; ?> Al hacer esto, ya hemos guardado en una sesión los datos de usuario y contraseña.
Podemos hacer un ejemplo mas complejo, como el que podríamos usar con una tienda virtual, utilizando mas valores: <? session_start(); $ContenidoCesta = array( "NombreProducto" -> $producto, "PrecioProducto" -> $precio ); $_SESSION["cesta"] = $ContenidoCesta; ?> Las variables, producto y precio las enviamos desde formulario y las guardamos en la sesión "cesta", que contiene todos los productos de la cesta de compra, con su importe.
En el siguiente capítulo, explicaremos como desarrollar un completo script PHP para el carro de la compra.