Sesiones en PHP en profesordeinformatica.com

Sesiones en PHP

Por Aitor López de Aberasturi el Domingo, 10 de Agosto de 2014 0 Comentarios

En ocasiones nos interesa guardar los valores de una variable de forma permanente, por ejemplo cuando elegimos el idioma en el que visualizamos esa página queremos que todas las páginas de esa web se vean en ese idioma, registro de usuarios, cuando queremos hacer un carrito de la compra o cuando por ejemplo registramos con un usuario queremos el sistema nos guarde ese usuario. Para hacer este tipo de cosas se utilizan las variables de sesion y/o las cookies.

Las variables de sesión se guardan en el servidor y sólo van a guardarse mientras el navegador esté abierto. Existe una sesión por cada navegador abierto esto quiere decir que si cerramos el navegador y lo volvemos a abrir la variable de sesión perderá su valor.

Para guardar un valor y acceder al mismo se hace con las variable $_SESSION['variable']. Para poder utilizar sesiones estas se tienen que iniciar con la función session_start() para quitar los valores de la sessión se puede utilizar la función session_unset().

En el siguiente ejemplo tenemos dos programas, con el primero de ellos asignamos una variable de sesión nombre a la que asignamos el valor "Aitor" con el segundo visualizamos el valor que tiene esa variable de sesión.

Nota importante: Las sessiones se tienen que definir y asignar al principio del programa, antes de escribir nada. Sino obtendremos un error "headers alredy sent".

asignarnombre.php

<?php
// iniciamos sesion
session_start();
$_SESSION['nombre']="Aitor";
?>
Hemos asignado el nombre

vernombre.php

<?php
session_start();
echo "Hola ".$_SESSION['nombre'];
?>

El siguiente ejemplo es un simulador de un marcador de baloncesto. Tenemos que guardar el marcador y si se mete una canasta de uno,dos o tres puntos sumarlo al marcador guardado.

<?php
// iniciamos sesion
session_start();
$num=$_GET[num];
////  asignamos un valor a una sesion
$_SESSION[numero]=$_SESSION[numero]+$num;
////  visualizamos  una sesion
echo "El valor de la session numero es ".$_SESSION[numero];
?>

Próxima entrada

Cookies en PHP


Sobre el profe

Esta es la página web de Aitor Lopez de Aberasturi profesor de informática en ITS Ciudad Jardin. También puedes visitar mi blog de clase.