Ok, tengo un conjunto de cookies, y puedo verlo claramente si voy a datos privados en Firefox ... vale, así que cuando lo echo en una página en cierto directorio funciona, (www.example.com/dir), pero en la página de índice del sitio (www.example.com) no se repetirá, dice que la cookie no está configurada. Sí, tengo las cookies habilitadas, sí, intenté borrar el caché y todo eso. ¿Algunas ideas? PHP por errorCookies que no funcionan en diferentes páginas
Respuesta
¿En qué directorio se encuentra cuando se establece la cookie?
Desde el, la mía PHP manual on setcookie() énfasis:
Ruta
La ruta en el servidor en el que estará disponible en la cookie. Si se establece en '/', la cookie estará disponible dentro de todo el dominio. Si se establece en '/ foo /', la cookie solo estará disponible en el directorio/foo/y en todos los subdirectorios, como/foo/bar/of domain. El valor predeterminado es el directorio actual que la cookie se está estableciendo en.
Debe verificar la ruta de acceso de la cookie.
Si no es '/'
, ¡hay una respuesta!
cookies se pueden unir a un dominio específico, subdominio, trayectoria, y el protocolo (HTTP/HTTPS). Es necesario especificar la ruta de acceso al establecer la cookie en PHP:
setcookie("TestCookie", "Value", time()+3600 , '/');
El cuarto parámetro se une a la raíz del sitio y que estará disponible en cualquier subdirectorio del sitio principal.
Si desea que esté disponible en el dominio principal y cualquier subdominio, proporcione el quinto parámetro así:
setcookie("TestCookie", "Value", time()+3600 , '/', '.example.com');
Ahora se podrá leer en:
www.example.com
example.com/newdir
awesome.example.com/newdir
Agregar el '/', '.example.com' al final resolvió este problema para mí – Nate
Debe configurar $ ruta a/en setcookie()
, si desea acceder a ella en todos los directorios
Establezca su opción de ruta; el valor predeterminado es el directorio actual en el que se está configurando la cookie. Dado que está configurando la cookie en el directorio/directorio, solo está disponible dentro de ese directorio o debajo de él.
Puede solucionar esto estableciendo explícitamente la ruta, es decir.
setcookie(name,value,expire,path,domain,secure)
Establezca la ruta a "/".
Escribo WAY too slow. – Erik
Sí, inténtelo, yo también estaba enfrentando este problema pero resuelto por el siguiente código.
setcookie("TestCookie", "Value", time()+3600 , '/');
¡Las cookies se deben establecer antes de la salida de página! Como las secuencias de comandos son enviadas por el script al navegador en los encabezados HTTP, antes de enviar su página, deben establecerse en antes de enviar una sola línea de HTML o cualquier otra salida de la página. En el momento en que envía cualquier tipo de salida, está señalando el final de los encabezados HTTP. Cuando eso sucede, ya no puede establecer ninguna cookie. Si lo intenta, la función setcookie() devolverá FALSE, y la cookie no se enviará.
Lea esto: http://www.thesitewizard.com/php/set-cookies.shtml –
setcookie('cookie_username', $cookie_username, time() + (86400 * 30), "/"); // 86400 = 1 day, '/' denotes cookie available in entire directory.
y en otra página:
$username = $_COOKIE['cookie_username'];
También asegúrese de que el navegador no esté bloqueando las cookies.
Si desea utilizar cookies en la sub dominio también:
setcookie('cookie_username', $cookie_username, time() + (86400 * 30), "/", ".subdomain.com"); // 86400 = 1 day, '/' denotes cookie available in entire directory.
- 1. ¿Cómo funcionan las cookies?
- 2. ¿Cómo funcionan las aplicaciones que generan imágenes de páginas web?
- 3. diferentes dominios a diferentes páginas en IIS7
- 4. ¿Los hipervínculos WPF solo funcionan en páginas?
- 5. Almacenamiento y envío de cookies http que no funcionan en la aplicación PhoneGap
- 6. Directivas IP diferentes a diferentes páginas en IIS7
- 7. jqGrid: Cómo utilizar multiselect en diferentes páginas
- 8. Anclajes Safari en enlaces que no funcionan
- 9. Máscaras que no funcionan en Gecko
- 10. Enlaces de Phonegap que no funcionan
- 11. cajas flexibles CSS3 anidadas que no funcionan
- 12. SampleSyncAdapter Puntos de interrupción que no funcionan
- 13. log4net propiedades personalizadas que no funcionan
- 14. Ratón Entrar ¿Dejar mensajes que no funcionan?
- 15. HttpWebRequest Cookies no configuradas
- 16. Ejemplos básicos de Node.js que no funcionan en Windows 7
- 17. sincronizar cookies y sesiones en diferentes subdominios (asp.net)
- 18. páginas de error personalizadas en diferentes áreas en ASP.NET MvC3
- 19. Mis cookies solo están disponibles en las páginas PHP en las que están configuradas, ¿es esto normal?
- 20. páginas Web que simplemente páginas demasiada materia
- 21. Activos que funcionan en el subdominio 'estático'
- 22. ¿Cómo utilizo las cookies en dos dominios diferentes?
- 23. ¿Cómo funcionan los diferentes ámbitos de beans en el servidor?
- 24. Cómo hacer que Varnish ignore, no elimine las cookies
- 25. Fiddler: mostrar solo que los siguientes hosts no funcionan
- 26. jQuery Mobile mismo pie de página en páginas diferentes
- 27. Las cookies de Tomcat no funcionan a través de ProxyPass VirtualHost
- 28. ¿Funcionan los bloqueos estáticos en diferentes clases de niños?
- 29. Eventos de Phonegap que no funcionan en iphone
- 30. variables globales en php que no funcionan como se esperaba
Usted 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