2010-08-13 9 views
2

Je ne suis même pas sûr de savoir comment décrire ce que j'essaie de faire, car je ne connais pas grand-chose des cookies, mais voilà.Rassembler les cookies

Est-il possible d'utiliser PHP pour collecter un cookie (ou un fichier cookie) depuis le cache du navigateur, l'enregistrer dans la base de données, puis effacer le cache et le réenregistrer là où il était?

En quoi cela impliquerait-il? Lire à partir du cache du navigateur? Ai-je besoin de lui indiquer le chemin à suivre pour enregistrer les cookies, ou peut-il le faire automatiquement en communiquant directement avec le navigateur? Est-ce que PHP peut gérer ça?

+0

'Je ne sais pas beaucoup sur cookies'. c'est bon. Mais savez-vous quelle tâche pratique vous voulez accomplir? Pourquoi avez-vous besoin de tout ce gâchis de cookie? Si oui, vous feriez mieux de dire votre * but * au lieu de * la façon * que vous choisissez. –

+0

Les cookies ne sont pas stockés dans le «cache» du navigateur - c'est le terme utilisé pour stocker les documents, scripts, css, images, etc. pour un accès rapide. Les cookies sont généralement stockés dans un fichier de cookie ou une base de données, ce qui est assez distinct du cache. – JAL

Répondre

2

Obtenir des données de cookie:

<?php 
echo 'Hello ' . htmlspecialchars($_COOKIE["name"]) . '!'; 
?> 

En supposant que le cookie « nom » a été mis en plus tôt L'exemple ci-dessus quelque chose de similaire à:

Hello Hannes! 

Vous pourriez itérer sur tous les cookies dans le matrice avec:

foreach($_COOKIES as $name => $cookie){ 
    echo "Cookie: $name has a delicious center consisting of: "; 
    print_r($cookie); 
} 

http://www.php.net/manual/en/reserved.variables.cookies.php

les cookies Set:

http://www.php.net/manual/en/function.setcookie.php

4

En PHP, vous pouvez lire tous les cookies du système de l'utilisateur (que vous êtes autorisé à lire) à partir du tableau $_COOKIE. Vous pouvez effacer ces cookies sur le système de l'utilisateur en utilisant setcookie() et en les définissant à une chaîne vide, bien que vous ayez souvent besoin de connaître le nom d'hôte exact et le chemin d'accès que les cookies ont précédemment été définis, et de donner les mêmes, être en mesure de les supprimer correctement.

Vous pouvez ensuite redéfinir les cookies aux valeurs que vous avez précédemment obtenues du tableau $ _COOKIE.

Pas tous dans la même page bien sûr.

2

PHP n'a rien à voir avec l'ordinateur du client en général et le cache du navigateur en particulier.
PHP ne peut obtenir que le cookie, quel navigateur envoyé par son libre arbitre et qui ont été définis par le même serveur auparavant.

Bien sûr, un serveur peut envoyer un cookie vide ou expiré qui est égal à supprimer, ou le même cookie avec une autre valeur