PHP 8.2.0 Released!

$_COOKIE

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_COOKIEHTTP クッキー

説明

現在のスクリプトに HTTP クッキーから渡された変数の連想配列です。

例1 $_COOKIE の例

<?php
echo 'Hello ' htmlspecialchars($_COOKIE["name"]) . '!';
?>

"name" というクッキーが事前に設定されているものとします。

上の例の出力は、 たとえば以下のようになります。

Hello Hannes!

注意

注意:

これは 'スーパーグローバル' あるいは自動グローバル変数と呼ばれるものです。 スクリプト全体を通してすべてのスコープで使用することができます。 関数やメソッドの内部で使用する場合にも global $variable; とする必要はありません。

add a note

User Contributed Notes 4 notes

up
67
kiril (at) atern (dot) us
6 years ago
To clarify the previously posted note:

Dots (.) and spaces ( ) in cookie names are being replaced with underscores (_).
up
67
k dot andris at gmail dot com
7 years ago
beware, dots (.) in cookie names are replaces by underscores (_)
up
0
user at NOSPAM dot example dot com
2 days ago
PHP replaces dots (.) with underscores (_). To find all original cookie names (and value) you can use $_SERVER['HTTP_COOKIE'].

For example to retrieve a cookie set with <?php setcookie('testing.dots', 'value'); ?> you may use:
<?php
    $cookies
= explode('; ', $_SERVER['HTTP_COOKIE']);
   
$allCookies = [];

    foreach(
$cookies as $cookie) {
       
$keyAndValue = explode('=', $cookie);
       
$allCookies[$keyAndValue[0]] = $keyAndValue[1];
    }

   
var_dump($allCookies);
   
/*
        array(1) {
            ["testing.dots"]=>
                string(5) "value"
        }
    */

   
echo $allCookies['testing.dots'];
?>
up
-19
axodjakov at gmail dot com
1 year ago
$_COOKIE returns an array if there are more than one cookie saved under the given key.
To Top