Tengo una cookie que uso en mi aplicación. Se ve así:Cookie PHP escribe en el dominio incorrecto
+-------+-------+-----------------------+-------+----------+
| Name | Value | Domain | Path | Expires |
+-------+-------+-----------------------+-------+----------+
| foo | bar | my.domain.tld |/ | Session |
+-------+-------+-----------------------+-------+----------+
En una sección de mi guión, basado en una cierta condición, que estoy tratando de cambiar el valor de una cookie. Estoy usando este código:
// overwrite cookie
if($condition){
setcookie("foo", "cat", 0, "/", "my.domain.tld");
}
Después, mis datos de la cookie se parece a esto:
+-------+-------+-----------------------+-------+----------+
| Name | Value | Domain | Path | Expires |
+-------+-------+-----------------------+-------+----------+
| foo | bar | my.domain.tld |/ | Session |
| foo | cat | .my.domain.tld |/ | Session |
+-------+-------+-----------------------+-------+----------+
¿Cómo es que un .
se antepondrá al dominio? Quiero sobrescribir la cookie existente.
no tiene sentido, * debe * establecerse en anything.domain.tld de lo contrario, hay un gran error en alguna parte, lo único que me atrevo a sugerir, es que vuelva a comprobar y asegúrese de que la primera cookie no es de hecho establecido en. cualquier cosa que no sea el segundo .. – nathan
Nathan, parece que no es un error tanto como podría ser una fuente común de confusión. Consulte la respuesta a continuación :) –
Puede encontrar ['$ cookie-> setDomain ($ domain)'] (https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php# L117) útil, como se encuentra en [esta biblioteca independiente] (https://github.com/delight-im/PHP-Cookie). Se encarga de normalizar el nombre de dominio que proporcionó. – caw