• ベストアンサー

HTMLに埋め込んだPHPがうまく出力できない

PHP初心者です。 PHPファイルで、HTMLに埋め込んだPHPがうまく出力できません。 このファイルはもう一つのPHPファイルに読み込んで実行しています。 例えば、 <?php echo "<p>こんにちは</p>"; ?> とすると、 こんにちは "; ?> と出力されてしまいます。 とても初歩的なところで詰まっているようでお恥ずかしいのですが、 原因が分からないので回答よろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • nazal2010
  • ベストアンサー率54% (12/22)
回答No.1

おそらく "; ?> が基のファイルに余分に入っていると思われます。 include先のファイルと見比べて慎重にチェックしてみてください。 ▼基のファイルは、 -------------------------- <?php include 'test.php'; ?> -------------------------- ▼include先のファイル( test.php )には -------------------------- <?php echo "<p>こんにちは</p>"; ?> -------------------------- の様になると思いますが、余計な「 "; ?> 」がフッターに入っていませんか?

gojnmlmglf
質問者

お礼

遅くなってすみません 確認してみましたが、指摘いただいた間違いはなさそうでした… もう少し頑張ってみます ありがとうございました!

その他の回答 (1)

  • ixkaito
  • ベストアンサー率69% (18/26)
回答No.2

ちなみにPHPでは、ファイルの末尾にあるPHPの閉じタグ「?>」を省略することが推奨されています。

gojnmlmglf
質問者

お礼

そうなんですね… ありがとうございました!

関連するQ&A

  • PHPが出力したHTMLにinclude文を

    PHP4.3で、HTMLファイルをテンプレート出力する方式の掲示板を使っているのですが、テンプレートのHTMLファイル内に別のPHPスクリプトで出力した表示を貼り付けようと思い、 <?include("hoge.php");?> とinclude文を書き込んだのですが、これが反映されずにソース内に<?include("hoge.php");?>という記述がそのまま出て来てしまいます。 これが出来ない原因は、PHP実行→HTML表示→HTML内のPHP実行という二度のPHP実行が出来ないのか、<?include~を「文字列」として認識してしまっているのかのどちらかだと思うのですが、、 PHPファイルには一切手が加えられない状況なので、テンプレートHTMLに手を加えるだけで別のPHPスクリプトを読みこませたいのですが、何かいい方法は無いでしょうか?

    • ベストアンサー
    • PHP
  • 「$tag = <<< HTML ~ HTML;」の【~】内でphpを使うには?

    はじめまして、よろしくお願いいたします。 以下のようなphpファイルを作りました、[123]と出力したいのですがうまくいきません・・ 「$tag = <<< HTML ~ HTML;」の【~】内でphpを使うにはどのようにすればよろしいのでしょうか? 教えていただけると幸いです。 __________________________ 【phpファイル】 <? $tag = <<<HTML <html> <body> for($a = 1; $a < 4; $a++) { print($a); } </body> </html> HTML; echo $tag; ?> ___________________________ 【出力結果】 for( = 1; < 4; ++) { print(); } ___________________________ 【希望する出力】 123

    • 締切済み
    • PHP
  • PHPが出力するHTMLを表示するには?

    PHPが出力するAサイトのHTMLをBサイト上で PHPを使用して表示したいのですが、どうすれば良いですか? (1) http://A.../x.php の出力する内容を (2) http://B.../p.php で表示させたいです。proxyサーバみたいな感じです。 出来れば、(1)は、IDとパスワードで認証する形に なっているので、それが出来る形にして欲しいです。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • JavaScriptからPHP呼び出しHTML出力で…

    現在phpにてブログのカテゴリリストを取得して、投稿ページ (HTML)上にカテゴリのプルダウンを表示しようと試みている のですが、JS(JavaScript)からPHPを呼び出しHTML上に出力する 際にPHPファイルにincludeがあるとjavascriptエラーとなって しまいます。 ちなみに参考にしたホームページはこちらです。 http://www.res-system.com/item/383 PHPソース(init.php)↓ <?php include_once('entry.php'); // ←エラーの箇所 // ヘッダ header("Content-Type: application/x-javascript; charset=UTF-8"); // インスタンス生成 $obj = new XMLComm(); // 初期設定 $obj->XMLComm(); // カテゴリ取得 echo "document.write(\"$obj->getCategories()\")"; ?> HTMLソース(entry.html)↓ <HTML> <HEAD> <TITLE>BLOG ENTRY</TITLE> </HEAD> <BODY> ブログエントリー</br> <script type="text/javascript" src="/init.php"></script> </BODY> </HTML> ちなみに、include等が無い状態で任意の文字で試したのですが こちらはきちんと表示されます。 javascriptでincludeなど呼び出しているphpを起動することは できないのでしょうか… 解決策、別案などありましたらご教授いただけたら幸いです。 phpを始めたばかりの初心者で、質問自体おかしい点があるかも しれませんが、、どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpプログラムにてすぐecho出力が出ない。

    phpにて、ログ解析を解析し、解析結果をCSVに加工して出力するものを 作成しました。 ログの解析には、解析したい単語で正規表現を使用し、 抽出しています。 正規表現は一行につき、多い場合で5つ実行されます。 echoでところどころに変数を出力するようにしています。 phpの<?phpのすぐ下にも startと出力するようにechoを入れています。 ログのボリュームにもよるのですが、 サイズが大きいログの場合、 解析プログラムを実行しても、最初のうちは、ふんともすんとも しないのです。 5000行のログでは、1時間たっても、実行されず、echoの標準出力が発行されず、 100行程度の場合、数秒でechoの標準出力が出力されます。 すこし、経つと、思い出したかのように 標準出力を吐き出します。 phpのプログラムにおいて、 実行する場合に、どのようなソースチェックが行われているのでしょうか?? すこし、わかりづらい質問ですが、 詳しい方、宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • HTML→PHPへ値を渡して再びHTMLに結果出力

    HTMLからPHPへ値を渡して、再びHTMLに結果を表示したいと思っています。 以下のような簡単なコードを書いてみましたが、HTMLのページに"OK"という文字が表示されません。 PHPのパーミッションは755でやっており、PHPが動作するサーバーでテストしています。 どう修正すれば良いのか、アドバイスをお願い頂けますでしょうか? どうぞよろしくお願い致します。 【HTML】 <html> <head> </head> <body> </body> <script type="text/javascript" src="http://xxx.com/test/jsphptest.php?param=1"></script> </html> 【PHP】 <?php $param = $_GET['param']; header("Content-type: application/x-javascript"); if ($param == '1') { echo "document.write(\"OK\")"; } else { echo "document.write(\"NG\")"; } ?>

    • ベストアンサー
    • PHP
  • PHPでHTMLのページを作成するには?

    拡張子HTMLで実行したいのではなくて PHPコードを使って作成したページをHTMLとして出力したいです。 PHPコードを拡張子HTMLで実行するとアクセスするたびにページの表示内容が変わってしまい 困っています。 どうしたら良いのでしょうか? 教えてください。

    • 締切済み
    • PHP
  • HTML中のPHPが実行されない

    以下のソースをindex.htmlにしてWebサーバーに置いたのですが、ウェブでアクセスはできますが、PHPの実行がされないようです。 それとも、PHPの使い方のミスでしょうか。 <HTML> <TITLE>TEST</TITLE> <BODY> あいうえお<BR> <?include("count.php");?>のアクセスです。<BR> <?php echo $_SERVER["HTTP_USER_AGENT"];?><BR> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • HTML出力後の<body>内を分析

    出力後のHTMLを テキストボックス内に表示させたいです。 $a ='<?php echo'こんにちは'; ?>'; <input type="text" value="$a"> だと、<?php ?>まで表示されてしまいますよね?? こんにちは だけ表示させる方法はないでしょうか??

    • ベストアンサー
    • PHP
  • PHPで動的にHTMLを出力したときの現象

    サーバは自分で立てたcentOS5.4(i386版)を使用しており、そこでホームページの作成をしております。 ホームページは、PHP5+XHTML+CSS+JavaScriptを使用しており、それぞれ別ファイルで作成してあります。 アクセス先はPHPで、そのPHP内にテンプレートを表示する処理を記述してあるのですが、PHPで動的に表示した状態のソースを見ると、生のHTMLの内容と違った状態で表示されてしまいます。 生のHTMLと動的に出力したHTMLのソースは下記の通りです。 生のHTML ================= <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr"> <head> ・ ・ ・ 動的のHTML ================= ?????????<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr"> ・ ・ ・ 動的に出力した状態ですと、ソースの最初に"?????????"という文字が表示されてしまいます。 PHPやHTMLなど、全てのファイルは 文字コード:UTF-8 で、HTMLとCSSは 改行コード:CRLF で、その他のPHPやJavaScriptは 改行コード:LF で作成しております。 php内では、 まずテンプレートを"openFile"で開き、 文字列置換($bodyはテンプレートファイル) $body = str_replace("\\", "\\\\", $body); $body = str_replace("\"", "\\\"", $body); eval("\$body = \"$body\";"); をして、最後に mb_http_output("UTF-8"); header("Content-type: text/html;charset=UTF-8"); print($body); としてあります。 文字コードの関係で文字化けを起こしているため、最初に"?????????"とソースに表示されてしまっているのかと思うのですが、どこが原因なのか分かりません。 原因がお分かりになる方、同じ現象になったことのある方いらっしゃいましたら、ご教授のほどお願い致します。

    • ベストアンサー
    • HTML

専門家に質問してみよう