ビギナーズ CGI

 初歩から始める初心者向けPerl-CGI講座  

| トップページ | CGI設置 | CGI作成 | 作成事例 | 設置用語 | 作成用語 | 関数リファレンス | FAQ | お問合せ |
  
CGIの設置方法
フリーで配布されているCGIを設置する際の手順や注意事項などの説明です。

CGI作成の初歩
初めてCGIを作る方向けの手順を簡単な例で説明しています。

CGI作成ヒント集
こういう事をする時は、どのように行えばいいのか?など具体的な事例を紹介します。

CGIの設置に関する用語
CGIの作成に関する用語
CGIの設置や作成時に使われている用語や関連知識を掲載しています。

設置に関するFAQ
作成に関するFAQ
設置や作成をする際に起こりがちなトラブルの説明と、よくある質問とその回答を掲載しています。


 
 



Cookie の発行

Cookie の発行の例を簡単なサンプルで見てみます

【書式例】
print <<"HTML";
Content-Type: text/html
Set-Cookie: 名前=内容; 有効期限;";
HTML

【例1】
print <<"HTML";
Content-Type: text/html
Set-Cookie: name=tanaka; expires=Tue, 1-Jan-2030 00:00:00 GMT;
HTML

【例2 複数発行する】
print <<"HTML";
Content-Type: text/html
Set-Cookie: name=tanaka; expires=Tue, 1-Jan-2030 00:00:00 GMT;
Set-Cookie: pass=0123; expires=Tue, 1-Jan-2030 00:00:00 GMT;
HTML




実行結果1 (1回目の実行)

                  


実行結果2 (2回目以降の実行)
data2=BBB; data1=AAA 


実行結果の data2=BBB; data1=AAA という部分が実際にクッキーとして保存された
データとなっており、一度目のアクセス時は保存しているクッキーデータが無い為、
何も表示されませんが、2回目に実行すると、$ENV{'HTTP_COOKIE'}の内容が表示
される為、実行結果2のようになります。
実際に使う時は、この環境変数から取得できる値を分解して使います。



Cookie は、ブラウザのメニューから削除する事ができます。
上記例では2回書き出しており、実行結果にあるように ; で要素が区切られています。
半角スペースが入っている事も、読み出しの区切りの際に注意しなくてはいけません。


有効期限を省略した場合、クッキーは発行されますがハードディスク内には保存されません。
その為、省略時はブラウザを閉じた時点で発行したクッキーは無効になります。


Cookie の読み出し

Cookie を読み出して使う方法です

Cookie の情報は環境変数 $ENV{'HTTP_COOKIE'} に入っていますので、
これを区切り文字で分けて連想配列に入れて使ってみます。



今回はクッキーの発行を2回行い、読み出し時に連想配列に入れて表示していますが、
1回の発行で例えば data1=AAA,BBB,CCC,DDD; などとして、後でsplitで区切って使って
もかまいません。


要素と要素の間は上記 【Cookieの発行】の実行結果2にあるように半角スペースが入って
いますので、それも除去しないと連想配列で正しく使えません。



関連項目

・ CGIの作成に関する用語
・ CGI作成に関するFAQ


Beginner's CGI  - Copyright (C) 2003 aimix. All Rights Reserved -