Précédent Suivant

Sessions et Cookies

Accéder à un cookie

Deux méthodes permettent d’accéder à un cookie :

une variable globale est associée au cookie : $nom_cookie qui contient la valeur_cookie ;

la variable d’environnement $_COOKIE [nom_cookie] est un tableau associatif global qui ne contient que des variables provenant de cookies, ce qui permet d’avoir une information fiable sur l’origine.

Exemple :

<?php
   
if (!isset($_COOKIE['cookie'])) { setcookie("cookie", "chocolat");
        
echo "le cookie \$cookie = chocolat a été créé : <br>";
        
echo "vous allez pouvoir y avoir accès";
        
echo "<br><a href = \"cookie1.php\">accès</a>";
   
}
   
else {
        
echo "\$cookie = ".$_COOKIE['cookie'].", <br>";
        
echo "vous pouvez maintenant utiliser le cookie";
        
echo "<br><a href = \"cookie2.php\">utilisation</a>";
   
}
?>

Supprimer un cookie

Un cookie peut être supprimé à l’aide de la fonction setcookie() dotée d’un unique paramètre :

int setcookie(string nom_cookie);

 

Exemple :

<?php
    
setcookie ("cookie","");
    
if (!isset($_COOKIE['cookie'])) {
         
echo "\$cookie a été détruit";
         
echo "<br><a href = \"cookie.php\">recommencer</a>";
    
} else {

         
echo "\$cookie va être détruit";
         
echo "<br><a href = \"cookie4.php\">destruction</a>";
    
}
?>

 

Exemples d’utilisation des cookies

Script de cookie.php

<?php
   
if (!isset($_COOKIE['cookie'])) { setcookie("cookie", "chocolat");
        
echo "le cookie \$cookie = chocolat a été créé : <br>" ;
        
echo "vous allez pouvoir y avoir accès";
        
echo "<br><a href = \"cookie1.php\">accès</a>";
   
}
   
else {
        
echo "\$cookie = ".$_COOKIE['cookie'].", <br>";
        
echo "vous pouvez maintenant utiliser le cookie";
        
echo "<br><a href = \"cookie2.php\">utilisation</a>";
   
}
?>

Script de cookie1.php

<?php
    
$cookie=$_COOKIE['cookie'];
   
echo "\$cookie est toujours $cookie<br>";
   
echo "cette valeur va changer<br>";
   
echo "<a href = \"cookie3.php\">suite</a>";
?>

Script de cookie2.php

<?php
        
echo "\$cookie est toujours ".$_COOKIE['cookie']."<br>";
        
echo "cette valeur va changer<br>";
        
echo "<a href = \"cookie3.php\">suite</a>";
?>

Script de cookie3.php

<?php
    
setcookie ("cookie","café");
    
if ($_COOKIE['cookie'] == "chocolat") {
        
echo "le changement n'a pas eu encore lieu";
        
echo "<br>la valeur ".$_COOKIE['cookie']." de \$cookie va changer";
        
echo "<br><a href = \"cookie3.php\">changement</a>";
    
}
    
elseif ($_COOKIE['cookie'] == "café") {
             
echo "le changement a eu lieu";
              
echo "<br>la nouvelle valeur de \$cookie est ".$_COOKIE['cookie'].", ";
             
echo "nous allons maintenant détruire le cookie";
             
echo "<br><a href = \"cookie4.php\">destruction</a>";
    
}
?>

Script de cookie4.php

<?php
         
setcookie ("cookie","");
        
if (!isset($_COOKIE['cookie'])) {
                    
echo "\$cookie a été détruit";
                    
echo "<br><a href = \"cookie.php\">recommencer</a>";
        
} else {
                   
echo "\$cookie va être détruit";
                   
echo "<br><a href = \"cookie4.php\">destruction</a>";
                
}
?>

 

Exercice : (Voir annexe, Les cookies)

Créer 4 pages pour manipuler les cookies.
Pour chaque page, permettez à l'utilisateur, à l'aide d'un lien hypertexte, de passer a la page suivante.
Indiquez sur chaque page l'état et la valeur du cookie, comme indiqué ci-dessous.
la première :
Créer le fichier cookie1.php qui vérifiera l'éxistance de la variable cookie ($cookie) ayant la valeur "Je mange du poisson".
Si elle n'existe pas, elle sera créée et l'utilisateur informé. Un lien lui permettra de rappeller la page.
Si elle exite un message informera l'utilisateur et un lien lui permettra de passer à la page suivante.
Exemple :

le cookie $cookie = "Je mange du poisson" a été créé :
vous allez pouvoir y avoir accès
accès
ou
$cookie = Je mange du poisson,
vous pouvez maintenant utiliser le cookie

utilisation

 
 la seconde :
Créer le fichier cookie2.php qui informera l'utilisateur de la valeur du cookie précédement créer et lui indiquer qu'en cliquant sur lun lien il changara sa valeur.
Exemple :

"$cookie = Je mange du poisson",
vous pouvez maintenant utiliser le cookie
utilisation
ou
$cookie est toujours "Je mange du poisson"
cette valeur va changer

suite


la troisième :
Créer le fichier cookie3.php qui déterminera si la valeur du cookie a changé, si oui l'utilisateur sera averti qu'en cliquant sur le lien sa valeur va changée
'' si non l'avertir que le changement a eu lieu et qu'en clien sur le lien le cookie sera détruit.
Exemple :

le changement n'a pas eu encore lieu
la valeur "Je mange du poisson" de $cookie va changer

changement
ou
le changement a eu lieu
la nouvelle valeur de $cookie est "Je préfere la viande",
nous allons maintenant détruire le cookie

destruction


la quatrième :
Créer le fichier cookie4.php qui déterminera si le cookie a été détruit, si oui on informe l'utilisateur et on insserre un lien permettant de recommencer,
si non, on l'informe qu'en cliquant sur le lien le cookie sera détruit.
Exemple :

$cookie va être détruit

 destruction
ou
$cookie a été détruit

recommencer

 

Précédent Suivant