□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
------------------ CGI・3分クッキング ---------------------(^○^)~~
発行日:1999年7月20日
毎週火曜と金曜発行
Vol.【005】
●PR●━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ゲームソフト通信販売!新作ソフトが発売日にお手元に届きます!
http://takafumi.grabit.net/powersoft/
⇔⇔Web新撰組News http://www.web-kyoto.com/ ⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔
最近鷹氏出張が多いので、飯を食わせてもらっていません。
はぎちゃんおなかすいた・・・
⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━●PR●
□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
【今日の献立:娯楽の殿堂其之三】==========================================
今回はデータの足し算と引き算とでデータの処理を分けます。
また、ついでに保存されているデータを読み込む部分と書き込む部分も書いて
しまいましょう。
さて、娯楽の殿堂のフォームの部分は、こんな感じになってました。
|
|
得点を入れる場合は、actionにpushという値が、引く場合は、pullという値が
入っています。これで動作を区別します。
前回お話した通り、ユーザーからの入力は%FORMという名前の連想配列に入って
いますので、ここからactionを取りだします。
$FORM{'action'}
がその値を持っています。そこで、、、
if($FORM{'action'} eq "push"){
足し算ルーチン
}elsif($FORM{'action'} eq "pull"){
引き算ルーチン
}
とします。
が、ちょっと問題があります。ただ単にこのCGIを開いて見ただけでボタンを
押していない場合、$FORM{'action'}が存在しません。存在しない変数でeq等の
比較演算を行うのは、あまりよい事ではありません。まあPerlなら問題ないかも
知れませんが言語によっては暴走を招きます。
そこで、$FORM{'action'}が存在するかどうかを先に調べておきます。
if(!$FORM{'action'}){
$FORM{'action'}="showhtml";
}
というわけで、「娯楽の殿堂」はこんな感じになります。
hanarakkyo.cgi(0.04)
#!/usr/local/bin/perl
$CgiName="./hanarakkyo.cgi";
$DataFile="./kacchoii.data";
&get_formdata;
&ReadData;
if(!$FORM{'action'}){
$FORM{'action'}="showhtml";
}
if($FORM{'action'} eq "push"){
足し算ルーチン
}elsif($FORM{'action'} eq "pull"){
引き算ルーチン
}
&ShowHtml;
exit;
#データを読み込むサブルーチン
sub ReadData {
open(IN,"$DataFile");
@Lines=;
close(IN);
}
#データを書き込むサブルーチン
sub WriteData {
local(@NewLines)=@_;
local($line);
open(OUT,"> $DataFile");
foreach $line (@NewLines) {
print $line,"\n";
}
close(OUT);
}
#フォームからデータを得るサブルーチン
sub get_formdata {
(この内容は前回と一緒)
}
# html表示のサブルーチン
sub ShowHtml {
(この内容は前回と一緒)
}
ついでにデータを読み込むサブルーチンと書き込むサブルーチン
もつけておきました。
次回は、足し算引き算をします。
===============================================================【続く】
----------------------------------------------------------------------
このメールマガジンは、
Subject部が、CGI3分クッキング【Vol.番号】は、まぐまぐ様にて、
( http://www.mag2.com/ )
Subject部が、CGI3分クッキング Vol.【番号】は、Macky様にて、
( http://macky.nifty.ne.jp/ )
Subject部が、CGI3分クッキング番号 は、Pubzine様にて、
配布致しています。
メールマガジンの解除について
まぐまぐ様の解除は、
http://www.web-kyoto.com/dp/3min/
に、削除及び登録フォームを用意致しております。
Macky様の解除は、
http://macky.nifty.ne.jp/
を参考して下さい。
Pubzine様の解除は、
http://www.pubzine.com/srchid.asp?keyword=1379
に、削除及び登録フォームを用意致しております。
----------------------------------------------------------------------
(^○^)/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
【お願い】
このマガジンについてのお問い合わせは、WEB新撰組メーリングリストで、
お願い致します。
参加方法は、
http://www.web-kyoto.com/ml/
を参考にして下さい。
はぎちゃんに対する質問・苦情は、このメールマガジンのリプライでどうぞ。
麗しいお嬢様の愛情は個人的に大歓迎ですが、アニキの愛情は勘弁して下さい。
【今回の担当】
WEB新撰組CGIプログラマー はぎちゃん(萩原 逸郎)でした。
監修 組長(津田 羊子)&鷹(津田 貴史)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\(^○^)