PHP para iniciados en la programación (VIII), sesiones y cookies

tutorial PHP para iniciados en la programacion
 

¿Qué es la cookie?

Una cookie es un archivo pequeño con un tamaño máximo de 4KB que el servidor web almacena en la computadora cliente.

Una vez que se ha establecido una cookie, todas las solicitudes de página que siguen devuelven el nombre y el valor de la cookie.

Una cookie solo se puede leer desde el dominio desde el que se ha emitido. Por ejemplo, un conjunto de cookies que utiliza el dominio programandoamimanera.com no se puede leer desde un dominio diferente.

La mayoría de los sitios web en Internet muestran elementos de otros dominios, como la publicidad. Los dominios que sirven estos elementos también pueden establecer sus propias cookies. Estas se conocen como cookies de terceros.

Una cookie creada por un usuario solo puede ser visible para ellos. Otros usuarios no pueden ver su valor.

La mayoría de los navegadores web tienen opciones para deshabilitar cookies, cookies de terceros o ambas.

Si este es el caso, PHP responde pasando el token de cookie en la URL.

El diagrama que se muestra a continuación ilustra cómo funcionan las cookies.

Cookies y Session en PHP

Aquí,

1) Un usuario solicita una página que almacena cookies

2) El servidor establece la cookie en la computadora del usuario

3) Otras solicitudes de página del usuario devolverán el nombre y el valor de la cookie

En este tutorial, aprenderás

  • ¿Por qué y cuándo usar cookies?
  • Creando Cookies
  • Recuperando el valor de Cookie
  • Eliminar las cookies
  • ¿Qué es una sesión?
  • ¿Por qué y cuándo usar Sesiones?
  • Crear una sesión
  • Destrucción de variables de sesión

 

¿Por qué y cuándo usar cookies?

  • Http es un protocolo sin estado; Las cookies nos permiten rastrear el estado de la aplicación utilizando pequeños archivos almacenados en la computadora del usuario.

    La ruta donde se almacenan las cookies depende del navegador.

    Internet Explorer generalmente los almacena en la carpeta Archivos temporales de Internet.

  • Personalizar la experiencia del usuario: esto se logra permitiendo a los usuarios seleccionar sus preferencias.

    La página que se solicita a continuación se personaliza en función de las preferencias establecidas en las cookies.

  • Seguimiento de las páginas visitadas por un usuario

 

Creando Cookies

Veamos ahora la sintaxis básica utilizada para crear una cookie.

<?php
setcookie (
cookie_name, 
cookie_value, 
[expiración_hora], 
[cookie_path], 
[dominio], 
[seguro], 
[httponly]);
?>

AQUÍ,

  • Php «setcookie» es la función PHP utilizada para crear la cookie.
  • «Cookie_name» es el nombre de la cookie que usará el servidor cuando recupere su valor de la variable de matriz $ _COOKIE. Es obligatorio.
  • «Cookie_value» es el valor de la cookie y su obligatorio
  • «[Expiry_time]» es opcional; se puede usar para establecer el tiempo de caducidad de la cookie, como 1 hora. El tiempo se establece utilizando las funciones de tiempo PHP () más o menos un número de segundos mayor que 0, es decir, tiempo () + 3600 durante 1 hora.
  • «[Cookie_path]» es opcional; se puede usar para establecer la ruta de la cookie en el servidor. La barra diagonal «/» significa que la cookie estará disponible en todo el dominio. Los subdirectorios limitan el acceso de las cookies al subdominio.
  • «[Dominio]» es opcional, se puede usar para definir la jerarquía de acceso a cookies, es decir, www.cookiedomain .com significa dominio completo, mientras que www.sub.cookiedomain.com limita el acceso de cookies a www.sub.cookiedomain.com y su sub dominios Tenga en cuenta que es posible tener un subdominio de un subdominio siempre que el total de caracteres no supere los 253 caracteres.
  • «[Seguro]» es opcional, el valor predeterminado es falso. Se utiliza para determinar si la cookie se envía a través de https si se establece en verdadero o http si se establece en falso.
  • «[Httponly]» es opcional. Si se establece en verdadero, solo los lenguajes de script del lado del cliente, es decir, JavaScript no pueden acceder a ellos.

Nota: la función de cookie set php debe ejecutarse antes de la etiqueta de apertura HTML.

 

Veamos ahora un ejemplo que usa cookies.

Crearemos un programa básico que nos permita almacenar el nombre de usuario en una cookie que caduque después de diez segundos.

El siguiente código muestra la implementación del ejemplo anterior «cookies.php».

<?php
setcookie ("nombre_usuario", "jack", hora () + 60, '/');
// expira después de 60 segundos</span>
echo 'la cookie se ha configurado durante 60 segundos';
?>

Salida:

la cookie se ha configurado durante 60 segundos

 

Recuperando el valor de Cookie

Cree otro archivo llamado «cookies_read.php» con el siguiente código.

<?php
print_r($_COOKIE);
// genera el contenido de la variable array de cookies
?>

Salida:

array([PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [nombre_usuario] => jack)

 

Nota: $ _COOKIE es un PHP integrado en una variable súper global.

Contiene los nombres y valores de todas las cookies establecidas.

El número de valores que el

El array $_COOKIE puede contener depende del tamaño de memoria establecido en php.ini.

El valor predeterminado es 1 GB.

Probar nuestra aplicación:

 

Supongamos que ha guardado sus archivos PHP en la carpeta pammtuto.

  • Paso 1: abre tu navegador web e ingresa la URL http: //localhost/pammtuto/cookies_read.php

Se muestra : array()
  • Paso 2 – Navegador a la URL http: //localhost/pammtuto/cookies.php

Se muestra : la cookie se ha configurado durante 60 segundos
  • Paso 3 – Vuelve a la primera pestaña y luego haz clic en el botón Actualizar

Espere un minuto y luego haga clic en el botón Actualizar nuevamente. Que resultados obtuviste?

array([user_name] => jack)

 

Eliminar las cookies

  • Si desea destruir una cookie antes de su tiempo de caducidad, establezca el tiempo de caducidad en un tiempo que ya ha pasado.
  • Cree un nuevo archivo llamado cookie_destroy.php con el siguiente código
<?php
setcookie("nombre_usuario", "jack", hora () - 360, '/');
?>
  • Repita los pasos del 1 al 3 de la sección anterior para recuperar los valores de las cookies.
  • Abra la URL http: //localhost/pammtuto/cookie_destroy.php
  • Cambie a la URL http: //localhost/pammtuto/cookies_read.php ¿qué resultados muestra?

 


 

¿Qué es una sesión?

  • Una sesión es una variable global almacenada en el servidor.
  • A cada sesión se le asigna una identificación única que se utiliza para recuperar los valores almacenados.
  • Cada vez que se crea una sesión, una cookie que contiene el ID de sesión único se almacena en la computadora del usuario y se devuelve con cada solicitud al servidor. Si el navegador del cliente no admite cookies, la identificación de sesión php única se muestra en la URL
  • Las sesiones tienen la capacidad de almacenar datos relativamente grandes en comparación con las cookies.
  • Los valores de la sesión se eliminan automáticamente cuando se cierra el navegador. Si desea almacenar los valores de forma permanente, debe almacenarlos en la base de datos.
  • Al igual que la variable de array $ _COOKIE, las variables de sesión se almacenan en la variable de matriz      $ _SESSION. Al igual que las cookies, la sesión debe iniciarse antes de cualquier etiqueta HTML.

 

¿Por qué y cuándo usar Sesiones?

  • Desea almacenar información importante, como la identificación de usuario de forma más segura en el servidor donde los usuarios malintencionados no pueden controlarlos.
  • Desea pasar valores de una página a otra.
  • Desea la alternativa a las cookies en los navegadores que no las admiten.
  • Desea almacenar variables globales de una manera eficiente y más segura en comparación con pasarlas en la URL
  • Está desarrollando una aplicación como un carrito de compras que tiene que almacenar temporalmente información con una capacidad superior a 4KB.

 

Crear una sesión

Para crear una sesión, primero debe llamar a la función PHP session_start y luego almacenar sus valores en la variable de matriz $ _SESSION.

Supongamos que queremos saber la cantidad de veces que se ha cargado una página, podemos usar una sesión para hacerlo.

El siguiente código muestra cómo crear y recuperar valores de sesiones

<?php
session_start ();
// inicia la función PHP_session

if(isset($_SESSION['page_count']))
{
$_SESSION ['page_count'] + = 1;
}else
{
$_SESSION['page_count'] = 1;
}

echo 'Eres el número de visitante'. $_SESSION['page_count'];
?>

Salida:

Eres el visitante número 1

 

 

Destrucción de variables de sesión

La función session_destroy () se usa para destruir todas las variables de sesión de Php.

Si desea destruir solo un elemento único de sesión, use la función unset ().

El siguiente código ilustra cómo usar ambos métodos.

<?php
session_destroy();
// destruye toda la sesión
?>
<?php 
unset($_SESSION['product']); 
// destruye el elemento de sesión del producto 
?>

 

 

Session_destroy elimina todos los datos de la sesión, incluidas las cookies asociadas con la sesión.

unset solo libera las variables de sesión individuales.

Otros datos permanecen intactos.

Resumen

  • Las cookies son pequeños archivos guardados en la computadora del usuario
  • Las cookies solo se pueden leer desde el dominio emisor
  • Las cookies pueden tener un tiempo de caducidad, si no está configurado, la cookie caduca cuando se cierra el navegador
  • Las sesiones son como variables globales almacenadas en el servidor
  • Cada sesión recibe una identificación de identificación única que se utiliza para rastrear las variables de un usuario.
  • Tanto las cookies como las sesiones deben iniciarse antes de que se hayan enviado etiquetas HTML al navegador.

Compartir esta entrada.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

CAPTCHA ImageChange Image