<?php
 // Suppression des cookies
 setcookie('PersonneObj');
 ?>
 <!DOCTYPE html>
 <html>
  <head> <!-- Entête HTML -->
    <meta charset="utf-8" />
    <title>Gestion des cookies</title>
  </head>
  <body>
  <?php
  define("WEB_EOL","<br/>");
  class CKPersonne {
    // -- Les propriétés  --
    private $_Nom           ;
    private $_Prenom        ;
    private $_Age           ;
    private $_Horodatage    ;
    // -- Constructeur --
    function __construct($n,$p,$a,$h)
    { $this->_Nom        = $n ;
      $this->_Prenom     = $p ;
      $this->_Age        = $a ;
      $this->_Horodatage = $h ;
    }
    // ------------------------------  
    // -- __get et __set méthodes magiques --
    public function __get($propriete) {
     if (property_exists($this, $propriete)) {
       return $this->$propriete;
     }
    }
   // ------------------------------  
   public function __set($propriete, $valeur) {
     if (property_exists($this, $propriete)) {
       if ($propriete=="_Age") {
           $this->_Age=intval(trim($valeur));
       }   
       else {
         $this->$propriete = trim($valeur);
       }   
     }   
   }
  }
  date_default_timezone_set("Europe/Paris");
  // Lecture des cookies
  if ((isset($_COOKIE['PersonneObj'])) && (!empty($_COOKIE['PersonneObj'])))
  {
   echo "Lecture des Cookies  : ".WEB_EOL   ;
   $UnePersonne = unserialize($_COOKIE['PersonneObj']) ;
   // Sécurisation contre l'injection HTML
   $UnePersonne->_Nom    = strip_tags($UnePersonne->_Nom)    ;
   $UnePersonne->_Prenom = strip_tags($UnePersonne->_Prenom) ;
   $UnePersonne->_Age    = strip_tags($UnePersonne->_Age)    ;
   // Affichage
   echo "Nom : ".$UnePersonne->_Nom.WEB_EOL;
   echo "Prénom : ".$UnePersonne->_Prenom.WEB_EOL;
   echo "Age : ".$UnePersonne->_Age.WEB_EOL;
   echo "Date d'expiration : ".date("d-M-Y",$UnePersonne->_Horodatage).WEB_EOL;
  }
  else
   echo "Auncun cookie nomm&eacute; :  PersonneObj".WEB_EOL;
  ?>
 </body>
</html>