J'ai une question théorique ..
Je sais que vous pouvez obtenir/lire un cookie PHP avec JavaScript en utilisant: document.cookie
Existe-t-il une manière similaire de faire cela en PHP?
PHP peut-il obtenir/lire un cookie créé en JavaScript? Si oui, comment pouvez-vous le faire?
Vous pouvez utiliser $_COOKIE
, le superglobal. Référencez-le simplement comme n'importe quel tableau, où $_COOKIE['key_name']
est le cookie auquel vous souhaitez accéder.
Voir la PHP documentation de l'API } _.
Pour les voir, vous pouvez faire ceci:
foreach($_COOKIE as $v){
echo htmlentities($v, 3, 'UTF-8').'<br />';
}
Pour un seul cookie, il suffit de:
echo htmlentities($_COOKIE['cookieName'], 3, 'UTF-8');
N'hésitez pas à changer le style de citation (3 étant ENT_QUOTES) et le jeu de caractères en fonction de vos besoins.
Remarque: Le cookie doit avoir été défini sur le même domaine pour que vous puissiez y accéder.
La réponse de PHPglue est bonne, mais contient plusieurs fautes de frappe. Cela ne vous dit pas non plus quel est l'index, ce qui peut être très utile.
foreach($_COOKIE as $key=>$value)
{
echo "key: ".$key.'<br />';
echo "value: ".$value.'<br />';
};
Mon problème était que je plaçais mon cookie en Javascript avec des points dans le nom. Ceux-ci étaient en train d'être convertis en soulignés. Par exemple, le nom du cookie facebookLogin.myapp.com a été remplacé par facebookLogin_myapp_com. Une fois que j'ai exécuté le code ci-dessus, j'ai pu voir que le nom était différent de celui attendu et lire le nom correctement de PHP.
Je pense que c'est un bon moyen de définir toutes les informations dans un cookie et d'utiliser un symbole entre vos informations. Ensuite, utilisez par exemple ceci dans "PHP" après le cookie défini par JavaScript
$mystr = print_r($_COOKIE);
$way=explode(";",$mystr);
Javascript peut configurer les cookies de deux manières (de ma connaissance) window.cookie
et document.cookie
. si utiliser window.cookie
php ne peut pas évaluer le cookie, php ne peut qu'évaluer le cookie défini par document.cookie
.
javascript
document.cookie = 'nom = valeur';
PHP
print_r ($ _ COOKIE);
vous verrez votre cookie créé par javascript à l'intérieur, entre autres, créé par php.
ou
echo $ _COOKIE ['nom'];
Évaluer les cookies php avec javascript Utiliser le même document.cookie
pour évaluer les cookies de documents (php) et les cookies javascript créés avec document.cookie.
Javascript seul peut évaluer window.cookies créés cookies