「if関数を使ったプログラム」の編集履歴(バックアップ)一覧はこちら
「if関数を使ったプログラム」(2015/08/17 (月) 00:24:33) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
次のようなif関数を使ったサンプルプログラムを作っていこうと思います。~
フォームで入力できる部分を二つ作りそれぞれに数字を入れさせる。~
一人目:□点~
二人目:□点~
実行ボタン~
そして、実行ボタンを押されたら、~
+一人目が80点以上なら「合格」、そうでないなら「不合格」と表示させる。~
+二人目が80点以上なら「合格」、そうでないなら「不合格」と表示させる。~
+二人とも80点以上ならば「有能なペアです。」と表示させ、二人とも80点を下回っていれば「頑張りましょう。」と表示させる。二人のうちどちらか一方が80点以上ならば「勉強はどちらかに任せよう。」と表示させる。~
~
一行目に、一人目の合否~
二行目に、二人目の合否~
三行目に、二人の評価~
というように表示させたいと思います。~
それではさっそく作っていきましょう。~
まずは簡単なフォームから作ります。~
#image(width=400,点数のフォーム.png)
*PHP
<body>
<p>点数を入力してください。</p>
<form method="post" action="page2.php">
<p>あなたの点数</p>
<input type="text" name="your_score" size="5">
<p>ペアの点数</p>
<input type="text" name="pare_score" size="5"><br><br>
<input type="submit" name="sub" value="実行する">
</form>
</body>
さて、次にpage2.phpを作ります。~
*PHP
<?php
$your_score = $_POST["your_score"];
$pare_score = $_POST["pare_score"];
?>
<?php
if (is_numeric($your_score) == false or $your_score <0 or 100 < $your_score or is_numeric ($pare_score) == false or $pare_score <0 or 100 < $pare_score){
echo "0から100までの半角数値を入力してください。";
exit();
}elseif($your_score >=80){
echo "あなたは、合格です。";
}else{
echo "あなたは、不合格です。";
}
?>
<br>
<?php
if($pare_score >=80){
echo "あなたのペアは、合格です。";
}else{
echo "あなたのペアは、不合格です。";
}
?>
<br>
<?php
if($your_score >= 80 and $pare_score >=80){
echo "有能なペアです。";
}elseif($your_score >= 80 or $pare_score >= 80){
echo "勉強はどちらかに任せよう。";
}else{
echo "頑張りましょう。";
}
?>
if文の条件部分のandやorは何回でも書き込み可能です。~
最初のifの条件の部分であらゆるエラーを返せるようにしています。~
exit()はそこで処理を終えるという意味の関数です。~
~
また三つめのphp内のifとifelseは順番を違えてしまうと、処理がかぶってしまうのでまずは条件がより限定的なものから記述するといいかもしれません。~
~
試しに最初のフォームに~
100点と0点を入れてます。~
#image(width=300, てすとフォーム実行結果.png)
~
~
~
以上
次のようなif関数を使ったサンプルプログラムを作っていこうと思います。~
フォームで入力できる部分を二つ作りそれぞれに数字を入れさせる。~
一人目:□点~
二人目:□点~
実行ボタン~
そして、実行ボタンを押されたら、
+一人目が80点以上なら「合格」、そうでないなら「不合格」と表示させる。
+二人目が80点以上なら「合格」、そうでないなら「不合格」と表示させる。
+二人とも80点以上ならば「有能なペアです。」と表示させ、二人とも80点を下回っていれば「頑張りましょう。」と表示させる。二人のうちどちらか一方が80点以上ならば「勉強はどちらかに任せよう。」と表示させる。
~
一行目に、一人目の合否~
二行目に、二人目の合否~
三行目に、二人の評価~
というように表示させたいと思います。~
それではさっそく作っていきましょう。~
まずは簡単なフォームから作ります。~
#image(width=400,点数のフォーム.png)
*PHP
<body>
<p>点数を入力してください。</p>
<form method="post" action="page2.php">
<p>あなたの点数</p>
<input type="text" name="your_score" size="5">
<p>ペアの点数</p>
<input type="text" name="pare_score" size="5"><br><br>
<input type="submit" name="sub" value="実行する">
</form>
</body>
さて、次にpage2.phpを作ります。~
*PHP
<?php
$your_score = $_POST["your_score"];
$pare_score = $_POST["pare_score"];
?>
<?php
if (is_numeric($your_score) == false or $your_score <0 or 100 < $your_score or is_numeric ($pare_score) == false or $pare_score <0 or 100 < $pare_score){
echo "0から100までの半角数値を入力してください。";
exit();
}elseif($your_score >=80){
echo "あなたは、合格です。";
}else{
echo "あなたは、不合格です。";
}
?>
<br>
<?php
if($pare_score >=80){
echo "あなたのペアは、合格です。";
}else{
echo "あなたのペアは、不合格です。";
}
?>
<br>
<?php
if($your_score >= 80 and $pare_score >=80){
echo "有能なペアです。";
}elseif($your_score >= 80 or $pare_score >= 80){
echo "勉強はどちらかに任せよう。";
}else{
echo "頑張りましょう。";
}
?>
if文の条件部分のandやorは何回でも書き込み可能です。~
最初のifの条件の部分であらゆるエラーを返せるようにしています。~
exit()はそこで処理を終えるという意味の関数です。~
~
また三つめのphp内のifとifelseは順番を違えてしまうと、処理がかぶってしまうのでまずは条件がより限定的なものから記述するといいかもしれません。~
~
試しに最初のフォームに~
100点と0点を入れてます。~
#image(width=300, てすとフォーム実行結果.png)
~
~
~
以上