クッキーの送信

広告

クッキーはクライアント側にデータを保存するためのものです。例えば一度ホームページを閲覧したクライアントに対してクッキーを送信して保存しておいてもらえば、次にホームページにアクセスがあった時にクッキーがあるかどうかを確認することで初めての訪問者なのかどうか調べることができます。

そこでまずホームページにアクセスがあった時に、クライアントにクッキーを送信して保存してもらう方法を確認します。setcookie関数を使います。

setcookie
bool setcookie ( string name [, string value [, int expire [, string path
     [, string domain [, int secure]]]]] )
setcookie() は、その他のヘッダ情報と共に 送信するクッキーを定義します。
ほかのヘッダ情報と同様に、 クッキーは、スクリプトによる他のあらゆる出力
よりも前に送信される必要があります。もしもこの関数をコールする前に何らか
の出力がある場合には、setcookie()は失敗し FALSE を返します。setcookie()
が正常に実行されると、TRUE を返します。この関数はユーザーがクッキーを受
け入れたかどうかを示すことはしません。

パラメータ:
  name  クッキーの名前
  value  クッキーの値
  expire  クッキーの有効期限
  path  サーバー上での、クッキーを有効としたいパス
  domain  クッキーが有効なドメイン
  secure  1をセットすると セキュアなHTTPS接続の場合にのみクッキーが
    送信されるようになります。 デフォルトは0です
返り値:
  正常に実行されるとTRUE

基本となるのはクッキーの名前と値です。例えば「visited」と言う名前のクッキーを作成し、値に訪問回数である「1」を書き込む場合は下記のようになります。

<?php
    setcookie("visited", 1);
?>
サンプルコード

では実際に試してみます。

<?php
    $flag = setcookie("visited", 1);
?>

<html>
<head><title>PHP TEST</title></head>
<body>

<?php
    if ($flag){
        print('<p>クッキーを書き込みました</p>');
    }else{
        print('<p>クッキーの書き込みに失敗しました</p>');
    }
?>

</body>
</html>

上記ファイルをWWWサーバに設置しブラウザ経由で見ると下記のように表示されます。

PHPでクッキーの送信

これでクライアント側にクッキーを書き込むことが出来ました。次のページで今度はクライアント側に保存されたクッキーの値を読み取ってみます。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。