|
Cookie の有効期限の指定方法 (Cookie で使える GMT日時を出す) |
Cookie の有効期限では expires=Tue, 1-Jan-2030 00:00:00 GMT などと指定しましたが、
これを求めるには、 time関数で得られた秒数を gmtime関数で整形、さらに Cookie
で使える
書式に sprintf で整形しなくてはなりません。
まずはその整形をしてみます。
下のサンプルソースは実行すると、現在のGMT時刻を Cookieで使える書式で表示します。
日付を生成する部分はサブルーチンになっており、 $gm = >imeget(); で呼び出す部分
で引数を与えると、与えた分の秒数を加算した時刻を返します。
実行結果 |
Sat, 9-Oct-2004 08:21:10 GMT |
【使用例】
例えば一週間後のGMT日付を出したい時は、サブルーチンで処理する前に 一週間分の秒数を計算し、
それをサブルーチンの引数として与えます。
一週間分の秒数は 60*60*24*7 で計算できます
1分 |
60 |
10分 |
60*10 |
1時間 |
60*60 |
3時間 |
60*60*3 |
1日 |
60*60*24 |
一週間 |
60*60*24*7 |
一ヶ月 |
60*60*24*30 |
三ヶ月 |
60*60*24*30*3 |
|
Cookie の有効期限の指定方法 (上記サブルーチンを使ってみる) |
その1 で紹介したサブルーチンで Cookieで使える日付の書式が得られましたので、これを
Cookieの発行と読み取り で紹介したサンプルソースに組み込んで利用してみます。
【使用前のサンプルソース】
【使用例】
例えば一週間後のGMT日付を出したい時は、サブルーチンで処理する前に 一週間分の秒数を計算し、
それをサブルーチンの引数として与えます。
以下のサンプルソースは実行すると、実行した日から一週間後の有効期限を設定したCookie
を発行します。
設定された Cookie は IEの場合、ブラウザ上部のメニューから 【ツール】 →
【オプション】 → インターネット
一時ファイルの項の【設定】 → 【ファイルの表示】 で表示されますので、有効期限の欄を確認して下さい。
キャッシュされた別のファイルなどがあると、どれが Cookie なのか分かりにくいですので、確認する前に
一時ファイルや別のクッキーデータなど削除しておくと探しやすいと思います。
|
|
|
関連項目
・ CGIの作成に関する用語
・ CGI作成に関するFAQ
|
|