自転車旅行とWebサービス -7ページ目

自転車旅行とWebサービス

しがないSEが自転車旅行にかまけながら自前Webサービス作成を目指す

 

簡単な画面遷移ができたところで本題へ


ログイン画面とは別に、ログイン成功画面をまた別の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の直接指定でログインチェックをせずにログイン成功画面にいってしまう。

セッション管理がひつようなのだ