#!/usr/bin/perl #setc.cgi #アンケート用のクッキーを設定する。 require './jcodeLE.pl'; require './prei.cgi'; &winit;&jikan; &init;&decode; if($setc){ &err("リストの表\示件数が有効な値ではありません。") if($lm <= 0); &err("発言の表\示件数が有効な値ではありません。") if($pm <= 0); &err("クッキーの有効日数が有効な値ではありません。") if($days <= 0); &setcookie; }else{ &html; } exit; ################################################## sub init{ $title = 'クッキーの設定'; $retlink = "設定し直す"; #エラーから戻る時のリンク #以下はデフォルト値 $lm = 50; #リストの表示件数 $pm = 15; #発言の表示件数 $days = 10; #クッキーの有効日数 } ################################################## sub html{ #フォーム入力画面 print "Content-type: text/html\n\n"; print <<"_HTML_"; $title $metacode $bodys

あなたのブラウザにクッキーを設定します。

箱リストの表\示件数:
発言の表\示件数:
クッキーの有効日数:

※CGIの引数にこれらの値がある時は、クッキーは無視されます。


_HTML_ print $original;#この行だけは消さないでっ!! }#html END ################################################## sub setcookie{ #クッキーを出力 my($n,$sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$ww,$mon1,$expires,$cook); $n = $days*60*60*24; #有効期限までの秒数 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = localtime($times+$n); $ww = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$wday]; $mon1 = (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)[$mon]; $year += 1900; $expires = sprintf("%s, %2d-%s-%02d %02d:%02d:%02d GMT",$ww,$mday,$mon1,$year,$hour,$min,$sec); print "Content-type: text/html\n"; #ヘッダ $cook="$c_lm\:$lm"; print "Set-Cookie: $cgidir/$cgi_list=$cook; expires=$expires\n"; $cook="$c_pm\:$pm"; print "Set-Cookie: $cgidir/$cgi_log=$cook; expires=$expires\n"; print "\n"; print <<"_HTML_"; $title $metacode $bodys

クッキー設定完了

以下の内容でクッキーが設定されました。

リストの表\示件数:$lm
発言の表\示件数:$pm
クッキーの有効日数:$days日


_HTML_ print $original;#この行だけは消さないでっ!! }#setcookie END ################################################## sub decode{ #一般的なデコード&変数への代入 my($buffer); if($ENV{'REQUEST_METHOD'} eq "POST"){ read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }else{ $buffer = $ENV{'QUERY_STRING'}; } &decodearg($buffer,$cgi_list); $lm = $COOKIE{'lm'} if($COOKIE{'lm'} > 0); &decodearg($buffer,$cgi_log); $pm = $COOKIE{'pm'} if($COOKIE{'pm'} > 0); $setc = $FORM{'setc'}; if($setc){ $lm = $FORM{'lm'}; $pm = $FORM{'pm'}; $days = $FORM{'days'}; } }#decode END