次のようなものを作りたいと思います。
テキストボックス1つと送信ボタンがある画面→
(送信ボタンを押す)今入力したテキストボックスの内容と、文字列「abc」が一致しているか調べ、
一致していれば→「ページA」へ
一致していなければ→「ページB」へ
自動的に移動するようにする
このようにするには、CGIをどのように作ればよいでしょうか?
目的は、パスワード認証ですが、「文字列が一致するか調べてどちらかのページに自動的に移動する」のみで良いです。
perlということなので・・・
htmlフォーム
<html> <form action="cgiのファイル名" method="post"> パスワード<input type="text" name="pw" /> </form> </html>
perl スクリプト
# CGIライブラリの準備 use CGI; # 初期化 $query = new CGI; # 受け取ったパラメータに応じてリダイレクト if ( $query->param('pw') eq 'abc' ) { print $query->redirect('ページAのURL'); } else { print $query->redirect('ページBのURL'); }
言語とか環境が決まってないと一般的なことしかかけませんので、そういうレベルで書くと。
「文字列が一致するか調べて」→if文とか条件分岐で
「どちらかのページに自動的に移動する」→リダイレクトで
リダイレクトの仕方は下記とか。具体的方法は環境によります。
http://www.futomi.com/lecture/ohter/redirect.html
あ、書き忘れましたが、リダイレクトは移動させているだけで、アクセス制限なければ直接アクセスすればアクセス出来ますので、パスワード認証にはなりません。
あくまでユーザを導くだけです。
試してみます。
perlということなので・・・
htmlフォーム
<html> <form action="cgiのファイル名" method="post"> パスワード<input type="text" name="pw" /> </form> </html>
perl スクリプト
# CGIライブラリの準備 use CGI; # 初期化 $query = new CGI; # 受け取ったパラメータに応じてリダイレクト if ( $query->param('pw') eq 'abc' ) { print $query->redirect('ページAのURL'); } else { print $query->redirect('ページBのURL'); }
ありがとうございます!
やってみます!
出来ました!
ありがとうございました!
一般的なPerlのCGIの場合、下記のようなプログラムで対応出来ると思います。
HTMLページ
<FORM action="hoge.cgi" method="post">
<INPUT type="text" name="AIUEO">
<INPUT type="submit" value="送信">
</FORM>
hoge.cgiはこんな感じ
#!/usr/bin/perl
read(STDIN, $buff, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/,$buff);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$in{$name} = $value;
}
#リダイレクト
if($in{'AIUEO'} eq 'ABCD'){
#ABCDと一致
print "Location: http://一致した時の転送先URL\n\n";
}else{
#ABCDと一致しない
print "Location: http://一致しない時の転送先URL\n\n";
}
exit;
ありがとうございます!
やってみます!
ありがとうございます!
2012/01/29 10:47:35やってみます!
出来ました!
2012/01/29 20:44:00ありがとうございました!