PHP超入門 (23)


さて、前回の終わりに、if(イフ)文と一緒に使うelse(エルス)文についての予
告をしましたので、今回は、これについてのお話です。

今までは、if文と一緒に使うelseif(エルスイフ)文についてお話してきました。

このelseif文は、何個でも使うことができ、そのどれかの条件に合致した時に、
個々のプログラム的処理を行わせることが出来るのは前回お話した通りです。

繰り返しになりますが、図的に表現すると。。。

 if(Aの条件){
  Aの条件に合致した時の処理
 }

 elseif(Bの条件){
  Bの条件に合致した時の処理
 }

 elseif(Cの条件){
  Cの条件に合致した時の処理
 }

 elseif(Dの条件){
  Dの条件に合致した時の処理
 }
 ・
 ・
 ・

。。。てな具合です。

ただ、この場合、どの条件にも合致しなかった場合は何も起こらないことにな
り、場合により、チョット不便な場合があります。

その、どの条件にも合致しなかった場合のみのプログラム的処理を行わせる時
に使うのがelse文です。



■if〜else文

一番単純な例は、elseif文を使わない場合、すなわち、if文のみの時は次のよ
うになります。

if(Aの条件){
 Aの条件に合致した時の処理
}
else{
 Aの条件に合致しなかった時の処理
}

という具合になります。

とは言っても、タダこれだけではあまり面白くもなんともないので、実際の例
で使ってみたいと思います。

今回、使うのは、単純な例として、以前使った男か女かを選ぶ例です。

最初の画面、というかラジオボタンで男か女か選択するHTML文は以前のも
のと、まったく同じです。


-------------------------------------------------------
<html>
<head>
<title>ラジオボタンのテスト Part2</title>
</head>
<body>
<form action="078-1.php" method="post">
あなたの性別は?<br>
<br>
男<INPUT type="radio" name="seibetsu" value="男"><br>
女<INPUT type="radio" name="seibetsu" value="女"><br>
<br>
<input type="submit" name="bottun1" value="入 力">
</form>
</body>
</html>
-------------------------------------------------------

これを「078-1.htm」の名前で、「C:\Inetpub\wwwroot\php」フォルダに保存
します。

そのファイルのアイコンをダブルクリックしてブラウザを立ち上げると、きっ
と以前と全く同じ画面が表示されるでしょう。

以前と違うのは、選択されたデータを受け取るPHP文の方です。

それは次のようになります。

---------------------------------
<?php
$seibetsu_1 = $_POST["seibetsu"];

if($seibetsu_1 == "男"){
print("あなたの性別は男ですね");
print("<br>");
}
else{
print("あなたの性別は女ですね");
print("<br>");
}
?>
---------------------------------

そして、「078-1.php」という名前で、「C:\Inetpub\wwwroot\php」フォルダ
に保存します。

次に、ブラウザのアドレス欄に「http://localhost/php/078-1.htm」と入力し
て、プッシュボタンを押すと。。。
  実例はコチラ → http://www.e-and-a.ws/05/078-1.htm

一行目のHTML文から送られたデータは、「$_POST」という連想配列(ハッ
シュ)の中に格納されていて、それを取り出すには、HTML文のラジオボタ
ンの行に書かれている名前である「"seibetsu"」を指定することにより取り出
すことができるのは、以前にお話してきた事と同様です。

そして、取り出したデータ(すなわち、「男」か「女」か)を$seibetsu_1と
いう変数に代入しています。


次にif文で、$seibetsu_1の中身が「男」と合致しているかどうか判別してい
ます。
その結果、合致していれば、画面に「あなたの性別は男ですね」と表示される
ことになります。

そして、「女」を選択した場合は、$seibetsu_1の中身が「男」と合致してい
ないので、else文により「あなたの性別は女ですね」と表示されます。

ここで、くれぐれも注意して欲しいのは、上のPHP文の中で、$seibetsu_1
の中身が「女」であるかどうかは判別していない、ということです。

すなわち、$seibetsu_1の中身が「男」である場合以外、すべての場合におい
て、else文により「あなたの性別は女ですね」と表示されることになります。


ですから、いたずらでHTML文の画面でどちらも選択せずにボタンを押すと、
エラーメッセージも一緒に表示されますが、やっぱり「あなたの性別は女です
ね」と表示されてしまいます。

さて、以上が条件が1個のみの時の場合でしたが、複数の条件を扱いたい場合
には、前回お話したelseif文を組み合わせることになります。

これが、if〜elseif〜else文です。

これについて、次回にお話しようと思います。

マァ、大体ご想像はつくとは思いますが。。。

新しく「パソコン(PC)初心者向け パソコンサポートサービス」を始めました。
詳細は専用サイトを御覧ください。

上記の内容はシリーズとしてメールマガジンで配信しています。

42歳のオヤジでもできた!パソコンサーバー化計画 (マガジンID:0000114576)

メールマガジン登録  メールアドレス:
メールマガジン解除  メールアドレス:

Powered by まぐまぐ

copyright(c) 2002-2007 E&A工房 All rights reserved.