有限会社ミスティーネットPerl・CGI講座 パール・CGIレッスン MISTY-NETレンタルサーバー・PERLプログラミング講座 CGI&PERL究極のレシピ

管理運営:有限会社ミスティーネット

| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 |
Perl言語リファレンス

ミスティーネットPerl・CGI講座/基本編
ミスティーネットPerl・CGI講座/基本編
始めに 始めに
変数について 変数について
処理の制御1 処理の制御1
処理の制御2 処理の制御2
配列の処理 配列の処理
ハッシュの処理 ハッシュの処理
数値の扱い 数値の扱い
文字の扱い 文字の扱い
時間の処理 時間の処理
サブルーチン サブルーチン
ファイルの処理 ファイルの処理
ディレクトリの処理 ディレクトリ処理
CGIについて CGIについて
漢字の処理 漢字の処理
    (文字コード)
Cookie の処理 Cookie の処理
正規表現1 正規表現1
正規表現2 正規表現2
演算子について 演算子について
ライブラリ ライブラリ
デバッグ デバック
環境変数について 環境変数
ミスティーネットPerl・CGI講座/基本編

ミスティーネットPerl・CGI講座/応用編
ミスティーネットPerl・CGI講座/応用編
カウンターを作ってみよう カウンターを
     作ってみよう!
ミニゲームを作ってみよう ミニゲームを
     作ってみよう!
ミスティーネットPerl・CGI講座/応用編

ミスティーネットPerl・CGI講座/WEB講座一覧
ミスティーネット
HTML講座 HTML講座
スタイルシート講座 スタイルシート講座
JavaScript講座 JavaScript講座
UNIXコマンド講座 UNIXコマンド講座

ミスティーネット
ラブラブメールでツーショット

人気サイトランキング

人気サイトランキング

8daysランキング

  HOME >> Cookie の使い方
  1. Cookie について
  2. Cookie の書込み
  3. Cookie の読み込み
  4. Cookie の削除
■ Cookie について
Cookie はブラウザー上にデータを記録しておくことが出来る機能です。
データは「名前=値」の形で記録して、次回アクセス時に記録したデータを読み出して処理を行ないます。
記録したデータを読みこむことで、訪問者を特定してログイン処理をスキップしたり、訪問履歴を参照したり、アクセスカウンターとして利用することも出来ます。



■ Cookie の書込み
Cookie にデータを書き込む場合は、「Set-Cookie: 名前=値; 名前=値; ・・・」の形式でHTTPのヘッダ部に記述してください。

クッキーをセットする場合には、クッキーの有効期限を設定しましょう。
有効期限を設定しない場合には、ブラウザーを閉じるとクッキーが消えてしまう為、次回アクセス時にクッキーを読みこめません。
有効期限は、「expires=DATE」の形で指定します。「DATE」の内容はGMTの時間データです。
[DATEの書式] Sun, 21-Feb-2002 02:22:54 GMT


これは、どこから読みだした際に読み出しが可能となるかを設定するものです。
省略時は、記録した場所がセットされます。
[書式] path=データのパス

クッキーがどのドメインで有効になるかどうかを設定します。
省略時は現在のドメインがセットされます。
[書式] domain=ドメイン名
# 有効期限を3時間に指定
($sec, $min, $hour, $mday, $mon, $year, $wday) = gmtime(time + 60*60*3);
@mons = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
$date = sprintf("%s, %02d\-%s\-%04d %02d:%02d:%02d GMT",
   $week[$wday], $mday, $mons[$mon], $year+1900, $hour, $min, $sec);

print >>END_HTML;
Content-Type: text/html
Set-Cookie: domain=sample.com; path=/; expires=$date; login=user;

<html>
ミスティーネットPerl・CGI講座 − MISTY-NET − ・・・





■ Cookie の読み込み
クッキーを読みこむ場合には、環境変数 $ENV{'HTTP_COOKIE'} からクッキーを取得できます。
取得したクッキーは、「 名前=値;名前=値;名前=値 ・・・ 」 の形となっていますので これを扱いやすい形(ハッシュ形式) にして利用します。


$cookies = $ENV{'HTTP_COOKIE'};    ← ブラウザーからクッキーを取得する

# 取得したクッキーを整形する
@pairs = split(/;/, $cookies);
foreach my $pair (@pairs) {
   my ($name, $value) = split(/=/, $pair);
   $name =~ s/ //g;
   $COOKIE{$name} = $value;
}
ここでは、「$COOKIE{名前} = 値」 の形のハッシュ形式にしてクッキーデータを取り出しています。




■ Cookie の削除
ブラウザーに書き込んだクッキー情報を削除するには、有効期限に過去の時刻を指定すると削除することが出来ます。


[ 過去の時刻でクッキーを書き込む(クッキーの削除) ]
print >>END_HTML;
Content-Type: text/html
Set-Cookie: name=; expires=Thu, 1-Jan-1970 00:00:00 GMT;

<html>
ミスティーネットPerl・CGI講座 − MISTY-NET − ・・・





← 前のページへ戻る 次のページへ →


| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問い合わせ | ミスティーネット |
(C)Copyright 2002 有限会社ミスティーネット Inc. All Right Reserved.