質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

2900閲覧

phpファイルが表示されない

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2014/09/08 14:29

次のようなphpコードを書いたのですが、ブラウザ上には何も表示されません。

lang

1<?php 2$fizz = htmpspecialchars($_POST['fizz']); 3$buzz = htmlspecialchars($_POST['buzz']); 4 5for($i = 1; 1 <= 100; $i++) { 6 if(!is_int($fizz) || !is_int($buzz) || 0 <= fizz || fizz < 100 || 0 <= buzz || buzz < 100) { 7 echo '入力された値は正しくありません\nブラウザバックして入力をやり直してください'; 8 }else { 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} 20

ちなみに入力はHTMLで記述されたテキストボックスから受け取っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

どういう処理をしたいのでしょうか?FizzBuzz問題の3と5を可変にしたいのかな?という気もしますが。

とりあえず、htmpspecialcharsというタイプミスと、変数名(だと思われる物)の前の$の漏れが多数。
他にも突っ込みどころがあります。まずは単純ミスをなくして、実行されるようになったら、
結果を見て、もう一度よく考え直してください。

まずは普通のFizzBuzzをやってみては?

>ブラウザ上には何も表示されません。
ini_set( 'display_errors', 1 );
を入れてください。エラーがあれば、エラーメッセージが表示されるようになります。

投稿2014/09/08 15:38

otn

総合スコア85920

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

他の方も指摘されていますが、単純な抜けやミスが多いようです。

変数の前の$抜けや

for($i = 1; 1 <= 100; $i++) の部分、$i<=100 にしないと動かないと思います。

投稿2014/09/10 10:16

ao_love

総合スコア441

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

間違っていたらすみませんが、
入力チェックを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>

投稿2014/09/09 02:11

NIA

総合スコア181

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問