2012-03-13 14 views
7

No puedo acceder a las cookies desde ninguna página que no sea la página en la que están configuradas. Miré print_r($_COOKIE) en diferentes páginas y la única variable común entre páginas es $_COOKIE['PHPSESSID'].Mis cookies solo están disponibles en las páginas PHP en las que están configuradas, ¿es esto normal?

Estoy desarrollando en un servidor local de pruebas XAMPP. ¿Hay algún ajuste que deba cambiar en PHP.ini o este comportamiento normal para las cookies? Lo siento, soy un poco nuevo en esto y tenía la impresión de que las cookies eran accesibles en todo el sitio.

yo pongo las galletas como:

setcookie("user", "Dave Schmave", time()+60*60*24*120); 

Cualquier ayuda sería muy apreciada. Gracias

+0

Puede encontrar ['$ cookie-> setPath ($ path)'] (https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L104) útil, como se encuentra en [esta biblioteca independiente] (https://github.com/delight-im/PHP-Cookie). – caw

Respuesta

11

intente configurar la ruta de la cookie a la raíz:

setcookie("user", "Dave Schmave", time()+60*60*24*120, '/'); 

también lo es en el mismo dominio? El acceso a través de HTTPS también afectará sus cookies.

+0

Eso parece hacerlo. ¿Es esto algo que podría cambiarse en una configuración de servidor global? Mi archivo php.ini session.cookie_path está establecido en '/', pero supongo que todavía necesitaré declarar la raíz en setcookie(). Gracias por su ayuda1 –

+0

tal vez algo está sobreescribiendo esta configuración. Intente colocar un phpinfo() en la ubicación de su script y compruebe la configuración :) –

+0

Ah, he leído mal la API y estaba usando mi dominio 'domain.com' aquí en lugar de la ruta. –

Cuestiones relacionadas