#!/usr/local/bin/perl
#       ↑あなたが加入しているプロバイダの｢perl｣言語が使用できる
#         パスを指定します。一般的に｢#!/usr/local/bin/perl｣で大丈夫

#=======================================================================================
#				BannerEx Version 98.3
#=======================================================================================
#日本語コード変換モジュール
require './jcode.pl';

#---------------------------------------
#掲示板のタイトル
$title = '歴史ランキング';
#---------------------------------------
#あなたのホームページのアドレス（フルパスで）
$homepage = 'http://contest.thinkquest.gr.jp/tqj1999/20254/index.html';
#---------------------------------------
#メンバーを格納するデータベースファイル
$datafile = 'linkvew.dat';
#---------------------------------------
#バックグランドの画像ファイル
$bg_gif = '../../momijiback.gif';
#---------------------------------------
#バックグランドカラー
$bg_color = '#FFFFFF';
#テキストの文字色
$text_color = '#000000';
#リンク文字色
$link_color = '#0000DD';
#Ｖリンク文字色
$vlink_color = '#DD0000';
#---------------------------------------
#1ページに表示する件数
$pagevew = 30;
#---------------------------------------
#メール送信フラグ 'yes' / 'no'
#登録内容を管理者のメールに送信
$sendmailflag = 'no';
#sendmailのパスを指定
$sendmail = '/usr/lib/sendmail';
#管理者のメールアドレス
$masteremail = 'xxxxxx@xx.xxxxxxxx.or.jp';
#---------------------------------------
#管理者削除モードのパスワード
$password = 'ogata';
#---------------------------------------
#ＰＲの複数行入力を許可する 'yes' / 'no'
$multiline = 'no';
#'no'に設定した場合の最大文字数
$maxlength = 100;
#---------------------------------------
#クッキーを格納する名前を設定する
$CookieName = 'bannerex';
#---------------------------------------
#サーバの種類　ＮＴ='nt' / ＵＮＩＸ= 'unix'
$server = 'unix';
#---------------------------------------
#タイトル部のＨＴＭＬ
$header =<<"END";
	<table border=5><tr><td align=center>
		<font size=5 color=#0000FF><b>☆ Try The Home Page ☆</b></font><br>
		<b><i><font size=7 color=#AA0000>歴史ランキング</font></i></b>
	</td></tr></table>
END
#=======================================================================================
#			初期設定が必要なのはここまでです。
#=======================================================================================
if ($sendmailflag eq 'yes') {
	require './sendemail.pl';
}
$reload = "http://$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}";
@ITEM = (
	'日本史','世界史'
	);
$agent = $ENV{'HTTP_USER_AGENT'};
$textwidth = 60;
if ($agent =~ /MSIE\ 3/i) { $textwidth = $textwidth * 1.5; }
if ($ENV{'REQUEST_METHOD'} eq "POST") {
	read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'});
} else { $QUERY_DATA = $ENV{'QUERY_STRING'}; }
@PAIRS = split(/&/,$QUERY_DATA);
foreach $pair (@PAIRS) {
	($dummy, $value) = split(/=/, $pair);
	$value =~ tr/+/ /;
	$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
	$value =~ s/</&lt;/g;
	$value =~ s/>/&gt;/g;
	$value =~ s/\n//g;
	$value =~ s/\,/，/g;
	&jcode'convert(*value,'sjis');
	$QUERY{$dummy} = $value;
}

&data_read;
if ($QUERY{'genre'} eq '指定しない') { $QUERY{'genre'} = ''; }
if ($QUERY{'HP'} =~ /^http\:\/\/(.*)/i) { $QUERY{'HP'} = $1; }
if ($QUERY{'gif'} =~ /^http\:\/\/(.*)/i) { $QUERY{'gif'} = $1; }

#押されたボタンや、呼び出しに対しての分岐
if ($QUERY{'action'} eq 'preview') {
	if ($QUERY{'name'} eq '') { &error(bad_name); }
	if ($QUERY{'pass'} eq '' && $QUERY{'mode'} eq 'edit') { &error(not_pass); }
	if ($QUERY{'subject'} eq '新規登録') {
		if (!($QUERY{'email'} =~ /.+\@.+\..+/)) { &error(bad_email); }
		if ($QUERY{'hpname'} eq '') { &error(bad_hpname); }
		if ($QUERY{'HP'} eq '') { &error(bad_addr); }
		if ($QUERY{'gif'} eq '') { &error(bad_gif); }
		if ($QUERY{'memo'} eq '') { &error(bad_memo); }
	}
	if ($multiline eq 'no') { $QUERY{'memo'} = substr($QUERY{'memo'},0,$maxlength); }
	&html_head;
	print "<div align=center><center>\n";
	print "<form action=bannerex.cgi method=POST>\n";
		print "<input type=hidden name=action value=regist>\n";
		print "<input type=hidden name=subject value=\"$QUERY{'subject'}\">\n";
		print "<input type=hidden name=name value=\"$QUERY{'name'}\">\n";
		print "<input type=hidden name=email value=\"$QUERY{'email'}\">\n";
		print "<input type=hidden name=pass value=\"$QUERY{'pass'}\">\n";
		print "<input type=hidden name=item value=\"$QUERY{'item'}\">\n";
		print "<input type=hidden name=hpname value=\"$QUERY{'hpname'}\">\n";
		print "<input type=hidden name=HP value=\"$QUERY{'HP'}\">\n";
		print "<input type=hidden name=gif value=\"$QUERY{'gif'}\">\n";
		print "<input type=hidden name=memo value=\"$QUERY{'memo'}\">\n";
		print "<table border=1>\n";
		print "<tr><td colspan=2>\n";
		print "<p><font size=4>■$QUERY{'subject'}</font></p>\n";
		print "・あなたのページへのリンクを確認して下さい。<br>\n";
		print "・正常にバナーが表\示されていなければ管理者が削除します。<br>\n";
		print "・変更訂正は、表\示されている項目のみ変更されます。<br>\n";
		print "<p></td></tr>\n";
		print "<tr><td align=right>ＩＤ：</td><td>$QUERY{'name'}</td></tr>\n";
		if ($QUERY{'email'} ne '') { print "<tr><td align=right>E-Mail：</td><td>$QUERY{'email'}</td></tr>\n"; }
		print "<tr><td align=right>Password：</td><td>$QUERY{'pass'}</td></tr>\n";
		print "<tr><td align=right>ジャンル：</td><td>$QUERY{'item'}</td></tr>\n";
		if ($QUERY{'hpname'} ne '') { print "<tr><td align=right>タイトル：</td><td>$QUERY{'hpname'}</td></tr>\n"; }
		if ($QUERY{'HP'} ne '') { print "<tr><td align=right>ＵＲＬ：</td><td><a href=\"http://$QUERY{'HP'}\">http://$QUERY{'HP'}</a></td></tr>\n"; }
		if ($QUERY{'gif'} ne '') { print "<tr><td align=right>画像URL：</td><td><img src=\"http://$QUERY{'gif'}\"><br>http://$QUERY{'gif'}</td></tr>\n"; }
		if ($QUERY{'memo'} ne '') { print "<tr><td align=right>内容：</td><td>$QUERY{'memo'}</td></tr>\n"; }
		print "</table>\n";
		print "<input type=submit value='確認 OK 登録する'>\n";
	print "</form>\n";
	print "</center></div>\n";
	print "</body></html>\n";
	exit;
} elsif ($QUERY{'action'} eq 'regist') {
	$i = 0; $match = 0;
	foreach $line (@DATA) {
		($code,$access,$name,$pass,$email,$item,$hpname,$HP,$gif,$memo) = split(/\,/,$line);
		if ($QUERY{'name'} eq $name && $QUERY{'pass'} eq $pass) {
			$match = 1; last;
		}
		$i++;
	}
	if ($match) {
		if ($QUERY{'subject'} eq '新規登録') { &error(bad_noregist); }
		if ($QUERY{'email'} =~ /.+\@.+\..+/) { $email = $QUERY{'email'}; }
		if ($QUERY{'hpname'} ne '') { $hpname = $QUERY{'hpname'}; }
		if ($QUERY{'HP'} ne '') { $HP = $QUERY{'HP'}; }
		if ($QUERY{'gif'} ne '') { $gif = $QUERY{'gif'}; }
		if ($QUERY{'memo'} ne '') { $memo = $QUERY{'memo'}; }
		$memo =~ s/\n//g;
		$value = "$code\,$access\,$name\,$pass\,$email\,$QUERY{'item'}\,$hpname\,$HP\,$gif\,$memo\n";
		$DATA[$i] = $value;
	} else {
		if ($QUERY{'subject'} eq '訂正変更') { &error(bad_pass); }
		$count = @DATA;
		if ($count < 1) {
			$new_code = 1;
		} else {
			($code,$dummy) = split(/\,/,$DATA[0]);
			$new_code = $code + 1;
		}
		$value = "$new_code\,0\,$QUERY{'name'}\,$QUERY{'pass'}\,$QUERY{'email'}\,$QUERY{'item'}\,$QUERY{'hpname'}\,$QUERY{'HP'}\,$QUERY{'gif'}\,$QUERY{'memo'}\n";
		unshift(@DATA,$value);
		if ($sendmailflag eq 'yes') {
			$mailto = $masteremail;
			$email = $QUERY{'email'};
			$subject = "新規登録";
			$msg = substr("== $title ======================================================",0,60)."\n";
			$msg .= "URL:$reload\n\n";
			$msg .= "$QUERY{'name'}さん\n";
			$msg .= "HP = $QUERY{'HP'}\n";
			$msg .= "password = $QUERY{'pass'}\n";
			$msg .= "$QUERY{'memo'}\n";
			$msg .= "============================================================\n";
			$msg =~ s/，/\,/g;
			$msg =~ s/\r/\n/g;
			&jcode'convert(*subject,'jis');
			&jcode'convert(*msg,'jis');
			if (&send_email($subject, $email, $mailto, '', '', $msg)) { &error(send_mail); }
		}
	}
	if (&data_save != 1) { &error(bad_save); }
	if ($server eq 'nt') { print "HTTP/1.0 302 Moved Temporarily\n" ; }
	print "Location: $reload?\n\n";
} elsif ($QUERY{'action'} eq 'insert') {
	&html_head;
	print "<div align=center><center>\n";
	print "<form action=bannerex.cgi method=POST>\n";
		print "<input type=hidden name=action value=preview>\n";
		print "<table border=0>\n";
		print "<tr><td colspan=2>\n";
		print "<p><font size=4>■登録/変更</font></p>\n";
		print "・新規登録または、変更訂正を選択します。<br>\n";
		print "・同じ[ID]と[Password]で重複登録は出来ません。<br>\n";
		print "・変更訂正は、[ID]、[Password]を記入し、変更する項目だけ入力して下さい。<br>\n";
		print "・約８８×３２ピクセルの画像が必要です。（必ずフルパスで）<br>\n";
		print "・他の大きさの画像を指定しても自動で調整されます。<br>\n";
		print "・紹介文にタグを使用することは出来ません。<br>\n";
		print "・紹介文は１００文字以内にして下さい。<br>\n";
		if ($multiline ne 'yes') {
			print "・テキストボックスより長い文章は途中でも切り捨てます。<br>\n";
		}
		print "<p></td></tr>\n";
		print "<tr><td colspan=2>\n";
		print " <input type=radio checked name=subject value=新規登録>新規登録\n";
		print " <input type=radio name=subject value=変更訂正>変更訂正</td></tr>\n";
		print "<tr><td align=right>ＩＤ：</td><td><input type=text size=24 name=name></td></tr>\n";
		print "<tr><td align=right>E-Mail：</td><td><input type=text size=24 name=email></td></tr>\n";
		print "<tr><td align=right>Password：</td><td><input type=password size=24 name=pass></td></tr>\n";
		print "<tr><td align=right>ジャンル：</td>\n";
		shift(@ITEM);
		print "<td><select name=item size=1>\n";
		foreach $line (@ITEM) {
			print "<option>$line</option>\n";
		}
		print "</select></td></tr>\n";
		print "<tr><td align=right>タイトル：</td><td><input type=text size=40 name=hpname></td></tr>\n";
		print "<tr><td align=right>ＵＲＬ：</td><td><input type=text size=60 name=HP value=http://></td></tr>\n";
		print "<tr><td align=right>画像URL：</td><td><input type=text size=60 name=gif value=http://></td></tr>\n";
		print "<tr><td align=right>内容：</td>\n";
		if ($multiline eq 'yes') {
			print "<td><textarea name=memo rows=4 cols=$textwidth></textarea></td></tr>";
		} else { print "<td><input type=text size=$maxlength name=memo></td></tr>\n"; }
		
		print "</table>\n";
		print "<input type=submit value='登録する'>\n";
	print "</form>\n";
	print "</center></div>\n";
	print "</body></html>\n";
	exit;
} elsif ($QUERY{'action'} eq 'delete') {
	if ($QUERY{'password'} eq '') { &error(not_pass); }
	if ($QUERY{'code'} < 1) { &error(bad_code); }
	$i = 0; $match = 0;
	foreach $line (@DATA) {
		($code,$access,$name,$pass,$email,$item,$hpname,$HP,$gif,$memo) = split(/\,/,$line);
		if ($QUERY{'code'} == $code) {
			if ($QUERY{'password'} eq $pass || $QUERY{'password'} eq $password) {
				splice(@DATA,$i,1);
				$match = 1; last;
			}
		}
		$i++;
	}
	if ($match) { if (&data_save != 1) { &error(bad_save); } }
	else { &error(bad_code); }
	if ($server eq 'nt') { print "HTTP/1.0 302 Moved Temporarily\n" ; }
	print "Location: $reload?\n\n";
} elsif ($QUERY{'action'} eq 'jump') {
	$i = 0; $match = 0;
	foreach $line (@DATA) {
		($code,$access,$name,$pass,$email,$item,$hpname,$HP,$gif,$memo) = split(/\,/,$line);
		if ($QUERY{'code'} == $code) {
			$match = 1; last;
		}
		$i++;
	}
	if ($match) {
		local($name,$value);
		$cookies = $ENV{'HTTP_COOKIE'};
		@pairs = split(/;/,$cookies);
		foreach $pair (@pairs) {
			($name, $value) = split(/=/, $pair);
			$name =~ s/ //g;
			$DUMMY{$name} = $value;
		}
		@pairs = split(/,/,$DUMMY{$CookieName});
		foreach $pair (@pairs) {
			($name, $value) = split(/\!/, $pair);
			$COOKIE{$name} = $value;
		}
		if ($COOKIE{'date'} eq $DATE && $COOKIE{'code'} == $code) { $access--; }
		else { $access++; }
		$value = "$code\,$access\,$name\,$pass\,$email\,$item\,$hpname\,$HP\,$gif\,$memo";
		$DATA[$i] = $value;
		if (&data_save != 1) { &error(bad_save); }
		$HP = "http://$HP";
		$cookievalue = "date\!$DATE\,code\!$code";
		print "Set-Cookie: $CookieName=$cookievalue; \n";
		if ($server eq 'nt') { print "HTTP/1.0 302 Moved Temporarily\n" ; }
		print "Location: $HP\n\n";
	} else { &error(bad_addr); }
} elsif ($QUERY{'action'} eq 'random') {
	srand(time|$$);
	$i = rand(@DATA);
	($code,$access,$name,$pass,$email,$item,$hpname,$HP,$gif,$memo) = split(/\,/,$DATA[$i]);
	$access++;
	$value = "$code\,$access\,$name\,$pass\,$email\,$item\,$hpname\,$HP\,$gif\,$memo";
	$DATA[$i] = $value;
	if (&data_save != 1) { &error(bad_save); }
	$HP = "http://$HP";
	if ($server eq 'nt') { print "HTTP/1.0 302 Moved Temporarily\n" ; }
	print "Location: $HP\n\n";
}
$QUERY{'keyword'} =~ s/ //g; $QUERY{'keyword'} =~ s/　//g;
if ($QUERY{'genre'} eq '' && $QUERY{'keyword'} eq '') { @MATCH = @DATA; }
else {
	foreach $line (@DATA) {
		$match = 1;
		($code,$access,$name,$pass,$email,$item,$hpname,$HP,$gif,$memo) = split(/\,/,$line);
		if ($QUERY{'genre'} ne '') {
			if ($QUERY{'genre'} ne $item) { $match = 0; }
		}
		if ($match && $QUERY{'keyword'} ne '') {
			if (index($line,$QUERY{'keyword'}) < 0) { $match = 0; }
		}
		if ($match) { push(@MATCH,$line); }
	}
}
if (@MATCH < 1) { &error(bad_search); }
if ($QUERY{'button'} eq 'ランキング') {
	foreach $line (@MATCH) {
		($code,$access,$name,$pass,$email,$item,$hpname,$HP,$gif,$memo) = split(/\,/,$line);
		$count = sprintf("%06d",$access);
		$line = "$count\,$line";
	}
	@MATCH = sort(@MATCH); @MATCH = reverse(@MATCH);
}
$max = @DATA; $matchdata = @MATCH;
&html_head;
print "<div align=center><center>\n";
if ($QUERY{'pline'} eq '') { $pline = 0; } else { $pline = $QUERY{'pline'}; }
$end_data = @MATCH - 1;
$page_end = $pline + ($pagevew - 1);
if ($page_end >= $end_data) { $page_end = $end_data; }
$start = $pline + 1; $end = $page_end + 1;
print "現在 [$max] 件中 [$matchdata] 件を抽出　";
print "[$start] から [$end] まで";
print "表\示しています。\n";
print "<form action=bannerex.cgi method=POST>\n";
	print "<table border=0 width=80%>\n";
	if ($QUERY{'genre'}) {
		print "<tr><td colspan=4 bgcolor=#000099 align=center><font size=4 color=#FFFFFF><b>$QUERY{'genre'}</b></td></tr>\n";
	}
	print "<tr><td bgcolor=#000099 align=center><font color=#FFFFFF><b>Banner</b></td>\n";
	print "<td bgcolor=#000099 align=center><font color=#FFFFFF><b>Profile</b></td>\n";
	print "<td bgcolor=#000099 align=center><font color=#FFFFFF><b>Access</b></td>\n";
	print "<td bgcolor=#000099 align=center><font color=#FFFFFF><b>Del</b></td></tr>\n";
	foreach ($pline .. $page_end) {
		if ($QUERY{'button'} eq 'ランキング') {
			($dummy,$code,$access,$name,$pass,$email,$item,$hpname,$HP,$gif,$memo) = split(/\,/,$MATCH[$_]);
		} else {
			($code,$access,$name,$pass,$email,$item,$hpname,$HP,$gif,$memo) = split(/\,/,$MATCH[$_]);
		}
		$memo =~ s/\r/<br>/g;
		print "<input type=hidden name=action value=delete>\n";
		print "<tr><td align=center valign=top bgcolor=#000000><a href=bannerex.cgi?action=jump&code=$code><img src=\"http://$gif\" border=0 width=88 height=32></a></td>\n";
		print "<td bgcolor=#000000><font size=4 color=#FFFFCC><b><i>[$hpname]</i></b></font>";
		if ($QUERY{'genre'} eq '') { print " <font color=#FFFFFF>$item</font>"; }
		print "<br>\n";
		print "<font color=#FFFFFF>$memo</font></td>\n";
		print "<td align=right bgcolor=#000000><font color=#FFFFFF>$access </font></td>\n";
		print "<td align=center bgcolor=#000000><input type=radio name=code value=$code></td>\n";
		print "</tr>\n";
	}
	print "</table><p>\n";
	print "<table border=3><tr>\n";
		print "<td>Delete Password:<input type=password size=12 name=password>\n";
		print " <input type=submit value=Delete></td>\n";
	print "</tr></table>\n";
print "</form>\n";
$next_line = $page_end + 1;
if ($page_end ne $end_data) {
	print "<form action=bannerex.cgi method=POST>\n";
		print "<input type=hidden name=genre value=\"$QUERY{'genre'}\">\n";
		print "<input type=hidden name=keyword value=\"$QUERY{'keyword'}\">\n";
		print "<input type=hidden name=button value=\"$QUERY{'button'}\">\n";
		print "<input type=hidden name=pline value=$next_line>\n";
		print "<input type=submit value=次のページ>\n";
	print "</form>\n";
	print "<hr width=640>\n";
}
print "</center></div>\n";
print "<p align=right><font size=2><a href=http://www2.inforyoma.or.jp/~terra/>BannerEx by Terra</a></font></p>\n";
print "</body></html>\n";
exit;

#=======================================================================================
sub html_head {
	print "Content-type: text/html\n\n";
	print "<html><head><title>$title</title></head>\n";
	print "<body bgcolor=$bg_color text=$text_color link=$link_color vlink=$vlink_color background=$bg_gif>\n";
	print "<div align=center><center>\n";
	print $header;
	print "<form action=bannerex.cgi method=POST>\n";
		print "<table border=1><tr>\n";
		print "<td>genre:\n";
		unshift(@ITEM,"指定しない");
		if ($QUERY{'genre'} eq '') { $selected = $ITEM[0]; } else { $selected = $QUERY{'genre'}; }
		print "<select name=genre size=1>\n";
		foreach $line (@ITEM) {
			if ($line eq $selected) { print "<option selected>$line</option>\n"; }
			else { print "<option>$line</option>\n"; }
		}
		print "</select>\n";
		print " keyword:\n";
		print "<input type=text size=12 name=keyword value=\"$QUERY{'keyword'}\">\n";
		print "<input type=submit name=button value='検索'></td>\n";
		print "<td><input type=submit name=button value='ランキング'></td>\n";
		print "<td><input type=button value='ランダム' onclick=\'location.href=\"bannerex.cgi?action=random\"\'></td>\n";
		print "<td><input type=button value='登録変更' onclick=\'location.href=\"bannerex.cgi?action=insert\"\'></td>\n";
		print "<td><input type=button value=Home onclick=\'top.location.href=\"$homepage\"\'></td>\n";
		print "</tr></table>\n";
	print "</form>\n";
	print "</center></div>\n";
}
#=======================================================================================
sub date_change {
	@DATE = localtime($_[0]);
	$DATE[5] += 1900;
	$DATE[4]++;
	$wday = ('日','月','火','水','木','金','土') [$DATE[6]];
	$_ = "$DATE[5]年$DATE[4]月$DATE[3]日($wday) $DATE[2]時$DATE[1]分";
}
#=======================================================================================
sub data_read {
	if (open(DB,"$datafile")) {
		@DATA = <DB>;
		close(DB);
	}
}
#=======================================================================================
sub data_save {
	$tmpfile = 'bannerex.tmp';
	foreach (1 .. 10) {
		unless (-f $tmpfile) { $tmpflag = 1; last; }
		$tmpflag = 0;
		sleep(1);
	}
	if ($tmpflag == 1) {
		$tmp_dummy = "$$\.tmp";
		if (!open(TMP,">$tmp_dummy")) { &error(bad_tmpfile); }
		close(TMP);
		chmod 0666,$tmp_dummy;
		if (!open(TMP,">$tmp_dummy")) { &error(bad_tmpfile); }
		print TMP @DATA;
		close(TMP);
		foreach (1 .. 10) {
			unless (-f $tmpfile) {
				if (!open(TMP,">$tmpfile")) { &error(bad_tmpfile); }
				close(TMP);
				rename($tmp_dummy,$datafile);
				unlink $tmpfile;
				$tmpflag = 1;
				last;
			}
			$tmpflag = 0;
			sleep(1);
		}
	}
	$tmpflag;
}
#=======================================================================================
sub error {
	$error = $_[0];
	if ($error eq 'bad_file') { $msg = 'ファイルのオープン、入出力に失敗しました。'; }
	elsif ($error eq 'bad_tmpfile') { $msg = 'テンポラリーファイルが作成できませんでした。<br>ディレクトリのパーミッションを確認して下さい。'; }
	elsif ($error eq 'bad_save') { $msg = '混雑していて送信に失敗しました。<br>時間をおいて再度送信して下さい。'; }
	elsif ($error eq 'bad_name') { $msg = 'ニックネーム又は本名が記入されていません。'; }
	elsif ($error eq 'bad_memo') { $msg = '何か自己紹介、ホームページのＰＲを記入して下さい。'; }
	elsif ($error eq 'bad_hpname') { $msg = 'ホームページのタイトルを記入して下さい。'; }
	elsif ($error eq 'bad_email') { $msg = 'メールアドレスが不正です。'; }
	elsif ($error eq 'bad_pass') { $msg = 'ＩＤまたは、パスワードが一致しません。'; }
	elsif ($error eq 'not_pass') { $msg = 'パスワードが記入されていません。'; }
	elsif ($error eq 'bad_code') { $msg = '削除するコードが指定されていないか、見つかりません。'; }
	elsif ($error eq 'bad_data') { $msg = '最低限度必要なデータが記入されていません。'; }
	elsif ($error eq 'bad_gif') { $msg = '画像ファイルアドレスが不正です。'; }
	elsif ($error eq 'bad_noregist') { $msg = 'すでに登録されています。'; }
	elsif ($error eq 'bad_addr') { $msg = 'ホームページのアドレスが不正です。'; }
	elsif ($error eq 'bad_search') { $msg = '指定の条件で見つかりませんでした。'; }
	elsif ($error eq 'send_mail') { $msg = 'メールが送信できませんでした。'; }
	else { $msg = '原因不明のエラーで処理を継続できません。'; }
	&html_head;
	print "<center>\n";
	print "<p>　</p><p>　</p>\n";
	print "<table border=5 width =70%><tr>\n";
		print "<td align=center><center><p><font size=6><b>ＥＲＲＯＲ</b></font></p>\n";
		print "<font size=6><b><i>$msg</i></b></font><p>　</p><p>　</p></td>\n";
	print "</tr></table>\n";
	print "</center></body></html>\n";
	exit;
}
