Descripción
int
setcookie ( string name, string value, int expire, string path, string domain, int secure)
setcookie() define una cookie para ser enviada
con el resto de la información de la cabecera. Las cookies deben
enviarse antes de mandar cualquier otra cabecera
(esta es una restricción de las cookies, no de PHP). Esto requiere
que sitúe las llamadas a esta función antes de cualquier etiqueta
<html> o <head>.
Todos los parámetros excepto name son
opcionales. Si sólo se especifica el parámetro name, la cookie con
ese nombre se borrará del cliente remoto. También puede sustituir
cualquier parámetro por una cadena de texto vacía
("") y saltar así ese parámetro. Los
parámetros expire y secure
son números enteros y no se pueden saltar con una cadena de texto
vacía. En su lugar utilice un cero (0). El
parámetro expire es un entero de tiempo
típico de UNIX tal como lo devuelven las funciones
time() o mktime(). El parámetro
secure indica que la cookie se debe transmitir
única y exclusivamente sobre una conexión segura HTTPS.
Fallos habituales:
Las cookies no se hacen visibles hasta la siguiente carga de una
página para la que la cookie deba estar visible.
Las llamadas múltiples a setcookie() en el mismo script
se ejecutarán en orden inverso. Si está intentando borrar una cookie
antes de insertar otra, debe situar la llamada de inserción antes de
la de borrado.
A continuación se muestran algunos ejemplos::
Ejemplo 1. setcookie(), ejemplos
setcookie("TestCookie","Test Value"); setcookie("TestCookie",$value,time()+3600); /* expire in 1 hour */ setcookie("TestCookie",$value,time()+3600,"/~rasmus/",".utoronto.ca",1);
|
|
Tenga en cuenta que el campo value de la cookie se codifica como URL
(urlencode) automáticamente cuando envía la cookie. Cuando ésta se recibe,
se descodifica autómaticamente y se asigna a una variable con el
mismo nombre que el nombre de la cookie. Para ver el contenido de
nuestra cookie de prueba en un script, simplemente utilice uno de
los siguientes ejemplos:
También puede utilizar arrays de cookies empleando la notación de
array en el nombre de la cookie. Esto tiene como efecto establecer
tantas cookies como elementos de array, pero cuando el script
recibe la cookie, se guardan los valores en un array con el
nombre de la cookie:
Para obtener más información sobre las cookies, consulte la
especificación de cookies de Netscape, que se encuentra
en http://www.netscape.com/newsref/std/cookie_spec.html.
Microsoft Internet Explorer 4 con Service Pack 1 no
funciona correctamente con las cookies que tienen asociado
el parámetro path.
Netscape Communicator 4.05 y Microsoft Internet Explorer 3.x
funcionan aparentemente de manera incorrecta cuando no se
especifican los parámetros path y time.