A.cgiで認証チェックされてから、B.thmlが表示されるようにしたい。
1/17付CGIについての質問の関連です。
質問はパスワード付forum.cgi(付録フリーCGI)で、forum.cgiを入室後、ID&PW情報をA.cgiに渡したまま、新しいHTMLウィンドウを立上げることでした。
この質問は、こちらの教えてGOOでご教授いただきました。ありがとうございます。
できたCGIでは、A.cgiでID&PWを入力しないでも、B.thmlが表示されてしまいます。
# ID/PW認証 #
sub pass_check {
local($time,$time2,$inpw,$flag,$id,$pw,$check);
# 時間を取得
$time = 略;
$timeout = 略;
$password = '略';
$pwdfile = '略;
#中略
if ($in{'id'} eq "") {
&header;
print "<table><tr><td>\n";
print "<td><form action=\"$script\" method=\"GET\"onsubmit=\"window.open('B.html,'new')\">\n";
print "<tr><th><UL><LI>すでにパスワード取得済みの方は・・・略
print "<tr><th>ログインID<th><input type=text name=id size=8></tr>\n";
#中略
print "<tr><th colspan=2><input type=submit value=' 認証する '></tr>\n";
#中略
if ($in{'pw'} eq "") { &error("パスワードの入力モレです"); }
$flag=0;
open(IN,"$pwdfile") || &error("Open Error : $pwdfile");
while (<IN>) {
($id, $pw) = split(/:/);
if ($in{'id'} eq $id) { $flag=1; $pw=~s/\n//; last; }
}
close(IN);
if (!$flag) {&error("該当のIDは見当たりません"); }
$check = &decrypt("$in{'pw'}", "$pw");
if ($check ne "yes") { &error("パスワードが違います"); }
# パスワードを第2暗号化 以下略
}
認証の送信をしたときに、エラー時エラーメッセージに飛ぶ(分岐する?)にはどういう記述にしたら良いでしょうか?
見にくいかもしれませんが、どんなヒントでも結構ですので宜しくお願いします。
お礼
dvd-daisukiさん。ご回答有難うございます。そーなんですよー。「こちら」で考えられるすべての番号を入れても出てこないんですよー。もうエプソンさんに、ご回答の通り直メルしました。また助けて下さい。