Tutorial de sesiones en PHP

Este es un tutorial básico para el manejo y control de sesiones en PHP, una de las consultas más realizadas sobre este lenguaje.

Veamos un sencillo ejemplo de uso de sesiones para ilustrar a los usuarios más inexpertos el manejo de sesiones con PHP en sus procesos más básicos, como 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.

Para aprender a trabajar con sesiones recomendamos leer el artículo sesiones en PHP .

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”]++;
}

Eso es todo! 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 trozo de 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”; ?>

Podemos ver el ejemplo relatado en funcionamiento.

Deja un comentario