cqgclub
infos logo rss
Statistiques Stats depuis le 8 juin 2007.
Visiteurs connectés actuellement : 3
Visiteurs uniques : 1358
Nombre de Visiteurs : 3094
Total des pages vues : 33076
Record des visites simultanées
Le 30/10/2009) : 8


Les cookies

Nous allons voir les bases des cookies, d'ailleurs il ne manquera pas grand chose à savoir, juste quelques points à approfondir et de l'astuce pour les utiliser au mieux.

Le site se trouve sur localhost soit http://localhost.

Nous utiliserons le répertoire test soit http://localhost/test

Créons tout d'abord un fichier testcookie.php dont l'adresse est http://localhost/test/testcookie.php et le contenu :


<html><body>
Nous allons créer un cookie s'appelant test et dont la valeur est cookieOK.<br>
observez ici : valeur de test = <?php echo $_COOKIE['test'];?>.<br>
Créons un cookie en cliquant sur <a href="makecookie.php">makecookie.php</a><br>
makecookie.php possède un header qui redirigera votre navigateur vers cette page avec le cookie, ainsi le résultat s'affichera à la ligne "observez ici...".
</body></html>

on crée le fichier makecookie.php dans le répertoire test et dont le contenu est :


<?php
//création du cookie. il suffit de se connecter sur l'url http://localhost/test/testcookie.php (cette page) pour avoir le cookie
//setcookie("variable", "valeur");//variable est la variable du cookie et s'écrit sans le $
setcookie("test", "cookieOK");//ce cookie est récuperé dans la page testphp.php
header("location:".$_SERVER['HTTP_REFERER']);
?>

Bon inutile de dire ce qu'il se passe, tout est bien expliqué (je crois) et bien commenté. Et puis on va pas raconter la fin de l'histoire quand même.
Cependant, ce cookie expire à la fin de la session.
nous allons donc rajouter une date d'expiration exprimée en secondes.
Donc 60 pour une minute, 60x60=3600 pour une heure et en gros 60x60x24x365=31536000 pour un an .


<?php
setcookie("test", "cookieOK"time() + 31536000);/*ce cookie est récuperé dans la page testphp.php
et sera effacé de l'ordinateur du client dans 1 an*/

header("location:".$_SERVER['HTTP_REFERER']);
?>

Voilà qui est mieux.
Créons maintenant un fichier testcookie2.php mais plaçons le à la racine du site soit http://localhost/testcookie2.php et dont le contenu est :


<html><body>
Nous avons créé un cookie s'appelant test et dont la valeur est cookieOK.<br>
observez ici : valeur de test = <?php echo $_COOKIE['test'];?>.<br>
<br>retour à <a href="test/testcookie.php">test/testcookie.php</a>
</body></html>

Modifions testcookie.php en rajoutant cette ligne juste avant </body><:html> :


<br><br>Allons voir <a href="../testcookie2.php">http://localhost/testcookie2.php</a>

Le cookie est créé, il est encore valable puisqu'il expire dans un an, mais la valeur cookieOK ne s'affiche pas dans testcookie2.php, car ce cookie n'est valable que dans le répertoire test.
Nous allons donc lui signifier d'être valable sur tout le site, soit à partir de la racine, soit pour http://localhost/
Modifions makecookie.php, en voici le contenu :


<?php
setcookie("test", "cookieOK"time() + 31536000, '/');/*ce cookie est récuperé dans la page testphp.php,
sera effacé de l'ordinateur du client dans 1 an et est valable sur tout le site*/

header("location:".$_SERVER['HTTP_REFERER']);
?>

Maintenant vous pouvez revenir à test/testcookie.php et tester en cliquant sur le premier puis le deuxieme lien. La valeur cookieOK s'affiche sur les deux pages.

On peut encore rajouter des éléments.
Le premier a pour effet que le cookie ne soit utilisable que pour le domaine indiqué. Ensuite il s'agit de signifier au cookie qu'il utilise une liaison sécurisée.
Par défaut il ne l'est pas :


setcookie("test", "cookieOK"time() + 31536000, '/', 'http://localhost', '0');

Je ne suis jamais arrivé à utiliser le nom de domaine dans le cookie mais de toute façon cela se fait automatiquement, on peut donc laisser l'attribut domaine vide comme ci-dessous. Pour que le cookie soit sécurisé il faut mettre 1 à la place de zero.


setcookie("test", "cookieOK"time() + 31536000, '/', '', '1');
 

Bon là le cookie ne fonctionne pas, je n'utilise pas de liaison sécurisée.


 

Bon c'est pas fini, quoique, et je me demande si un cours par exemples de test fonctionne. arf.

bouton de style marron bouton de style rouge bouton de style bleu bouton de style rose bouton de style vert bouton de style orange Votre @IP : 38.107.191.96