Sesiones PHP y Cookies

P

Las páginas web necesitan almacenar los datos de manera temporal o permanente para realizar las operaciones de solicitud y respuesta con éxito. Casi todos los lenguajes de desarrollo web proporcionan sesiones y cookies para almacenar la información del cliente y del servidor. Es responsable de la experiencia fluida y la seguridad. En este tutorial de PHP, aprenderá sobre las sesiones y las cookies de PHP. Entonces, profundicemos en eso.

¿Qué son las Cookies en PHP?

Las cookies son pequeños archivos en el almacenamiento del ordenador del cliente. Estas cookies se almacenan en el navegador y pueden contener información relacionada con el usuario, la solicitud, la respuesta y el servidor. Estas cookies van con la solicitud al servidor que permite que el servidor identifique al usuario.

Un usuario también puede crear sus propias cookies y almacenar datos en ellas. Posteriormente, el usuario puede acceder a estas cookies.

¿Cómo crear una cookie en PHP?

El método PHP setcookies() crea una nueva cookie.

setcookie(name, value, expire, path, domain, secure, httponly);

En la sintaxis general anterior de la cookie de PHP, solo se requiere el primer parámetro, que es el nombre de la cookie. El resto de los parámetros son opcionales.

setcookie("my_first_cookie","It contains string");

¿Cómo obtener cookies y su valor en PHP?

Todas las cookies se almacenan en la variable global PHP $_COOKIE. Para obtener la cookie y su valor, simplemente pase el nombre de la cookie a la variable global. Teniendo en cuenta la cookie anterior creada en el ejemplo, observe la siguiente sintaxis para obtener la cookie usando globales.

$_COOKIE["my_first_cookie"] // will return "It contains String"

¿Cómo eliminar las cookies en PHP?

Puede establecer el tiempo de caducidad de una cookie. Después del tiempo de caducidad, la cookie se eliminará automáticamente. Mire el ejemplo a continuación, en el que creamos una cookie y establecemos su tiempo de caducidad.

setcookie("my_first_cookie","It contains String", time() + (86400), "/"); // 86400 = 1 day

En el ejemplo anterior, la cookie "my_first_cookie" caducará después de un día. Tenga en cuenta que el tiempo de caducidad de la cookie debe ser en número de segundos. Por lo tanto, usamos la función time() que devuelve la hora actual y agrega la cantidad de segundos en un día, es decir, 86400.

¿Cómo actualizar la cookie en PHP?

Puede actualizar una cookie usando el mismo método setcookie(). Simplemente llame a la función por el nombre de la cookie y podrá establecer otros parámetros de la cookie.

setcookie("my_first_cookie","It contains String", time() + (86400 * 2), "/"); // 86400 = 1 day

En el ejemplo anterior, hemos llamado al método setcookie() para la misma cookie que hemos creado en el ejemplo anterior. Supongamos que queremos aumentar el tiempo de caducidad de la cookie de un día a dos días. Simplemente, modifique el parámetro de tiempo de caducidad.

Nota: Cuando se configuran las cookies, de forma predeterminada se codifican como URL al enviar la solicitud y se decodifican cuando se reciben. Para deshabilitar la codificación de URL, puede usar el método setrawcookie().

Como ahora está familiarizado con la actualización de las cookies, permítanos brindarle otro método para eliminar una cookie, especialmente si no se establece un tiempo de caducidad para la cookie. Simplemente, actualice el tiempo de caducidad de la cookie al pasado.

setcookie("my_first_cookie","", time() - 3600); // delete the cookie immediately

Comprobar si su navegador permite cookies?

Aquí está el truco simple mediante el cual puede verificar que el navegador ha habilitado las cookies o no. Establece una cookie usando el método setcookie(). Como sabemos por el aprendizaje anterior, la matriz $_COOKIE almacena todas las cookies. Entonces, verifique el conteo de esta matriz.

<?php
if(count($_COOKIE) > 0) {
  echo "Cookies are enabled.";
} else {
  echo "Cookies are disabled.";
}
?>

Sesiones PHP

Si está en su computadora y usa una aplicación por algún tiempo y luego ciérrela. La computadora tendrá un registro del usuario de la aplicación y también el seguimiento de las acciones realizadas con la aplicación. Pero, en el sitio web, el protocolo HTTP no mantiene el estado del usuario.

Si desea persistir y acceder a un valor en varias páginas web, la sesión está ahí para resolver este problema. En esta sección, aprenderemos a trabajar con sesiones de PHP para almacenar y acceder a valores.

Nota: La sesión no es un almacenamiento permanente. Una sesión comienza al abrir la página web y finaliza cuando cierras esa web. La base de datos es la solución para el almacenamiento permanente que aprenderemos en la sección de bases de datos de los tutoriales de PHP.

¿Cómo iniciar una sesión en PHP?

Para iniciar una sesión en PHP, use la función session_start(). Asegúrese de que esta función debe llamarse en la parte superior del script PHP. El siguiente paso es almacenar el valor en la matriz global de la sesión. Mire el ejemplo completo de iniciar una sesión y almacenar valores en ella.

<?php
// Start the session
session_start();

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

¿Cómo obtener el valor de la sesión de la matriz global?

Simplemente, a medida que accedemos al valor de la cookie fuera de la matriz global de cookies, use la matriz global de la sesión para acceder al valor de la sesión. mira el siguiente ejemplo.

echo "Favorite animal is " . $_SESSION["favanimal"] . ".";

¿Cómo actualizar la variable de sesión?

Llame a la matriz global de sesión con el nombre de la variable de sesión y asígnele el nuevo valor.

$_SESSION["favcolor"] = "yellow";

Eliminación de sesión frente a destrucción de sesión

Eliminar una sesión significa eliminar todos los valores almacenados en la sesión actual.

session_unset();

Destruir una sesión significa detener la sesión que se inició usando session_start()

session_destroy();

Las sesiones están protegidas por una clave especial contra el usuario. Se almacenan con una clave como “765487cf34ert8dede5a562e4f3a7e12” en la computadora. Entonces, cuando la sesión necesita acceder al valor almacenado en ella en otra página web del sitio web, esta clave se compara con la clave almacenada en la computadora del cliente.

Para obtener una referencia completa de las sesiones de php, visite aquí

Agregar comentario

Red de tutores

Aprende PHP de la A a la Z