Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox

Utiliser les cookies en PHP

Compatible PHP. Cliquer pour en savoir plus sur les compatibilités.Par Qwix, le 13 août 2005

Pour comprende ce tutoriel, vous aurez besoin de connaître la fonction: - setcookie

Qu'est ce qu'un cookie

Un cookie est un petit fichier texte qui est stocké sur la machine du visiteur afin de pouvoir stocker des informations en tout genre. Les cookies sont, par exemple beaucoup utilisés sur les sites de e-commerce afin de pouvoir gérer un panier d'articles.

Déposer un cookie

La méthode à utiliser pour déposer un cookie est relativement simple, en effet il vous suffit d'utiliser la fonction setcookie():

setcookie("test_nom", "bonjour à tous") ;

Récupérer la valeur d'un cookie

La méthode de récupération de la valeur d'un cookie est tout aussi simple, en effet il vous suffit de faire comme ceci: en PHP 4:

echo($_COOKIE["test_nom"]) ;

en PHP 3:

echo($HTTP_COOKIE_VARS["test_nom"]) ;

Exemple d'application Dans cet exemple nous allons voir comment gérer un site internet avec des couleurs personnalisables par le visiteur: Nous allons faire une interface extrêmement simple et dépouillée pour que vous puissiez comprendre facilement ;) Dans un premier temps on dépose le cookie:

//on dépose un cookie qui stockera les préférences de l'utilisateur:
if(isset($_GET['choix']))
{
  if($_GET['choix'] != "null")
	  setcookie("choix_couleurs", $_GET['choix']) ;
}//fin if

Et ensuite, on récupère sa valeur pour pouvoir afficher les CSS correspondantes:

//si le cookie a été déposé:
if(isset($_COOKIE['choix_couleurs']))
{
  switch($_COOKIE['choix_couleurs'])
  {
    case(1) : 
      echo("<style type=\"text/css\">
  		    <!--
   		    table {
		  	  background-color: #000066;
		    }
		    td {
		  	  background-color: #009999;
		    }
  		    .texte {
		  	  font-family: Arial, Helvetica, sans-serif;
			  font-size: medium;
			  font-style: normal;
			  font-weight: bold;
			  color: #FFFFFF;
		    }
		    -->
		    </style>") ;
    break ;
    case(2) : 
      echo("<style type=\"text/css\">
		    <!--
		    table {
		  	  background-color: #FFFFFF;
		    }
		    td {
		  	  background-color: #CCCCCC;
		    }
		    .texte {
		  	  font-family: Arial, Helvetica, sans-serif;
			  font-size: medium;
			  font-style: normal;
			  font-weight: bold;
			  color: #000000;
		   }
		    -->
		    </style>") ;
    break ;
  }//fin switch
}//fin if




Tutorial de Qwix