トップ > Perl Tips > 訪問回数を表示


 ■ 訪問回数を表示

クッキーの基礎編:クッキーを使おう

クッキーを使ったスクリプトを作ります。
このスクリプトは、ある人がそのページに何回訪問してきたか、
ということを調べるためのものです。

<サンプル>


#!/usr/bin/perl

if ($ENV{'HTTP_COOKIE'}) {
foreach (split(/;/, $ENV{'HTTP_COOKIE'})) {
($name, $value) = split(/=/);
$name =~ s/\s//g;
$value =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg;
$cookie{$name} = $value;
}
$count = ++$cookie{'count'};
}
else { $count = 1; }

print "Content-type: text/html\n";
print "Set-Cookie: count=$count; expires=Thu, 1-Jan-2030 00:00:00 GMT\n\n";
print "$count" . "回目のご訪問です。";



<解説>

if ($ENV{'HTTP_COOKIE'}) {
(中略)
else { $count = 1; }

クッキー情報がある場合、クッキー読み取りの処理をして、
訪問回数($count)を1つアップさせます。
クッキー情報がない場合、1回も訪問していないということになりますので、
1回目の訪問ということで、訪問回数($count)を1とします。

print "Set-Cookie: count=$count; expires=Thu, 1-Jan-2030 00:00:00 GMT\n\n";

ここで、クッキーを作成します。
$countは訪問回数、expiresでは、グリニッジ標準時の2030年1月1日0時0分0秒となっています。
2030年というと、遠い未来の日付になりますが、これはほぼ「無期限」に近い設定です。


これは、ブラウザでリロードしてもカウントがアップします。
サンプルはこちらです。




トラックバック

このエントリーのトラックバックURL:
http://easycgi.xrea.jp/mt-tb.cgi/44