PHP: Cuándo usar sesiones o cookies
Un elemento clave en la programación web es la capacidad de pasar sin problemas los datos de una página a otra. Se utiliza con mayor frecuencia cuando se trata de los inicios de sesión de usuario, sino también para transmitir mensajes de error, carritos de compras, etc
El almacenamiento de datos a través de las páginas usando PHP se hace con dos variables en el ámbito global, llamado $_SESSION y $_COOKIE.
La diferencia de ambas está en cómo cada una guardan los datos:
- Las cookies a nivel local en el navegador del usuario.
- Las Sesiones almacenan los datos directamente en el servidor web.
SESIONES
Ventajas
Desventajas
Crear una sesión
Código Web
Asignar un valor (en este caso para la sesión “usuario” le asignamos el valorde un input “nombre” recogido de un formulario)
Código Web
Eliminar datos de la sesión
Código Web
Eliminar sesión
Código Web
COOKIES
Ventajas
Desventajas
Uso
En este ejemplo vamos a crear una cookie llamada “orden” para almacenar el orden de elementos del usuario de una determinada web.
Código Web
Eliminar cookie
Código Web
El almacenamiento de datos a través de las páginas usando PHP se hace con dos variables en el ámbito global, llamado $_SESSION y $_COOKIE.
La diferencia de ambas está en cómo cada una guardan los datos:
- Las cookies a nivel local en el navegador del usuario.
- Las Sesiones almacenan los datos directamente en el servidor web.
SESIONES
Ventajas
- Pueden almacenar grandes cantidades de datos fácilmente.
- Ahorrar ancho de banda al pasar sólo una referencia a la sesión de cada pageLoad. Una “cookie” en el cliente tiene que pasar todos sus datos.
- Los datos se almacenan en el servidor web. Esto hace que las sesiones seguras, porque los datos no pueden ser vistos o editados por el cliente.
Desventajas
- Termina cuando se cierra el navegador a menos que haya configurado php.ini para alargar la vida sesiones de ‘cookie. No puede durar para siempre.
Crear una sesión
Código Web
session_start();
Asignar un valor (en este caso para la sesión “usuario” le asignamos el valorde un input “nombre” recogido de un formulario)
Código Web
$_SESSION['usuario'] = $_POST['nombre'];
Eliminar datos de la sesión
Código Web
unset($_SESSION['usuario']);
Eliminar sesión
Código Web
session_destroy();
COOKIES
Ventajas
- Pueden durar tanto como el sitio web. Ellas seguirán ahí, incluso si el navegador está cerrado o abierto.
- Son muy útiles para “recordar” los inicios de sesión
- Útiles para almacenar valores temporales de usuario. Por ejemplo, si un usuario está navegando por una lista paginada de artículos, ordenados de cierta manera, el ajuste de la clasificación se puede almacenar en una cookie.
Desventajas
- Se almacenan en pequeños archivos dentro del ordenador de los usuarios. Esto significa que el usuario puede manipularlas.
- Sólo pueden almacenar una cantidad limitada de datos.
- Deben pasar todos los datos al servidor web cada pageLoad. Esta toma de ancho de banda de hasta más.
Uso
En este ejemplo vamos a crear una cookie llamada “orden” para almacenar el orden de elementos del usuario de una determinada web.
Código Web
if (!isset($_COOKIE['orden'])) { setcookie("orden", $_POST['cambiaorden'], time() + 31536000); }
Eliminar cookie
Código Web
setcookie('orden');
No hay comentarios.