Sesiones Php

Páginas: 16 (3857 palabras) Publicado: 23 de abril de 2012
Manejo de sesiones en php
Nota: Lamentablemente algunos ejemplos de este artículo se verán momentáneamente rotos, pues el plugin de hilite de sintáxis de wordpress no funciona muy bien, y omite el código que está escrito dentro de bloques de código de php. En cuanto arregle el plugin o salga un fix se verán los ejemplos al 100% nuevamente. Si alguien conoce una solución por supuesto seagradecerá el dato.

Introducción

En este artículo vamos a explicar el manejo de sesiones en PHP, su utilidad, las funciones y las directivas de configuración implicadas en el manejo de sesiones.

¿Qué son las sesiones?

Primero que nada, ¿qué son las sesiones de PHP? Las sesiones son una facilidad que permite vincular información a un visitante a lo largo de sus diversos accesos a nuestro sitio web. Unvisitante puede acceder a varias páginas de nuestro sitio, las sesiones nos ayudan a identificarlo y a vincularle información.
Algunos usos típicos de las sesiones son:
Mejorar la experiencia del usuario almacenando información de preferencias como colores o elementos de navegación preferidos.
Almacenar información de estado (ej: si el usuario está logeado o no).
En el caso de una aplicación decomercio electrónico llevar registro de los productos que ha agregado a su carro de compras, o de productos que ha comprado anteriormente para establecer sus preferencias.
Estos son solo unos ejemplos pero las posibilidades son infinitas. En general, cuando querramos almacenar información en relación a un visitante de forma persistente a lo largo de su visita las sesiones nos facilitarán la vida.¿Cómo funcionan las sesiones en PHP?

Podríamos imaginarnos a la sesión como un número estampado en la frente del visitante que nos ayuda a identificarlo en cada página que visite de nuestro sitio. Además para cada cada número asignado a un visitante habrá un locker donde guardar sus cosas. Así es que quien está a la entrada (nuestro código de manejo de sesiones) al llegar un visitante escoge un númeropara él y se lo estampa en la frente para que lo utiliice durante su visita.
Para poner a funcionar una sesión se necesitan cumplir dos requisitos fundamentales:
1. Asignar al visitante un identificador único (escoger un número).
2. Propagar este identificador único a través de los diferentes accesos del visitante para que podamos reconocerlo (estampárselo en la frente).
Nuestroidentificador único es una cadena única aleatoria con la que marcamos al visitante. Llamaremos a este identificador único session_id. No tendremos que preocuparnos por generar el session_id pues el sistema de sesión se encarga automáticamente de generarlo.
Ahora, dado que el session_id es generado del lado del servidor, hay que encontrar alguna forma de que esa información persista a través de los diferentesaccesos del mismo visitante. No es posible vincular el session_id con la dirección IP del usuario ya que hay varios casos en que la misma IP puede ser utilizada por varios usuarios, por ejemplo cuando varios usuarios están tras un proxy o tras un router que está haciendo IP masquerade. Por lo tanto para que el session_id esté disponible junto a cada solicitud de página del usuario es necesariopropagar el session_id para que esté presente junto al visitante en cada acceso y así podamos identificarlo. Esto se llama propagación de la sesión y más adelante veremos cómo se hace.

Creando una sesión

Cada sesión comienza con la función session_start(), de la forma:
bool session_start(void)
session_start() siempre devuelve true. En caso de que el visitante no tenga una sesión la crea y en elcaso de que ya la tenga la continúa. Si ya tenía una sesión tiene que haber una forma de que podamos vincularla al usuario. Para ello el session_id tiene que haber sido pasado a la página actual, y esto se hace por cookie, por GET o por POST. Ten en cuenta que si la propagación es por cookie session_start() se encargará de crear un cookie, entonces es necesario llamarla antes de enviar...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Variables de sesion en PHP
  • Sesion php
  • php
  • PHP
  • Php Y Php
  • Que Es Php
  • Sesion
  • sesion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS