web-dev-qa-db-fra.com

Comment obtenir une valeur de cookie

Créer un cookie

session_start();
$params = session_get_cookie_params();    
setcookie(session_name('USERNAME'),'HAMZA',1,
      isset($params['path']),
      isset($params['domain']),
      isset($params['secure']),
      isset($params['httponly']));

session_regenerate_id(true);
echo "COOKIE IS CREATED SUCCESSFULLY !";

Récupération de la valeur du cookie

session_start();
$NAME=$_COOKIE['USERNAME'];
echo $_COOKIE["USERNAME"];

if(isset($NAME))
{
      if($NAME=='USERNAME')
      {
          echo "success";
      }
      else
     {
          echo "error";       
     }    
 }

Aidez-moi, s'il vous plaît !

Résultat

Pourquoi ils créent une valeur aléatoire automatique Comme: u8omuum6c9pkngrg4843b3q9m3) . Mais je veux obtenir ma valeur COOKIE originale qui est "HAMZA" ?????

6
Hamza Javed

C'est le format de création de cookie

Syntaxe

setcookie(name, value, expire, path, domain, secure, httponly);

alors la première variable est votre nom de cookie 

vous pouvez lire ceci en utilisant

$_COOKIE['YOUR COOKIE NAME'];
12
user4904106

La fonction nom_session donnera le hash qui est votre identifiant de session . Il semble que vous souhaitiez que USERNAME soit stocké en session, n'est-ce pas? Dans ce cas, vous devriez utiliser le tableau $ _SESSION.

Exemple de code:

setcookie($_SESSION['USERNAME'],'HAMZA',1,
      isset($params['path']),
      isset($params['domain']),
      isset($params['secure']),
      isset($params['httponly']));

Et vous pouvez l'obtenir comme ceci:

$myCookie = $_COOKIE[$_SESSION['USERNAME']];

Mais dans votre deuxième code, ce que vous voulez obtenir n'est pas clair… Si vous voulez demander $ _COOKIE ['USERNAME'] et obtenir 'HAMZA', vous devez le définir comme suit:

setcookie('USERNAME','HAMZA',1,
      isset($params['path']),
      isset($params['domain']),
      isset($params['secure']),
      isset($params['httponly']));

Et lorsque vous le récupérez, $ NAME == 'USERNAME' n'a aucun sens, car il ressemblera à $ NAME == 'HAMZA':

$NAME=$_COOKIE['USERNAME'];
echo $_COOKIE['USERNAME'];

if(isset($NAME))
{
      if($NAME=='HAMZA')
      {
          echo "success";
      }
      else
     {
          echo "error";       
     }    
 }
1
Djengobarm