間違っていたらすみませんが、
入力チェックを100回繰り返す必要が無いかと・・・
下記のようではダメでしょうか?
Sourceの位置だけ変えました。
書き換えなどは、ありません。
lang
1<?php
2$fizz = htmpspecialchars($_POST['fizz']);
3$buzz = htmlspecialchars($_POST['buzz']);
4
5if(!is_int($fizz) || !is_int($buzz) || 0 <= fizz || fizz < 100 || 0 <= buzz || buzz < 100) {
6 echo '入力された値は正しくありません\nブラウザバックして入力をやり直してください';
7}else {
8 for($i = 1; 1 <= 100; $i++) {
9 if($i % $fizz == 0 && $i % $buzz != 0) {
10 echo 'FIZZ';
11 }else if($i % $fizz != 0 && $i % $buzz == 0) {
12 echo 'BUZZ';
13 }else if($i % $fizz == 0 && $i % buzz == 0) {
14 echo 'FIZZBUZZ';
15 }else {
16 echo $i;
17 }
18 }
19}
一応下記で、簡易的ですが動くと思います。
動作しなかったらPHP設定の問題でphpinfo();が出力されるか確認で良いかと!
lang
1[PHP]
2<html lang='jp'>
3<head>
4<meta charset="utf-8">
5</head>
6<body>
7<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST">
8FIZZ-<input type="number" name="fizz" size="30" value="<?=(isset($_POST['fizz']))?$_POST['fizz']:0;?>" /><br />
9<br />
10BUZZ-<input type="number" name="buzz" size="30" value="<?=(isset($_POST['buzz']))?$_POST['buzz']:0;?>" /><br />
11<br />
12<input type="submit">
13</form>
14<hr />
15<?php
16if($_SERVER["REQUEST_METHOD"] == "POST"){
17 $fizz = intval($_POST['fizz']);
18 $buzz = intval($_POST['buzz']);
19
20 if( (0 < $fizz && $fizz < 100) && (0 < $buzz && $buzz < 100) ){
21 for($i = 1 ; $i <= 100 ; $i++) {
22 $f = $i % $fizz;
23 $b = $i % $buzz;
24 if($f === 0 && $b === 0) {
25 echo "FIZZ BUZZ({$i})<br />";
26 }elseif($f === 0) {
27 echo "FIZZ({$i})<br />";
28 }elseif($b === 0) {
29 echo "BUZZ({$i})<br />";
30 }else {
31 echo "{$i}<br />";
32 }
33 }
34 }else {
35 echo '入力は 1 以上 100 未満';
36 }
37}else{
38 echo "入力して下さい";
39}
40?>
41</body>
42</html>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。