Está en la página 1de 5

Lenguaje de Programación Web

PHP – MYSQL – Módulo V

Módulo V:

Cookies en PHP
¿Qué es una cookie?
Una galleta a menudo se utiliza para identificar un usuario. Una cookie es un
pequeño archivo que el servidor incrusta en el ordenador del usuario. Cada vez que
el equipo solicita una página con un navegador, se enviará la cookie también. Con
PHP, usted puede crear y recuperar los valores de las cookies.

Cómo crear una cookie?


El setcookie () se utiliza para establecer una cookie.

Nota: La función setcookie () debe aparecer antes de la etiqueta <html>.

Sintaxis

setcookie(nombre, valor, expira, path, dominio);

Ejemplo 1

En el siguiente ejemplo, vamos a crear una cookie llamada "usuario" y asignar el


valor de "Cookie Prueba" a ella. También especifica que la cookie debe expirar
después de una hora:

<?php
setcookie("user", " Cookie Prueba ", time()+3600);
?>

<html>
.....

Nota: El valor de la cookie es automáticamente urlencoded la hora de enviar la


cookie, y descodifican automáticamente cuando se recibe (para evitar URLencoding,
utilice setrawcookie () en su lugar).

Ejemplo 2
También puede establecer el tiempo de expiración de la cookie de otra manera.
Puede ser más fácil de usar segundos.
<?php
$expira=time()+60*60*24*30;
setcookie("user", "Cookie Prueba", $expira);
?>

<html>
.....

-ISIV- Pág. 43
Lenguaje de Programación Web
PHP – MYSQL – Módulo V

En el ejemplo anterior la fecha de caducidad se establece en un mes ( 60 seg * 60


min * 24 horas * 30 días ).

Cómo recuperar un valor de la cookie?


La variable de PHP $ _COOKIE se utiliza para recuperar un valor de la cookie. En el
siguiente ejemplo, recuperamos el valor de la cookie llamada "usuario" y lo mostrará
en una página:

<?php
// Imprimir
echo $_COOKIE["user"];

// Ver todas la cookies


print_r($_COOKIE);
?>

En el siguiente ejemplo se utiliza el isset () para averiguar si una cookie se ha


establecido:

<html>
<body>

<?php
if (isset($_COOKIE["user"]))
echo "Bienvenido " . $_COOKIE["user"] . "!<br />";
else
echo "Bienvenido Invitado!<br />";
?>

</body>
</html>

Cómo eliminar una cookie?


Al eliminar una cookie que usted debe asegurarse de que la fecha de vencimiento es
en el pasado.

Eliminar ejemplo:

<?php
// setear tiempo de expiracion de una hora
setcookie("user", "", time()-3600);
?>

-ISIV- Pág. 44
Lenguaje de Programación Web
PHP – MYSQL – Módulo V

¿Qué pasa si un navegador no soporta cookies?


Si su aplicación con navegadores que no soportan las cookies, tendrá que utilizar
otros métodos para pasar información de una página a otra en su aplicación. Un
método consiste en pasar los datos a través de formas (formas y entradas del
usuario se describen anteriormente en este tutorial).

El formulario a continuación pasa a la entrada del usuario a "bienvenido.php" cuando


el usuario hace clic en el botón "Enviar":

<html>
<body>

<form action="benvenido.php" method="post">


Nombre: <input type="text" name="nombre" />
Edad: <input type="text" name="edad" />
<input type="submit" />
</form>

</body>
</html>

Recuperar los valores de la "benvenido.php" archivo como este:

<html>
<body>

Bienvenido <?php echo $_POST["nombre"]; ?>.<br />


Tienes <?php echo $_POST["age"]; ?> años.

</body>
</html>

-ISIV- Pág. 45
Lenguaje de Programación Web
PHP – MYSQL – Módulo V

PHP variables de sesión


Cuando se trabaja con una aplicación, que lo abra, hacer algunos cambios y luego
cerrarla. Esto se parece mucho a una sesión. El equipo sabe quién es usted. Se
sabe cuando se inicia la aplicación y cuando se termina. Pero en Internet hay un
problema: el servidor web no sabe quién eres y lo que haces porque la dirección
HTTP no mantiene estado.
Una sesión de PHP resuelve este problema que le permite almacenar la información
del usuario en el servidor para su uso posterior (es decir, nombre de usuario,
artículos de compra, etc.) Sin embargo, la información de sesión es temporal y se
eliminará después de que el usuario ha dejado el sitio web. Si usted necesita un
almacenamiento permanente es posible que desee almacenar los datos en una base
de datos.
Sesiones de trabajo mediante la creación de un identificador único (UID) para cada
visitante y las variables de la tienda sobre la base de este UID. El UID se almacena
en una cookie o se propaga en la URL.

Inicio de una sesión de PHP


Antes de que pueda almacenar información del usuario en su sesión de PHP,
primero debe iniciar la sesión.

Nota: El session_start () debe aparecer antes de la etiqueta <html>:

<?php session_start(); ?>

<html>
<body>

</body>
</html>

El código anterior se registrará la sesión del usuario con el servidor, le permiten


iniciar la información del usuario de ahorro, y asignar un UID para la sesión de ese
usuario.

Almacenamiento de una variable de sesión


La forma correcta de almacenar y recuperar las variables de sesión es utilizar la
variable de PHP $ _SESSION:

<?php
session_start();
// almacena datos de sesion
$_SESSION['visitas']=1;
?>

<html>

-ISIV- Pág. 46
Lenguaje de Programación Web
PHP – MYSQL – Módulo V

<body>

<?php
//retrieve session data
echo "Visitas=". $_SESSION['visitas'];
?>

</body>
</html>

Salida:

Visitas=1

En el siguiente ejemplo, creamos un simple contador de páginas vistas. El isset ()


función comprueba si la "opinión" variable ya se ha establecido. Si "visitas" se ha
establecido, podemos incrementar nuestro contador. Si "visitas" no existe, se crea
una "visitas" variable, y lo pone a 1:

<?php
session_start();

if(isset($_SESSION['visitas']))
$_SESSION['visitas']=$_SESSION['visitas']+1;
else
$_SESSION['visitas']=1;
echo "Views=". $_SESSION['visitas'];
?>

Destrucción de una sesión


Si desea borrar algunos datos de la sesión, puede utilizar el unset () o el
session_destroy () función.

La función unset () se utiliza para liberar la variable de sesión especificado:

<?php
unset($_SESSION['visitas']);
?>

También puede destruir por completo la sesión llamando a la session_destroy () la


función:

<?php
session_destroy();
?>

Nota: session_destroy () se reiniciará la sesión y se perderán todos los datos


almacenados de la sesión.

-ISIV- Pág. 47

También podría gustarte