当サイトはQ&A掲示板(コミュニティ)の窓口を共有して下さるサイト様を募集しています。
[Q&A掲示板] 共有サイト様募集!# 書き込み関数 sub In { # 入力値チェック # エラーメッセージ $ERROR = ''; # 名前チェック $ERROR .= '名前が入力されていません!<br>' unless($in{'name'}); $ERROR .= '名前が長すぎます!<br>' if(length($in{'name'}) > 40); # コメントチェック $ERROR .= 'コメントが入力されていません!<br>' unless($in{'comment'}); $ERROR .= 'コメントが長すぎます!<br>' if(length($in{'comment'}) > 1000); # パスワードチェック $ERROR .= 'パスワードには半角英数字以外は使用できません!<br>' if($in{'pass'} =~ /[^0-9a-zA-Z]/); # エラー処理 if($ERROR) { print "Content-type: text/html\n\n$ERROR"; exit; } # タグ削除 $in{'name'} = &Del_Tag($in{'name'}); $in{'comment'} = &Del_Tag($in{'comment'}); # データ読み込み &Get_BBS(); # ID取得 open(DATA, "< $DATA_ID"); eval{ flock(DATA, 1); }; $id = <DATA>; close(DATA); open(DATA, "+< $DATA_ID") or open(DATA, ">> $DATA_ID"); eval { flock(DATA, 2); }; seek(DATA, 0, 0); print DATA ++$id; truncate(DATA, tell(DATA)); close(DATA); push(@BBS_DATA, "$id\t$in{'pass'}\t$in{'name'}\t$in{'comment'}"); # データの書き込み &Set_BBS(); print "Content-type: text/html\n\n"; print "書き込みが完了しました!\n"; } # タグ削除関数 sub Del_Tag { $_[0] =~ s/&/&/g; $_[0] =~ s/\"/"/g; $_[0] =~ s/>/>/g; $_[0] =~ s/</</g; $_[0] =~ s/\n/<br>/g; return ($_[0]); }
sub Del_Tag { $_[0] =~ s/<.+?>//g; return($_[0]); }