• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpファイルを実行すると真っ白な画面が表示される。)

PHPファイルを実行すると真っ白な画面が表示される

このQ&Aのポイント
  • PHPファイルを実行した際に真っ白な画面が表示される。
  • if文をネストした途端、真っ白な画面が表示される現象が起こる。
  • 初心者が正確にコードを打ちながらも、どこが間違っているのかわからない。

質問者が選んだベストアンサー

  • ベストアンサー
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.2

#1さんの回答を見て、吹きました。 え?「一字一句間違わずに打った」ってのは全角スペースも打ったって事?とか思いました。 ソースに全角スペース入れてた日にはパースエラーでるんじゃ?と思いますが。。。 ちなみに、答えを言っておきますと、「プラグラムは書いた通りに動いている」です。 $age が ゼロ なので、最初の if($age < 20) が true で { } の中を実行します。 次の if($age != 0) が false なので、{ } の中は実行しません。 なので、何も表示しないのは 極めて正常な動作をしているのです。 $age を ゼロ以外にすると 新しい世界が見れますよ。きっと。

super_step
質問者

お礼

bm_hiro様 ご回答くださり、ありがとうございました。 なるほと、納得です。 最初のifのブロック内にネストしているので、 【if(0 != $age)】がfalseであっても、 次のelseに処理が飛ぶわけではないのですね。 以前も同様の現象に悩まされたことがりまして、 これで謎が解けました。 ご親切に教えていただいたことに、心より感謝しております。 本当にありがとうございまし。 しかし・・・初心者向けの教材のコードが間違っているのは 致命的ですね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.1

ネストの段下げに全角の空白を使っているのが原因です。

super_step
質問者

お礼

memphis様 ご回答ありがとうございます。 エラーが出る場合は、全角の空白を使っていないか 気をつけるようにします。 いち早い回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • phpのコードでこの2つは何が違うんでしょうか?

    phpのコードでこの2つは何が違うんでしょうか? 問題文が画像に書いてあるもので、上のコードは私が考えたもので、下のコードは画像の問題の答えです 私の解いた答え <?php $age = 10; if(10 <= $age < 20){ echo("10代"); }else if(20 <= $age < 30){ echo("20代"); }else if(30 <= $age < 40){ echo("30代"); }else{ echo("それ以外"); } 画像の問題文の正解 <?php $age = 43; if($age >= 10 && $age < 20){ echo("10代"); }else if($age >= 20 && $age < 30){ echo("20代"); }else if($age >= 30 && $age < 40){ echo("30代"); }else{ echo("それ以外"); }

    • ベストアンサー
    • PHP
  • vscodeでphpの以下のコードを実行すると、そ

    vscodeでphpの以下のコードを実行すると、そのまま書いたコードがターミナルに表示されます。なぜでしょうか? $x = 20; if($x == 30){ echo'$xは30です'; }else{ echo '$xは30ではありません'; }

    • ベストアンサー
    • PHP
  • phpで画像のような問題があり、私が書いた式は以下

    phpで画像のような問題があり、私が書いた式は以下になりますが これは間違っていますか? ifelse確認問題 <?php $age = 10; if(10 <= $age < 20){ echo("10代"); }else if(20 <= $age < 30){ echo("20代"); }else if(30 <= $age < 40){ echo("30代"); }else{ echo("それ以外"); }

    • ベストアンサー
    • PHP
  • PHPの構文

    名前と年齢をフォームページから入力して 名前・年齢、そして成人・未成年の表示をするPHPのサンプルがあります。 初学者で無駄な部分が多く複雑になってしまったのですが ここをもっとこうしたほうが良いなど もっとシンプルで分かりやすい構文にできるのでしょうか? よろしくお願いいたします。 in.php ----------------------------------------------- <html> <body> <form action="out.php" method="post"> <table><tr><td>名前入力: <input type="text" name="name"></td></tr> <tr><td>年齢入力: <input type="text" name="age"></td></tr> </table> <input type="submit" value="ボタン"> </form> </body> </html> ----------------------------------------------- out.php ----------------------------------------------- <html> <body> <?php $name = htmlspecialchars($_POST["name"], ENT_QUOTES); $agen = mb_convert_kana($_POST["age"], "a"); $age = htmlspecialchars($agen, ENT_QUOTES); If($name == ""){ if($age == ""){ echo "名前、年齢の入力がありません。"; }else{ echo "名前を入力してください。"; } }else{ if($age == ""){ echo "年齢を入力してください。"; }else{ echo "あなたの名前は{$name}、年齢は{$age}です。"; if($age<20){ echo "あなたは未成年です。"; }else{ echo "あなたは成人です。"; } } } echo "<p><a href='in.php'>フォームに戻る</a>"; ?> </body> </html> -----------------------------------------------

    • ベストアンサー
    • PHP
  • PHP、HTML、JavaScriptで

    初心者で数当てゲーム(プレイヤー2人が互いに4桁の秘密の数字を設定後、それを交互に当てあうというもの。数値とその位置が当たっていれば◎を~個、数値が合っていて位置が違えば○を~個、数値も違えば×を~個表示)を作成中なのですが、現在、◎、○、×の数をそれぞれ表示するところで止まっています。 とりあえず、前段階として◎の数だけを表示するようにプログラミングしようと思っています。 JavaScriptで、秘密の数字とプレイ画面で入力した数字の各桁の数字を照らし合わせ、一致した数だけ◎の個数を表示するためのプログラミング。 本分内のPHPで、if文を使って◎の個数を表示するプログラミングしています。 一応、JavaScript・PHPのプログラミングは下記のようにしています。 <script type="text/javascript"><!-- function check1(){ var countS1="<?php print addslashes($_SESSION['countS1']); ?>"; if(4桁すべてが等しい場合){ countS1=4; }else if(4桁の内3つの数字が等しい場合){ countS1=3; }else if(4桁の内2つの数字が等しい場合){ countS1=2; }else if(4桁の内1つの数字が等しい場合){ countS1=1; }else{ countS1=0; } } //--></script> <?php if($_SESSION['countS1']=4){ echo $_SESSION['countS1']; echo '個'; }else if($_SESSION['countS1']=3){ echo $_SESSION['countS1']; echo '個'; }else if($_SESSION['countS1']=2){ echo $_SESSION['countS1']; echo '個'; }else if($_SESSION['countS1']=1){ echo $_SESSION['countS1']; echo '個'; }else if($_SESSION['countS1']=0){ echo $_SESSION['countS1']; echo '個'; } ?> 例)秘密の数字:1234、プレイ画面の入力値:1268 →◎:2個 という様にしたいのですが、上のままだと入力してからsubmitボタンを押す前から「4個」と表示されてしまいます。 分かりにくくて申し訳ありませんが、よろしくお願いします。

  • phpファイルをコマンドラインで実行できない

    PHPファイル <?php $host = "ftp.aaa.jp"; $username = "test"; $password = "passwd"; // FTP 接続を開く $ftps = ftp_connect($host); $result = ftp_login($ftps, $username, $password); if (!$result) { echo "接続に失敗しました。\n"; return; }else{ echo "接続に成功しました。\n"; } // ダウンロードif (ftp_get($ftps, "test.csv","/home/test.csv", FTP_ASCII)) { echo "Successfully written to test.csv\n"; } else { echo "There was a problem\n"; } ?> をコマンドラインから実行すると、 「接続に成功しました。 Successfully written to test.csv」 は返ってくるのですが、実際にファイルのダウンロードが出来ていません。ただし、ブラウザから直接URLを入力して実行した場合は、ファイルのダウンロードが出来ます。 コマンドラインから実行出来ない原因を教えてください。

    • ベストアンサー
    • PHP
  • CSVファイルを読み込んで表示するPHP

    <?php setlocale(LC_ALL, 'ja_JP'); if( $handle = fopen( 'data.csv', 'r' ) ){ echo '<table border=1 cellspacing=0 bordercolor=#ff6600 align=center>'; if( ( $data = fgetcsv( $handle ) ) !== FALSE ){ echo '<tr style="background-color:#FFCCFF">'; for( $i = 0; $i < count( $data ); $i ++ ){ if($i===0){ echo '<td align=center width=160px>' . $data[$i] . '</td>'; }else{ echo '<td align=center width=60px>' . $data[$i] . '</td>'; } } echo '</tr>'; } while( ( $data = fgetcsv( $handle ) ) !== FALSE ){ echo '<tr>'; for( $i = 0; $i < count( $data ); $i ++ ){ echo '<td align=center>' . $data[$i] . '</td>'; } echo '</tr>'; } echo '</table>'; } fclose($handle); ?> ■data.csvの内容 品名,数量,予備 AAA,1,1 BBB,1,1 CCC,1,1 上記のPHPは2列まで表示されるようになっています。 それを3列まで表示できるようにしたいのですが、 初心者なので、どう記述したらいいのか分かりません。 どうか、ご教授お願いします。

    • ベストアンサー
    • PHP
  •  %php stringcast.php 100

    <?php // stringcast.php if (!isset($argv[1])) { exit; } $num = $argv[1]; if ($num == 100) { echo "num is 100", PHP_EOL; } else { echo "num is not 100",PHP_EOL; } このプログラムを %php stringcast.php 100のように実行すると、引数の100は PHPには文字列型として渡されます。・・・  以上参考書にあります。  作業の流れが分かりません。  %php stringcast.php 100とは!何のことなのでしょうか!?  以上宜しくお願いします。

    • ベストアンサー
    • PHP
  • html内でのphp実行方法とDL画面

    お世話になります。 掲題の件を実行したく、以下の設定をしました。 .htaccessに以下を記述 AddType application/x-httpd-php .htm .html html内で以下を記述 <?php include("./xxx.php"); echo get_value(xxx.xml'); ・・・(1) ?> (1)phpソース内でrss結果を取得し、echo表示する関数で 単独起動は確認済み、かつiframeタグでは表示できています。 上記のような状態で実行できないのですが、 何かほかに設定が必要でしょうか。 サーバーはお名前.comです。 また、.htaccessを配置したところ、ファイルダウンロード画面が表示されてしまうのですが こちらも何か設定等必要でしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • phpで5で割って余りを表示させない方法

    phpで5で割って余りを表示させない方法を探しています。 例えば <?php for ($i = 1; $i < 15; $i++) { echo $i; if ($i % 5 == 0) { echo "<br />"; }} ?> を実行させた場合 12345<br/> 678910<br/> 11121314 となりますが、この場合11から14までを表示させないようにすればどうすればできますか?

    • 締切済み
    • PHP