Cargando



Sesiones con PHP

Las sesiones, en aplicaciones web realizadas con PHP y en el desarrollo de páginas web en general, nos sirven para almacenar información que se memorizará durante toda la visita de un usuario a una página web, por ejemplo contar visitas de un usuario a cada pagina o seccion, saber si esta logueado, guardar algun información temporal.


mar 20 2014 21:57
mar 24 2014 20:20

php-session.png


Las sesiones, en aplicaciones web realizadas con PHP y en el desarrollo de páginas web en general, nos sirven para almacenar información que se memorizará durante toda la visita de un usuario a una página web, por ejemplo contar visitas de un usuario a cada pagina o seccion, saber si esta logueado, guardar algun información temporal.

Veamos un sencillo ejemplo de uso de sesiones para acostumbrase a este tipo de datos, el manejo de sesiones con PHP en sus procesos, son la inicialización de sesiones, comprobar si existen variables de sesión, crearlas y modificarlas.

En este ejemplo vamos a hacer un sistema para llevar la cuenta de las páginas que ha visto un visitante. Es decir, si entra a una página del sitio por primera vez, contamos que ha visto una página, luego con cada página adicional que visite, seguiremos acumulando 1 en la cuenta de páginas vistas dentro del sitio. Del mismo modo, si se recarga una página o se vuelve a la misma página que ya se estuvo, también haremos que se acumule 1 en su cuenta.

Lo que tendremos que hacer en este ejercicio es lo siguiente:

Inicializar la sesión
Si no tenemos el contador de páginas creado, lo inicializamos al valor 1
Si tenemos el contador de páginas creado, lo incrementamos en 1.


<? session_start();
if (!isset($_SESSION["cuenta_paginas"])){
$_SESSION["cuenta_paginas"] = 1;
}else{
$_SESSION["cuenta_paginas"]++;
}
?>
<html>
<head>
<title>Contar páginas vistas por un usuario en toda su sesión</title>
</head>

<body>
<?
echo "Desde que entraste has visto " . $_SESSION["cuenta_paginas"] . " páginas";
?>
<br>
<br>
<a href="otracuenta.php">Ver otra página</a>
</body>
</html>

Como se ha podido ver, lo primero que debemos hacer es inicializar la sesión con session_start().

Luego de inicializar la sesión podemos trabajar con variables de sesión en cualquier lugar del código PHP. Nosotros vamos a crear y utilizar una variable de sesión para llevar la cuenta del número de páginas que hemos visto.


$_SESSION["cuenta_paginas"]

Para ver si una variable de sesión ha sido creada podemos utilizar la función isset() pasándole como parámetro la variable que deseamos saber si ha sido creada. Si no fue creada anteriormente, simplemente la creamos (inicializando su valor a 1). Si fue creada, pues que tenemos que incrementar en 1. Eso se consigue con este código:

if (!isset($_SESSION["cuenta_paginas"])){
$_SESSION["cuenta_paginas"] = 1;
}else{
$_SESSION["cuenta_paginas"]++;
}

Ahora lo que se supone que tenemos son otras páginas en el mismo sitio que también tienen que incrementar en 1 el contador de páginas vistas por ese usuario en esa sesión.

Eso lo podríamos hacer con el mismo código, como el que hemos visto antes, colocado al principio del archivo PHP.


<? session_start();
if (!isset($_SESSION["cuenta_paginas"])){
$_SESSION["cuenta_paginas"] = 1;
}else{
$_SESSION["cuenta_paginas"]++;
}
?>

Luego, en cualquier momento, si deseamos mostrar el número de páginas vistas en un momento dado, tendríamos que hacer algo como esto:

<? echo "Has visto " . $_SESSION["cuenta_paginas"] . " páginas, contando actualizaciones de paginas"; ?>

También podemos guardar la ip para trabajar con algún script de geolocalizacion.

Otras funciones útiles para la gestión de sesiones son:


Funciones
Session_id() Nos devuelve el identificador de la sesión
Session_destroy() Da por abandonada la sesión eliminando variables e identificador.
Session_unregister('variable') Abandona una variable sesión

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X