Diferencia entre revisiones de «Usuario:ManuelRomero/php/cookies»
De WikiEducator
< Usuario:ManuelRomero | php
| Línea 141: | Línea 141: | ||
*http://www.mclibre.org/consultar/php/lecciones/php_cookies.html | *http://www.mclibre.org/consultar/php/lecciones/php_cookies.html | ||
Normativa: Directiva 2009/136/CE}} | Normativa: Directiva 2009/136/CE}} | ||
| + | ===Coockies con array=== | ||
| + | *En este caso la cookie en lugar de contener un solo valor va a contener un array asociativo | ||
| + | *A la hora de leer la cookie se hace igual que hasta ahora | ||
| + | <source lang=php> | ||
| + | </php> | ||
| − | {{Lectura|Title=Administrar cookies en diferentes navegadores | + | {{Lectura|Title=Administrar cookies en diferentes navegadores| |
*'''''Firefox''''' http://support.mozilla.org/es/kb/Borrar%20cookies?esab=a&s=cookies&r=2&as=s | *'''''Firefox''''' http://support.mozilla.org/es/kb/Borrar%20cookies?esab=a&s=cookies&r=2&as=s | ||
*'''''Chrome/Chromium''''': http://support.google.com/chrome/bin/answer.py?hl=es&answer=95647 | *'''''Chrome/Chromium''''': http://support.google.com/chrome/bin/answer.py?hl=es&answer=95647 | ||
Revisión de 05:24 21 nov 2014
Qué es una Cookie
Crear una coockie
http://es.php.net/manual/es/function.setcookie.php
setcookie("usuario", $_SERVER['PHP_AUTH_USER'], time()+3600);
Recuperar la cookie
$usuario = $_COOKIE['usuario']; Borrar una cookie
<?php // Ponemos un tiempo de expiración negativo setcookie("user", "", time()-3600); ?>
}}
Coockies con array
</php>
{{Lectura|Title=Administrar cookies en diferentes navegadores|
*'''''Firefox''''' http://support.mozilla.org/es/kb/Borrar%20cookies?esab=a&s=cookies&r=2&as=s
*'''''Chrome/Chromium''''': http://support.google.com/chrome/bin/answer.py?hl=es&answer=95647
*'''''Internet Explorer''''': http://windows.microsoft.com/es-es/windows7/how-to-manage-cookies-in-internet-explorer-9
*'''''Opera''''': http://help.opera.com/Windows/11.50/es-ES/cookies.html
*'''''Safari''''': http://support.apple.com/kb/ph5042
}}
|}
<!--
<!DOCTYPE html>
<?php
// Si el usuario aún no se ha autentificado, pedimos las credenciales
//Observa que escribimos esto antes de escribier ninguna salida
//Esto es importante si se usa la función header
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Contenido restringido"');
header("HTTP/1.0 401 Unauthorized");
exit;
}
// Si ya ha
//enviado las credenciales, las comprobamos con la base de datos
else {
// Conectamos a la base de datos
$conexion = new mysqli("localhost", "root", "root", "dwes");
$error = $conexion->connect_errno;
// Si se estableció la conexión
if ($error == null) {
//Realizamos una consulta preparada
$consulta = $conexion->stmt_init();
// Ejecutamos la consulta para comprobar si existe
// esa combinación de usuario y contraseñ
$sql = <<<SQL
SELECT usuario FROM usuarios
WHERE usuario = ? AND
contrasena = ?
SQL;
$usuario = $_SERVER['PHP_AUTH_USER'];
$pass = md5($_SERVER['PHP_AUTH_PW']);
$consulta->prepare($sql);
$consulta->bind_param("ss", $usuario, $pass);
$consulta->execute();
$consulta->store_result();
if ($consulta->num_rows == 0) {
header('WWW-Authenticate: Basic realm="Contenido restringido"');
header("HTTP/1.0 401 Unauthorized");
//Esto solo se visualizará si damos a cancelar del formulario de autentificación
$consulta->close();
$conexion->close();
echo "<h1> Usuario y password no autorizado reintentelo </h1>";
exit;
} else { //Situación en la que el usuario se ha conectado ok
if (isset($_COOKIE["usuario"])){
$acceso=$_COOKIE["usuario"];
}
$acceso[]=time();
$indice =count($acceso)-1;
//$indice = count($acceso)-1;
setcookie("usuario[$indice]",time(),time()+12*30*24*3600);
print_r($_COOKIE);
}
$consulta->close();
$conexion->close();
}//End error =null
}//End else de if !isset .....
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Ejemplo Tema 4: Utilización de MySQL para autentificación HTTP</title>
<link href="dwes.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
echo "Nombre de usuario: " . $_SERVER['PHP_AUTH_USER'] . "<br/>";
echo "Hash de la contraseña: " . md5($_SERVER['PHP_AUTH_PW']) . "<br/>";
if (count($acceso)!=0){
echo "<h2>Accesos realizados</h2>";
for ($i=0;$i<=$indice;$i++){
echo "Acceso número $i ".(date ("d/m/y \a \l\a\s H:i",$acceso[$i]))."<br/>";
}
}else
echo "Wellcome to your first access";
?>
</body>
</html>
--> |

