如何获得cookie值

Ham*_*ved 11 php cookies

创建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 !";
Run Code Online (Sandbox Code Playgroud)

现在获取cookie值

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

if(isset($NAME))
{
      if($NAME=='USERNAME')
      {
          echo "success";
      }
      else
     {
          echo "error";       
     }    
 }
Run Code Online (Sandbox Code Playgroud)

请帮我 !

结果

为什么他们创建自动随机值如:u8omuum6c9pkngrg4843b3q9m3).但我想得到我的原始COOKIE价值哪个是"HAMZA"?????

小智 20

这是cookie创建的格式

句法

setcookie(name, value, expire, path, domain, secure, httponly);
Run Code Online (Sandbox Code Playgroud)

所以第一个变量是你的cookie名称

你可以通过使用来阅读

$_COOKIE['YOUR COOKIE NAME'];
Run Code Online (Sandbox Code Playgroud)


Dje*_*arm 6

函数session_name将为您提供哈希值,它通常是会话标识符。似乎您想将USERNAME存储在会话中,不是吗?在这种情况下,您应该使用$ _SESSION数组。

代码示例:

setcookie($_SESSION['USERNAME'],'HAMZA',1,
      isset($params['path']),
      isset($params['domain']),
      isset($params['secure']),
      isset($params['httponly']));
Run Code Online (Sandbox Code Playgroud)

您可以这样获得:

$myCookie = $_COOKIE[$_SESSION['USERNAME']];
Run Code Online (Sandbox Code Playgroud)

但是从第二个代码中,您还不清楚要获得什么。如果您想索要$ _COOKIE ['USERNAME']并获得“ HAMZA”,则应该这样设置:

setcookie('USERNAME','HAMZA',1,
      isset($params['path']),
      isset($params['domain']),
      isset($params['secure']),
      isset($params['httponly']));
Run Code Online (Sandbox Code Playgroud)

当您检索它时,$ NAME =='USERNAME'毫无意义,因为它就像$ NAME =='HAMZA':

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

if(isset($NAME))
{
      if($NAME=='HAMZA')
      {
          echo "success";
      }
      else
     {
          echo "error";       
     }    
 }
Run Code Online (Sandbox Code Playgroud)