This commit is contained in:
2024-03-05 13:39:21 +01:00
parent cea9405670
commit 2eb0e06e7b
12 changed files with 306 additions and 7 deletions

View File

@@ -0,0 +1,73 @@
<?php
/***** Explicación *****/
// array_diff: Compara $claves_a_comprobar con $___SESSION y devuelve los valores de $claves_a_comprobar que no estén presentes en $___SESSION (si están todas, devuelve un array vacío)
// array_keys: Devuelve un array con todas las claves de array
// Comprobación básica => array_diff($claves_a_comprobar, array_keys($___SESSION)
// Forma 1 => array_diff($claves_a_comprobar, array_keys($___SESSION)) === []
// Forma 2 => empty(array_diff($claves_a_comprobar, array_keys($___SESSION)))
// Forma 3 => count(array_diff($claves_a_comprobar, array_keys($___SESSION))) === 0
/***** Ejemplo *****/
$___SESSION = [
'cero' => 0,
'uno' => '1',
'dos' => 'dos',
'tres' => 3,
'cuatro' => '4',
];
/*----- Caso 1: Todas las claves existen -----*/
$claves_a_comprobar = ['uno', 'dos', 'tres'];
// Forma 1
if(array_diff($claves_a_comprobar, array_keys($___SESSION)) === []) {
echo 'OK-[]' . PHP_EOL;
}
else {
echo 'NOOOO-[]' . PHP_EOL;
}
// Forma 2
if(empty(array_diff($claves_a_comprobar, array_keys($___SESSION)))) {
echo 'OK-EMPTY' . PHP_EOL;
}
else {
echo 'NOOOO-EMPTY' . PHP_EOL;
}
// Forma 3
if(count(array_diff($claves_a_comprobar, array_keys($___SESSION))) === 0) {
echo 'OK-COUNT' . PHP_EOL;
}
else {
echo 'NOOOO-COUNT' . PHP_EOL;
}
/*----- Caso 2: No existen todas las claves -----*/
$claves_a_comprobar = ['uno', 'two', 'tres'];
// Forma 1
if(array_diff($claves_a_comprobar, array_keys($___SESSION)) === []) {
echo 'OK-[]' . PHP_EOL;
}
else {
echo 'NOOOO-[]' . PHP_EOL;
}
// Forma 2
if(empty(array_diff($claves_a_comprobar, array_keys($___SESSION)))) {
echo 'OK-EMPTY' . PHP_EOL;
}
else {
echo 'NOOOO-EMPTY' . PHP_EOL;
}
// Forma 3
if(count(array_diff($claves_a_comprobar, array_keys($___SESSION))) === 0) {
echo 'OK-COUNT' . PHP_EOL;
}
else {
echo 'NOOOO-COUNT' . PHP_EOL;
}

View File

@@ -0,0 +1,21 @@
<?php
// Mecanismo cookies
//1.Creación en el servidor
//2.Almacenamiento en el cliente
//3.Envío al servidor con cada solicitud Http
//4.Procesamiento en el servidor
//5.Actualización o eliminación
// Establecer cookies -- No estrán disponibles hasta la siguiente petición HTTP.
//setcookie($nombre, $valor = "", $vencimiento = 0, $ruta = "", $dominio = "", $seguro = false, $httponly = false)
//$vencimiento en tiempo UNIX si se establece en 0 se convierte en cookie de sesión.
//$ruta en la que estará disponible, por defecto directorio actual, si se establece '/' será valida para todo el dominio.
//$dominio en el que estará disponible, por defecto para el dominio actual.
//$seguro si se envía solo por https(true)
//$httponly si es accesible desde javascript (false)
setrawcookie("nombre", "Juan", time() + 3600, "/"); // Cookie con nombre "nombre" y valor "Juan", válida por una hora
setcookie("idioma", "es", time() + (86400 * 30), "/"); // Cookie con nombre "idioma" y valor "es", válida por 30 días
setcookie("ultima_visita", date("Y-m-d H:i:s"), time() + 3600, "/"); // Cookie con nombre "ultima_visita" y valor de la fecha y hora actual, válida por una hora
?>

View File

@@ -0,0 +1,16 @@
<?php
// Acceder a las cookies desde otra página
// Leer cookies
$nombre = $_COOKIE['nombre'];
$idioma = $_COOKIE['idioma'];
$ultimaVisita = $_COOKIE['ultima_visita'];
var_dump($_COOKIE);
// Mostrar valores de las cookies
echo "Hola, $nombre. ";
echo "Tu idioma preferido es $idioma. ";
echo "Tu última visita fue el $ultimaVisita.";
?>