さて、ちょっとした復習になりますが、現在のこのメルマガの内容を確認して みたいと思います。 現在は、PHPプログラムの文法の1つである、if(イフ)文についてのお話を しています。 if文とは、プログラム中で、ある一定の条件を満たす場合のみ、あらかじめ指 定した処理をしたい場合に用い、チョット堅苦しい表現をすると、 if(指定する条件){ 指定した条件を満たした場合の処理 } という表記になります。 上の場合は条件が1個の場合ですが、複数の条件を指定したい場合には、else if(エルスイフ)文を併用し、これまた堅苦しい表現をすると、 if(指定する条件1){ 条件1を満たした場合の処理 } elseif(指定する条件2){ 条件2を満たした場合の処理 } elseif(指定する条件3){ 条件3を満たした場合の処理 } ・ ・ ・ ・ ・ という具合になります。 そして、いずれの条件も満たさなかった場合の処理を指定したい場合には、el se(エルス)文を併用い、条件が1個の場合は、これもまたまた堅苦しい表現を すると、 if(指定する条件){ 指定した条件を満たした場合の処理 } else{ 指定した条件を満たさなかった場合の処理 } てな具合になります。 これが、前回お話した内容になります。 では、条件を複数指定した場合、すなわち、elseif文を用いて、そのどの条件 にも当てはまらなかった場合の処理を指定したい場合にはどうするのか? これが、今回のお話のお題になる、if〜elseif〜else文となります。 ■if〜elseif〜else文 上に書いたような堅苦しい表現を用いると、if〜elseif〜else文は if(指定する条件1){ 条件1を満たした場合の処理 } elseif(指定する条件2){ 条件2を満たした場合の処理 } elseif(指定する条件3){ 条件3を満たした場合の処理 } ・ ・ ・ ・ ・ else{ どの条件も満たさなかった場合の処理 } という具合になります。 ここで、else文は最後に書くところがミソです、というか、文法上の決まりで す。 以上です。。。と、これで終わらせては面白くもなんともないので、いつもの ように実際に簡単なプログラムの例を挙げて、動作を確認したいと思います。 ■if〜elseif〜else文の例 前回は、HTML文のラジオボタンを使ってプログラムを書きましたが、今回 は以前やったドロップダウンリストを使いたいと思います。 題して「果物占い」です。 (ただ、内容は適当なので、本気にしないように。。。) まずは、今までと同じようにHTML文でデータを選ぶページを作ります。 それは以下の通りです。 --------------------------------------------------- <head> <title>果物占い</title> </head> <body> あなたの好きな果物を選んで下さい。<br> <form action="079-1.php" method="post"> <SELECT name="seikaku"> <OPTION>選択してください</OPTION> <OPTION value="りんご">りんご</OPTION> <OPTION value="みかん">みかん</OPTION> <OPTION value="もも">もも</OPTION> <OPTION value="いちご">いちご</OPTION> <OPTION value="すいか">すいか</OPTION> <OPTION value="柿">柿</OPTION> <OPTION value="マンゴー">マンゴー</OPTION> <OPTION value="レモン">レモン</OPTION> <OPTION value="すいか">すいか</OPTION> <OPTION value="梨">梨</OPTION> <OPTION value="バナナ">バナナ</OPTION> <OPTION value="キウイ">キウイ</OPTION> <OPTION value="いちじく">いちじく</OPTION> </SELECT> <input type="submit" name "bottun1" value="入 力"> </form> </body> </html> --------------------------------------------------- これを、「C:\Inetpub\wwwroot\php」フォルダに「079-1.htm」の名前で保存 して、
そのファイルのアイコンをダブルクリックしてみると、インターネット上でよ く見かける、ドロップダウンリストがブラウザに表示されるかと思います。
次に、上のHTMLページから受け取ったデータを処理する、PHP文である 「079-1.php」の例を以下に示します。 ------------------------------------------------------------ <?php $seikaku = $_POST["seikaku"]; if($seikaku == "選択してください"){ print("何も選択をしていません。何か果物を選んでください。"); } elseif($seikaku == "みかん"){ print("あなたは勤勉実直な性格です。"); } elseif($seikaku == "マンゴー"){ print("あなたは誰からも好かれる性格です"); } elseif($seikaku == "いちじく"){ print("あなたは喜怒哀楽の激しい人です"); } else{ print("あなたは特に特徴のない平々凡々な人です"); } ?> ------------------------------------------------------------ (「==」は、「==」の右辺と左辺が等しい、ということを示しているのを思い 出してください) 上のPHP文を、「C:\Inetpub\wwwroot\php」フォルダに「079-1.php」の名 前で保存します。
ちょっと解説をすると、$seikaku = $_POST["seikaku"]でHTML文のフォー ムから送られてきたデータを「$seikaku」という変数に代入しています。 次に、「みかん」「マンゴー」「いちじく」を選択した場合($seikakuが「み かん」「マンゴー」「いちじく」のそれぞれに等しい場合)は、それぞれに対 応したメッセージを表示させますが、それ以外の場合、すなわち、elseif文の どの条件にも合致しない場合には、else文に指定されているメッセージを表示 させます。
※みかんを選択した場合 これが、if〜elseif〜else文の例です。 では、ブラウザのアドレス欄に「http://localhost/php/079-1.htm」と入力し て、動作の確認をしてみて下さい
以上で、 ・if文 ・if〜elseif文 ・if〜else文 ・if〜elseif〜else文 のお話を終わりにしたいと思いますが、次回は、おまけ的に、if文の特殊な使 い方と、それを応用したアクセス制限のお話をしたいと思います。
42歳のオヤジでもできた!パソコンサーバー化計画 (マガジンID:0000114576)
Powered by