Aurai
[E-Mail]
1999/10/08(金) 00:45:59
>以前のPerlをそのまま使ってみたのですがうまくいきません。
確認、確認……
ラウンジのスクリプトけっこう変わってますね
>「NAME」と「FROM」の違いが影響しているのでしょうか?
それもあります
どうせなので始めから書きます
まず、 Line:50 あたりにある
> # フォームデータを読み込む
のあたりで
$cookies = $ENV{'HTTP_COOKIE'};
@cooking = split(/;/,$cookies);
foreach $cooking (@cooking) {
($name, $value) = split(/=/, $cooking);
$name =~ s/ //g;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$COOKIE{$name} = $value;
}
以上の処理
次に
>sub appendMessage #($file, $lockflag)
の中の Line:600 あたりにある
> # ページを表示する
> print "Location: $ENV{'SCRIPT_NAME'}?print+$file\n\n";
の直前に
($csec, $cmin, $chour, $cmday, $cmon, $cyear, $cwday) = localtime(time + 90*24*60*60);
$cyear += 1900;
if ($csec < 10) { $csec = "0$csec"; }
if ($cmin < 10) { $cmin = "0$cmin"; }
if ($chour < 10) { $chour = "0$chour"; }
if ($cmday < 10) { $cmday = "0$cmday"; }
$cmon = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$cmon];
$cwday = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[$cwday];
$expiresdate = "$cwday, $cmday\-$cmon\-$cyear $chour:$cmin:$csec GMT";
$FROM{'NAME'} =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
$FROM{'EMAIL'} =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
$FROM{'HPAGE'} =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
print "Set-Cookie: FROM=$FORM{'NAME'}; expires=$expiresdate;\n";
print "Set-Cookie: EMAIL=$FORM{'EMAIL'}; expires=$expiresdate;\n";
print "Set-Cookie: HPAGE=$FORM{'HPAGE'}; expires=$expiresdate;\n";
以上の処理
最後に
>sub showTopicPage #($file)
の中や
>sub showNewTopicPage
の中にあるフォームの適所にに VALUE="$COOKIE{'INPUTの名前'}" を設定
確認はしていません
動かなかったらまたどうぞ
ちなみにクッキーは90日間保存する設定になっています
変更するには
>($csec, $cmin, $chour, $cmday, $cmon, $cyear, $cwday) = localtime(time + 90*24*60*60);
をいじってください