Como usar as cookies

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda


O manexo de cookies en PHP realízase mediante o uso da función setcookie, esta función esta dispoñible a partir da versión 3 de PHP.

int setcookie (string Nome [, string Valor [, int Expire [, string Path [, string Dominio [, int Secure]]]]])

Setcookie() define unha cookie que é enviada xunto co resto da información da cabeceira(header).

As cookies deben ser enviadas antes de calquera tag de html, polo tanto deberemos realizar a chamada a estas funcións antes de calquera tag <HTML> ou <HEAD>.

Esta é unha restrición das cookies non de PHP.

Todos os argumentos excepto o nome son opcionais.

  • Nome. Nome da cookie. Se creamos unha cookie soamente co nome, no cliente eliminásese a cookie que exista con ese nome. Tamén podemos substituír calquera argumento cunha cadea baleira ("").
  • Value. Valor que almacenará a cookie no cliente.
  • Expire. O argumento expire é un argumento enteiro que indica a hora en que se eliminase a cookie no formato de hora que devolven as funcións UNIX time() e mktime(). Normalmente úsase time() + N. segundos de duración, para especificar a duración dunha cookie.
  • Path. Subdirectorio onde ten valor a cookie.
  • Dominio. Dominio onde ten valor a cookie. Se pomos como dominio www.domain.com a cookie non se transmite para domain.com, mentres que se pomos domain.com a cookie transmítese tanto para domain.com como para www.domain.com
  • Secure. O argumento secure indica que a cookie só transmitirase a través dunha conexión segura HTTPS.
-- Exemplo --
<?php
// Creación dunha cookie individual.
setcookie("usuario", "Luis", time()+3600, "/", "localhost");

// Creación dun array de Cookies.
setcookie("usuario[tres]", "martin");
setcookie("usuario[dos]", "angeles");
setcookie("usuario[uno]", "luis");
?>

Neste exemplo establecemos unha cookie de nome usuario que contén o valor Luis, que dura 1 hora (3600 segundos) válida para todo o dominio veiga.local


--Veiga (discusión) 10:29 27 ene 2014 (CET)