Uso de sesiones en PHP

Escrito por Carla Vázquez el Viernes 07 de Marzo de 2008 a las 13:55hs

La utilizaci?n de sesiones (sessions) es un recurso frecuentemente utilizado. En l?neas generales, su funci?n puede consistir en restringir el acceso de un usuario a una p?gina web o a un grupo determinado de p?ginas asignando un identificador ?nico que permite realizar un seguimiento de cada usuario a medida que navega por la p?gina web.

Tambi?n las sesiones con PHP pueden utilizarse como variables que permiten conservar dentro del objeto $_SESSION las acciones que ir? realizando cada usuario. Esto es muy com?n por ejemplo en aquellas p?ginas que cuentan con un carrito de compras, donde al momento de confirmar la compra, se deber? tener en cuenta todos los elementos que el usuario haya seleccionado que estar?n registrados en el objeto $_SESSION. Esto se puede realizar gracias a las sesiones!

Con respecto a la primera funci?n que describ?amos anteriormente, las sesiones permiten a trav?s de PHP autentificar si la informaci?n ingresada en las opciones ?usuario? y ?password? es correcta de acuerdo a una base de datos. En el caso de ser correcta, se guardar?n en el objeto $_SESSION.

A la hora de programar las sesiones, las funciones principales son:

En el caso de querer crear una nueva sesi?n se requiere la funci?n session_start(). Si se desea, en cambio, registrar variables se utilizar? la funci?n session_register(), mientras que para eliminar variables que hayan sido ya registradas se optar? por la funci?n session_unregister().

Existen otras funciones que tambi?n pueden ser de gran utilidad, por ejemplo, para leer o cambiar el identificador se utiliza string session id(), y, para eliminar todas las variables: void session_unset (). En cu?nto a escribir datos de la sesi?n y finalizarla, la funci?n indicada es void session_write_close(). Ahora bien, para comprobar si una variable ha sido registrada en la sesi?n se utiliza bool session_is_registered().

Las sesiones asignan un identificador a la sesi?n iniciada por cada usuario que est? navegando por la p?gina web, y existen a lo largo de toda la visita. Esto permite saber, por ejemplo, las p?ginas m?s visitadas por los usuarios y el tiempo que se han tomado para ello. Son una gran ventaja a la hora de pensar en la seguridad de las aplicaciones web! PHP permite trabajar con estas variables ?sesi?n? que son propias de cada usuario (el identificador es ?nico para cada uno de ellos). Al tener esta caracter?stica habilita la coexistencia de distintas sesiones al mismo tiempo y la conservaci?n de datos.

Para el correcto funcionamiento de las sesiones cada usuario debe estar habilitado para aceptar cookies. De lo contrario, dado que no es obligatoria la aceptaci?n de ellas por parte de los usuarios, la otra forma de permitir su uso es mediante la introducci?n del ?session id? en las URLs activando la opci?n enable-trans-sid. Gracias a esta constante SID el session id ser? directamente enlazado a las URLs.

La utilizaci?n de sesiones es un ejemplo m?s de c?mo a trav?s del lenguaje PHP se pueden crear p?ginas web din?micas y aplicaciones complejas, siendo este lenguaje capaz de ser utilizado en la mayor parte de los sistemas operativos.

A continuaci?n veremos un breve ejemplo de c?mo declarar sesiones y luego ver su valor:

session_start();
$_SESSION['nombre'] = 'Nombredelasesi?n';
?>

Para mostrar su valor:

session_start();?
echo "El nombre de la sesi?n es: ".$_SESSION['nombre'];
?>

Espero les haya servido de ayuda!


comentarios



  1. Muy buen articulo breve y bien explicado falto mencionar el comando session_destroy() para finalmente destruir los datos de la sesion.



  2. Muy bueno el articulo, quiero preguntar que los usuarios que se registren solo tenga acceso a una sola sesión por usuario, no permitir que ese usuario entre por otro equipo o dirección ip con el mismo usuario y password.



  3. Van a vajar a noctulus el sabado?
    Ah?
    bajen pe

agregar comentario


Se permiten las etiquetas HTML , y

. Si ingresa alguna direcci?n web o direcci?n de email ser?n convertidos en enlaces autom?ticamente.





publicidad

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API