|
En los programas que hemos visto hasta ahora,
hemos utilizado variables que sólo existían
en el archivo que era ejecutado. Cuando cargábamos
otra página distinta, los valores de estas
variables se perdían a menos que nos tomásemos
la molestia de pasarlos por la URL o inscribirlos
en las cookies o en un formulario para su posterior
explotación. Estos métodos, aunque
útiles, no son todo lo prácticos que
podrían en determinados casos en los que
la variable que queremos conservar ha de ser utilizada
en varios scripts diferentes y distantes los unos
de los otros.
Podríamos pensar que ese problema puede
quedar resuelto con las cookies ya que se trata
de variables que pueden ser invocadas en cualquier
momento. El problema, ya lo hemos dicho, es que
las cookies no son aceptadas ni por la totalidad
de los usuarios ni por la totalidad de los navegadores
lo cual implica que una aplicación que se
sirviera de las cookies para pasar variables de
un archivo a otro no sería 100% infalible.
Es importante a veces pensar en "la inmensa
minoría", sobre todo en aplicaciones
de comercio electrónico donde debemos captar
la mayor cantidad de clientes posibles y nuestros
scripts deben estar preparados ante cualquier eventual
deficiencia del navegador del cliente.
Nos resulta pues necesario el poder declarar ciertas
variables que puedan ser reutilizadas tantas veces
como queramos dentro de una misma sesión.
Imaginemos un sitio multilingüe en el que cada
vez que queremos imprimir un mensaje en cualquier
página necesitamos saber en qué idioma
debe hacerse. Podríamos introducir un script
identificador de la lengua del navegador en cada
uno de los archivos o bien declarar una variable
que fuese valida para toda la sesión y que
tuviese como valor el idioma reconocido en un primer
momento.
Pensemos también en un carrito de la compra
de una tienda virtual donde el cliente va navegando
por las páginas del sitio y añadiendo
los artículos que quiere comprar a un carrito.
Este carrito podría ser perfectamente una
variable de tipo array (tabla) que almacena para
cada referencia la cantidad de artículos
contenidos en el carrito. Esta variable debería
ser obviamente conservada continuamente a lo largo
de todos los scripts.
Este tipo de situaciones son solventadas a partir
de las variables de sesión. Una sesión
es considerada como el intervalo de tiempo empleado
por un usuario en recorrer nuestras páginas
hasta que abandona nuestro sitio o deja de actuar
sobre él durante un tiempo prolongado o bien,
sencillamente, cierra el navegador.
PHP nos permite almacenar variables llamadas de
sesión que, una vez definidas, podrán
ser utilizadas durante este lapso de tiempo por
cualquiera de los scripts de nuestro sitio. Estas
variables serán especificas del usuario de
modo que varias variables sesión del mismo
tipo con distintos valores pueden estar coexistiendo
para cada una de las sesiones que están teniendo
lugar simultáneamente. Estas sesiones tienen
además su propio identificador de sesión
que será único y específico.
Algunas mejoras referentes al empleo de sesiones
han sido introducidas con PHP4. Es a esta nueva
versión a la que haremos referencia a la
hora de explicar las funciones disponibles y la
forma de operar. Para los programadores de PHP3
la diferencia mayor es que están obligados
a gestionar ellos mismos las sesiones definir sus
propios identificadores de sesión.
Veamos en el siguiente capítulo la forma
de plasmar esta necesidad técnica en nuestros
scripts a partir de las funciones que gestionan
las sesiones en PHP.
|