34-Sessiones en php

Una session es una forma de almacenar informacion en variables, para usarla en varias paginas

Las cookies la informacion del usuario se almacena en la computadora, pero las variables de session NO

¿Qué es una sesión de PHP?

Cuando abres una aplicacion o una pagina web, haces lo que tienes que hacer, como comprar, ver articulos etc; despues cierras esa aplicacion o pagina web

Lo que has hecho es parecido a una session

La computadora sabe quien es, lo que estas haciendo, cuando inicias la avertura de la aplicacion o cuando la cierras

Em internet lo servidor web no sabe quien es ni lo que haces, porque la direccion HTTP no mantiene el estado

Las variables de session resuelven este problema, al almacenar informacion del usuario, para ser utilizado en varias páginas.

Por defecto las variables de session duran hasta que el usuario cierre el navegador

Asi que, Las variables de sesión contienen información sobre un solo usuario y están disponibles para todas las páginas en una aplicación.

Nota si necesita un almacenamiento permanente, es posible que desee almacenar los datos en una base de datos




...

Iniciar una sesión

Para iniciar una secion se usa la function session_start()

Las variables de sesión se establecen con la variable global de PHP: $_SESSION.

En el seguiente ejemplo vamos a configurar algunas variables de session:

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html> 

Nel ejemplo anterior vemos la session iniciada con session_start()

Esta function se pone al inicio de cada documento y antes de la etiqueta <html>

Mas abajo estan defenidas dosvariables de session

  • $_SESSION["favcolor"] = "green";
  • $_SESSION["favanimal"] = "cat";



Obtener valores de variables de sesión

Para obtener el valor de las variables utilizamos la function echo

Ejemplo de obtencion del valor de variales de session

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html> 

Si queremos saber todos los valores de las variables $_SESSION lo hacemos de la seguiente forma:

<?php
print_r($_SESSION);
?>



Funcionamiento de una variable de session

Cuando se crear una session, se crea una llave de usuario parecida con esto: 765487cf34ert8dede5a562e4f3a7e12

Cuando la session se abre en otra página, escanea la computadora en busca de esa llave

Si hay una coincidencia, inicia esa session, si no inicia una nueva session




Modificar una variable de sesión

Para cambiar una variable de sesión, simplemente sobrescríbala:

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html> 



Destruir una sesión

Para eliminar todas las variables globales de session use la function: session_unset()

Para destruir todas las sessiones utilize la function session_destroy():

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html> 

Nota Para destruir o eliminar una session, tiene que estar inicializada, con la function: session_start





Publicar un comentario

0 Comentarios