如何获得cookie值

时间:2015-06-01 09:58:03

标签: 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 !";

现在获取cookie值

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

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

请帮助我!

结果

为什么他们创建自动随机值如:u8omuum6c9pkngrg4843b3q9m3)。 但我想得到我的原始COOKIE值,这是“HAMZA”?????

4 个答案:

答案 0 :(得分:18)

这是cookie创建的格式

语法

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

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

您可以使用

阅读此内容
$_COOKIE['YOUR COOKIE NAME'];

答案 1 :(得分:3)

函数session_name将为您提供哈希,其中atucally是您的会话标识符。 好像你想把USERNAME存储在会话中,不是吗?在这种情况下,您应该使用$ _SESSION数组。

代码示例:

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

你可以这样得到它:

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

但是从你的第二个代码来看,你想要得到的并不是很清楚。 如果你想要$ _COOKIE ['USERNAME']并获得'HAMZA',那么你应该这样设置:

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

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

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

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

答案 2 :(得分:0)

在set_cookie.php中,我们使用setcookie()函数为用户名和密码设置了cookie。

<?php
    $username = "test user";
    setcookie('username', $username, time() + 60 * 60 * 24 * 30); // Cookie sets for 30 days
    $password = "test password";
    setcookie('password', $password, time() + 60 * 60 * 24 * 30); // Cookie sets for 30 days
    ?>
    <a href="/get_cookie.php">Click here</a> to get cookie values.

在get cookie.php中,我们首先检查有效的cookie值。如果不是,则会显示“未设置cookie”,否则会显示成功消息。

<?php
    if ($_COOKIE['username'] == "" || $_COOKIE['password'] == "")
    {
    ?>
    No cookies were set.<br>
    <?php
    }
    else
    {
    ?>
    Your cookies were set:<br>
    Username cookie value: <b><?php echo $_COOKIE['username']; ?></b><br>
    Password cookie value: <b><?php echo $_COOKIE['password']; ?></b><br>
    <?php
    }
    ?>

您也可以在这里获得帮助 https://www.etutorialspoint.com/index.php/61-set-and-get-cookie-values

答案 3 :(得分:-1)

试试这个...

<?
   $yummy = json_decode(json_encode($_COOKIE));

   if(isset($yummy->yourvar)) echo $yummy->yourvar;
?>

为什么使用 encode 和 decode ?,它用于将类型 Array 转换为 JSON 原来类型 $_COOKIE 是数组