次のようなif関数を使ったサンプルプログラムを作っていこうと思います。
フォームで入力できる部分を二つ作りそれぞれに数字を入れさせる。

一人目:□点
二人目:□点
実行ボタン

そして、実行ボタンを押されたら、

  1. 一人目が80点以上なら「合格」、そうでないなら「不合格」と表示させる。
  2. 二人目が80点以上なら「合格」、そうでないなら「不合格」と表示させる。
  3. 二人とも80点以上ならば「有能なペアです。」と表示させ、二人とも80点を下回っていれば「頑張りましょう。」と表示させる。二人のうちどちらか一方が80点以上ならば「勉強はどちらかに任せよう。」と表示させる。
    一行目に、一人目の合否
    二行目に、二人目の合否
    三行目に、二人の評価

というように表示させたいと思います。

それではさっそく作っていきましょう。
まずは簡単なフォームから作ります。

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点を入れてます。




以上

最終更新:2015年08月17日 00:24