簡単な画面遷移ができたところで本題へ
ログイン画面とは別に、ログイン成功画面をまた別のHTML(LoginOK.html)で作成し、
こいつをhtdocsに配置する。
そんでログイン成功時にそっちに遷移させる。
失敗したらログイン画面に戻ってこさせる。
そのためのプログラムがこれ↓
#!"C:\Perl64\bin\perl.exe"
use CGI::Carp qw(fatalsToBrowser);
use CGI;
$cgi = CGI->new();
$uname = $cgi->param('uname');
$upass = $cgi->param('upass');
if (($uname eq 'suzuki') && ($upass eq 'taro')) {
#OK
print $cgi->header(-location => '../LoginOK.html');
} else {
#NG
print $cgi->header(-location => '../Login.html');
}
HTML出力をやめるとすごくきれいなプログラムになる。
MVCにプログラムを分離しようと言い出した人の気持ちがよくわかる
んでまたパスワードチェック直書きかよ・・・
とか自分でも思う・・・
でも、それはまた別の話・・・
肝心の画面遷移であるが、
print $cgi->header(-location => '../LoginOK.html');
とかするだけで遷移できる。
ちなみにheaderじゃなくてredirectでも同じことができる。
試してみる
まずはsuzuki/ta・・・
おっと間違えた
と、元の画面にもどる
正しく入れると
おめでたくなる
しかしこれだけだとURLの直接指定でログインチェックをせずにログイン成功画面にいってしまう。
セッション管理がひつようなのだ