Sesiones en php

PHP soporta en forma nativa desde el lenguaje el concepto de sesiones, en PHP se pueden manejar sesiones en forma transparente al usuario, el lenguaje define una constante PHPSESSID con el identificador de cada sesión y se encarga de propagar el mismo usando cookies o bien el URL de la página en caso de que los cookies estén deshabilitados.

Para usar cookies en PHP es necesario invocar la función session_start(); en el comienzo del script, esta función se encarga de recuperar el session_id en la constante $PHPSESSID y si la sesión no existe crea una nueva.

Si PHP esta compilado con la opción –enable-trans-sid el interprete se encarga de re-escribir dinámicamente las URLs agregando el session_id en caso de que el usuario no tenga cookies, en caso contrario hay que modificar los links de la forma:

”>

PHP dispone además de funciones para “registrar” variables dentro de una sesión, esto se hace llamando a la función session_register();

Por ejemplo:

< ? session_start(); $x=”hola”; session_register(“x”); ?>

Notar que session_register recibe el “nombre” de la variable a registrar sin “$”. Una vez registrada una variable la misma estará disponible en todas las páginas que usen session_start durante la sesión actual, es decir que si desde la página donde hicimos el session_register el usuario se traslada a otra página que usa session_start entonces la variable $x automáticamente estará definida y con el valor “hola” ya que es una variable registrada dentro de la sesión. Cualquier tipo de variable de PHP puede registrarse con este método, incluyendo objetos (sólo las propiedades del objeto se registran, no los métodos!)

Fuente: Documento Generación de web sites dinámicos usando PHP