簡體   English   中英

如何獲取cookie值

[英]How to get cookie value

創建 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”????

這是創建 cookie 的 PHP 語法:

setcookie($name, $value, $expires, $path, $domain, $secure, $httponly);

第一個變量是您的 cookie 名稱,您可以使用它來讀取值,如下所示:

$_COOKIE['YOUR COOKIE NAME'];

注意:與其他標頭一樣,cookie 必須在腳本的任何輸出之前發送。 這要求您在任何輸出(包括<html>和任何空格)之前調用此函數。
還要注意點和空格( . / ) 中的 cookie 名稱替換為下划線 ( _ )。

文檔: setcookie() , $_COOKIE[]

函數 session_name 會給你哈希,這實際上是你的會話標識符。 您似乎想將 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";       
     }    
 }

試試這個...

setcookie($cookie_name, $cookie_value, 1800, "/");

更改過期時間為:

setcookie($cookie_name, $cookie_value, time()+ 1800, "/");

試試這個...

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

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

為什么使用編碼和解碼?,它用於將類型 Array 轉換為 JSON 最初類型 $_COOKIE 是 Array

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM