★ 

インデックス

 ★
★ 

プログラムの説明

 ★

CGIスクリプトの配布とプログラミングの説明

 RSS XML
  • 玄関口
  • 占い診断
  • 萌え辞典
  • オタク遊戯
  • ネット小説
  • NEW秋華
  • CGIDL
  • CGI解説
--☆INFORMATION☆--
2017年6月6日【火】20時29分41秒
【(*´ω`*)】CGIの更新は現在無期限休止中です‥‥
2014年11月6日【木】13時47分00秒
【(*´ω`*)】確率収束診断スクリプト作りました!
2013年12月24日【火】17時47分50秒
【(*´∇`*)】最近ちょっとプログララマーに戻ってます♪
2013年11月4日【月】19時41分23秒
【(´・ω・`)】現在新しいCGIの作成は行っていません。
2013年1月7日【月】16時12分36秒
【(*´ω`*)】サイトをリニューアルしました。他も徐々に変更中です‥‥
--☆HOTLINK NOW☆--
【Kindle】電子書籍販売★秋華★
【楽天kobo】電子書籍販売★秋華★
【パブー】電子書籍販売★秋華★
CGI無料レンタルサーバ紹介
秋華エントランス

Perlプログラム [CGIでクッキーを扱う]

クッキーの取得は、環境変数 $ENV{'HTTP_COOKIE'} で得る事ができると書いたが、ここでは詳しく説明したいと思います。
取得の前に、まずは発行から説明します。
CGIでの記述は・・・

print "Set-Cookie: SyukaCom=hogehoge; expires=Wed, 01-Jan-2020 10:00:00 GMT; domain=$cdomain; path=$cpath; secure\n";

このような感じになります。
SyukaCom の部分はクッキーの名前ですので、好きな名前をつけてください。
一部記号はエンコードが必要ですので、英数だけにしておくのが良いかもしれません。
= の後は値です。
個人を特定できるIDや数字、なんかを与えます。
私のホームページでは、適当な番号を発行し、個人特定ができるようにしています。
expires= の後から、; までのは、クッキー保存期間です。
この日までクッキーは保存される事になりますが、削除されたり、ブラウザを閉じると同時に削除する設定の場合は、その限りではありません。
更に、過去を指定すればクッキーを削除できます。
domain= の後($cdomain)は、クッキーを扱うドメイン、path= の後($cpath)は、扱うディレクトリを表します。
クッキーを自分のサイトで扱う場合、ドメインは省略でき、ディレクトリは省略すると、このスクリプトの場所、上記記述の場合、$cpath='/'; で、サイト全体になります。
最後の secure が有る場合、セキュア接続の時のみクッキーを発行します。
私はよくわからないので、記述してません。
後、CGIの場合・・・

print "Content-type: text/html; charset=UTF-8\n\n";

このように、出力形式を指定してからクッキーを発行しなければならないと言われていますが、私が試した範囲では、その前に発行しないとクッキーが得られませんでした。
それでは、次に発行したクッキーを受け取ってみます。
受け取るには、最初に書いた環境変数を使います。

foreach $n (split(/\; /, $ENV{'HTTP_COOKIE'})) {
($name, $value) = split(/=/, $n); $Cookie{$name} = $value;
}

このように書きます。
1行目は、環境変数を ; で分けたデータの数だけ、{ } の中を繰り返すと言う命令です。
クッキーデータは、; で区切られています。
2行目は、そのデータ1つ1つを = で分けて、%Cookie に納めています。
この後に・・・

$cookiename = $Cookie{'SyukaCom'}; #この中には hogehoge が入っている。
$expires = $Cookie{'expires'}; #この中には有効期限がが入っている。
$domain = $Cookie{'domain'};
$path = $Cookie{'path'};

これでそれぞれのデータが取得できます。
と、書きましたが、NAMEと値だけしか利用した事が無いので、他は一応試してみてください。
【<┃】 【┃┃】 【┃Ξ】
このエントリーをはてなブックマークに追加
ドクダミ
Ver.5.00 CGIフリー配布サイト