修正方法:設定ファイル消えてたら呼んでください。バックアップこっちで確保しますた。→蝦・あぞーさん・Casper-01さん・山銀さん
sub init { 行の次に以下の行を挿入。
error("パスワードが違います。") if !check_password($FORM{'writekey'});
sub config { 行の以下の行を参考に挿入。
<form action="$script" method=POST>
<input type=hidden name=mode value="init">
<input type=hidden name=writekey value="$FORM{'writekey'}"> ←※追加
EUC を SJIS にする場合は以下の行を削除。
sub regist { ルーチンにある以下の行
# ログファイルが存在しなければ新規フォーマットで書き込み
else { $formtmp = "$FORM{'weather'},$FORM{'subject'}\n$FORM{'comment'}"; }
jcode::convert(\$formtmp, 'euc'); ←※これ
# PRE タグ検知フラグ
my $pre_tag_flag = 0;
# バッファ
my $wd_tmp;
# \n (LF) でぶつ切りにする
# \r? は \r (CR) が無くてもおkという事
foreach my $line (split(/\r?\n/, $wd)) {
# <PRE> タグの扱いは特殊。この順序と if の使い方が大事。
# まずは <pre> もしくは <pre style=""> などが含まれる文字列を見つけた場合は PRE タグ検知フラグを立てる。
if ($line =~ /<pre( .*?)?>/) { $pre_tag_flag = 1; }
# PRE タグ検知フラグが立っているか、もしくは $regex で指定したタグが見つかれば BR タグは付けない。
if ($pre_tag_flag || $line =~ /<\/?($regex .*?|$regex)>$/) { $wd_tmp .= "$line\n"; }
# そうで無い場合は BR タグを付ける。
else { $wd_tmp .= "$line<br>\n"; }
# もし /PRE タグが見つかれば PRE タグ検知フラグをクリア。
if ($line =~ /<\/pre( .*?)?>/) { $pre_tag_flag = 0; }
}
# バッファの内容をメインバッファに移す。
$wd = $wd_tmp;
| 旧型 | 新型 |
|---|---|
| 1.35 sec | 0.45 sec |
| 1.35 sec | 0.43 sec |
| 1.34 sec | 0.44 sec |
| 1.38 sec | 0.46 sec |
| 1.34 sec | 0.45 sec |
| 1.35 sec | 0.45 sec |
| 1.00 倍 | 3.03 倍 |

mode=edit&num=15などとして編集画面に入ろうとしても、「ログオン認証が済んでいない」と警告を出すようにした。
SELECT * FROM diary LIMIT *,5とやったら日付を跨いで切ってしまうことも。
SELECT * FROM diary WHERE date BETWEEN 'YYYYMMDD_start' AND 'YYYYMMDD_end'とやろうとすると、抜き出し開始の日付の部分を取り出さないとだめだが、MySQL はサブクエリーをサポートしてないので結構大変かも。
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄