web-dev-qa-db-fra.com

Obtenir/Lire un cookie Javascript avec PHP

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?

11
Spoofy

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 } _.

15
jacobroufa

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.

1
PHPglue

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.

0
Justin Domnitz

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);
0
Seyed Ali Roshan

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

0
chokey2nv