Lenguajes
Web/Otros
Extra
Enlaces

Sesiones en PHP

Aunque las sesiones suelen dar algún que otro problema a los desarrolladores noveles en realidad no son nada complicadas. Aquí veremos lo que son y cómo utilizarlas con sencillos ejemplos.

Las sesiones son simplemente variables que mantienen su valor para cada usuario a lo largo de toda la visita a nuestra página web, no como las variables normales, que sólo están activas durante la ejecución del script.. Por ejemplo, si tenemos la variable $nombre = 'Jose'; ésta seguirá activa durante toda la ejecución del script, pero al cambiar de página ésta desaparecerá. En cambio una variable de sesión permanecerá activa y con el valor que le hayamos asignado durante toda la visita del usuario.

Para utilizar variables de sesión es tan sencillo como llamar a session_start() al principio de la página, antes de cualquier salida (antes de <html> y cualquier otra cosa que se muestre en pantalla) y usar la variable superglobal $_SESSION para almacenar valores.

Vamos a hacer un ejemplo sencillo con dos páginas, en una definiremos una variable de sesión y en la otra veremos su valor.

Página 1:
<?php    
session_start();
$_SESSION['nombre'] = 'Juan';
?>
Página 2:
<?php  
session_start();
echo "El nombre es: ".$_SESSION['nombre'];
?>
Guardamos el código en pagina1.php y pagina2.php respectivamente.

Siempre tenemos que llamar a session_start() antes de usar las sesiones, ya sea para acceder a ellas o para almacenar valores. Si ejecutamos la primera página veremos que aparece en blanco, pero si seguidamente vamos a la página 2 veremos que aparece "El nombre es: Juan", sin embargo, "Juan" no aparece por ninguna parte en el código de la pagina2.php, todo es obra de las sesiones.

Esto nos puede ser útil por ejemplo para identificar a un usuario. Primero comprobaríamos en la base de datos si el usuario y contraseña introducido es correcto y si es así haríamos algo del tipo $_SESSION['logged'] = true. Luego sólo tendríamos que comprobar esta variable de sesión.

Otro ejemplo muy común es el de hacer un contador de páginas vistas por el usuario:

<?php   
session_start();
if(!isset($_SESSION['contador'])) {
$_SESSION['contador'] = 0; }
$_SESSION['contador']++;
?>
Lo único que hacemos es sumar uno cada vez que el usuario carga la página. Si la variable $_SESSION['contador'] no existe entonces la iniciamos a 0. Si abres esta página con dos navegadores distintos (por ejemplo ie y firefox) verás como cada contador es independiente en cada navegador, esto es así porque PHP considera cada navegador como un usuario distinto.

Redactado por Nenillo

Inicio | JavaScript necesario para este enlace

Noticias en RSS2 XHTML Vlido CSS Vlido