phpの結果をjavaスクリプトタグで表示したい

このQ&Aのポイント
  • phpの結果を含んだ処理結果をHTMLに埋め込んだjavaスクリプトタグで表示する方法について教えてください
  • php側でのプログラムと表示側のHTMLのコードを示し、変数を含んだ場合の対応方法についても教えてください
  • 詳しいアドバイスをいただけると嬉しいです!
回答を見る
  • ベストアンサー

phpの結果をjavaスクリプトタグで表示したい

phpの変数を含んだ処理結果をHTMLに埋めこんだjavaスクリプトタグで表示したいです。 php側のプログラム <?php header("Content-type: application/x-javascript"); $a = array('abc', 'def', 'ghi'); rsort($a); foreach ($a as $tmp) { echo "document.write(\"<P>$tmp</P><br>\")"; } ?> 表示側のHTML <html> <body> <script type="text/javascript" src="http://www.aaa.com/hoge.php"></script> </body> </html> echo "document.write(\"<P>$tmp</P><br>\")"; の箇所が変数でなければ、記入した文字が表示されます。。 例: echo "document.write(\"あああ\")"; 変数に対応した書き方でないと思いますが、、、アドバイスいただけないでしょうか? よろしくお願い致します。

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

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 そのJavaScriptを出力しているPHPに直接アクセスしてみてください。 document.write("<P>ghi</P><br>")document.write("<P>def</P><br>")document.write("<P>abc</P><br>") こんな出力になっていると思います。 echo "document.write(\"<P>$tmp</P><br>\");\n"; にすれば良いです。 FirebugみたいなWeb開発ツールを利用すれば一発でエラーがわかりますよ。

anan19
質問者

お礼

ご回答ありがとうございます! HTMLソース表示で確認してました、、、 ご指摘内容を試し、期待した結果で表示されました。

関連するQ&A

  • 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
  • htmlからのphp結果表示

    お世話になります。 htmlからjavascriptを介してphpを呼んでいます。 phpファイルを直接実行すると開発環境(xampp)では、以下のように表示されますが ----------------------------- document.write("<a href=http://xxx1 target=_blank>タイトル1</a><br>") document.write("<a href=http://xxx2 target=_blank>タイトル2</a><br>") document.write("<a href=http://xxx3 target=_blank>タイトル3</a><br>") document.write("<a href=http://xxx4 target=_blank>タイトル4</a><br>") ----------------------------- webサーバ上では以下のワーニングとともに、html化?され出力されてしまいます。 ----------------------------- Warning: Cannot modify header information - headers already sent by (output started at /export/サーバパス on line 1) in /export/サーバパス on line 2 document.write("リンク化されたもの(クリック可能) ") document.write("リンク化されたもの(クリック可能) ") document.write("リンク化されたもの(クリック可能) ") document.write("リンク化されたもの(クリック可能) ----------------------------- 開発環境との動きの違いは、ワーニングによるものと思うのですが 原因がわかる方教えていただけませんか? ちなみにphpの中身です。 ----------------------------- <?php header("Content-type: application/x-javascript"); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); ・・・ URLをecho出力 ?> ----------------------------- htmlからは以下で呼んでいます。 ----------------------------- <script type="text/javascript" src="xxx.php"> ----------------------------- よろしくお願いします。

    • ベストアンサー
    • PHP
  • javascriptとphpの連携で疑問

    javascriptの変数をphpに渡すプログラムを、ネットを参考にして次のようなものを作りました。 ●クライアント側 (index.html) <html> <head> </head> <body> <script type="text/javascript" src="j2p.php?parm=1"></script> </body> </html> ●サーバー側 (j2p.php) <?php $parm = $_GET['parm']; header("Content-type: application/x-javascript"); if ($parm == 1) { echo "document.write('1ですよ')"; } else { echo "document.write('1じゃないですよ')"; } ?> 上記は問題なく動作するのですが、サーバー側のプログラムを、次のように 変更し、直接$parmを出力しようとすると何も表示されません。 ●サーバー側 (NG1) <?php $parm = $_GET['parm']; header("Content-type: application/x-javascript"); echo "document.write('<?php echo $parm; ?>')"; ?> どこか、考え方が根本的に間違っているのかも知れませんが、この問題で ずっと悩んでおり、先に進めない状態です。 上記プログラムのおかしな点、改善点など、アドバイスよろしくお願い いたします。

  • htmlからjavascript経由でのphp結果

    お世話になります。 htmlからjavascriptを介してphpを呼んでいます。 htmlでは以下のように呼んでいます。 <script type="text/javascript" src="../xxx.php" charset="utf-8"></script> html内のphpファイルをwebサーバ上で直接実行すると以下のように表示されます。 ----------------------------- document.write("<a href=http://xxx1 target=_blank>タイトル1</a><br>") document.write("<a href=http://xxx2 target=_blank>タイトル2</a><br>") document.write("<a href=http://xxx3 target=_blank>タイトル3</a><br>") document.write("<a href=http://xxx4 target=_blank>タイトル4</a><br>") ----------------------------- 出力した内容は表示できているので、phpコード的には問題ないと思うのですが htmlに出力されません。 他の箇所で同様の処理を行っていて、こちらはhtml上に表示されているので ちょっと苦戦しています。 ファイルもutf-8でbomなしにしています。 先輩方よろしくお願いします。

    • ベストアンサー
    • PHP
  • adsense広告がphp出力できない

    お世話になります。 以下の構文が記載されたPHPをhtmlからjavascriptにて呼び出してます。 が、うまく広告が表示されずに困っています。 PHPを直接叩き、document.write等を削除したものを 直接htmlに貼り付ければ、広告は表示されます。 広告が表示されない原因としては、adsenseのscript内でinframeを作成しているのですが そのさいのwidth,heightが0になってしまっているようです。 しかし、なぜその値が渡せていない?のかが解らずハマっています。 <?php header("Content-type: application/x-javascript"); echo "document.write(\"<div align='center'>\")\n"; echo "document.write(\"<p>\")\n"; echo "document.write(\"<script type='text/javascript'><!--\")\n"; echo "document.write(\"google_ad_client = 'hogehogeID';\")\n"; echo "document.write(\"/* 200*200 */\")\n"; echo "document.write(\"google_ad_slot = 'slotnumber';\")\n"; echo "document.write(\"google_ad_width = 200;\")\n"; echo "document.write(\"google_ad_height = 200;\")\n"; echo "document.write(\"//-->\")\n"; echo "document.write(\"</script>\")\n"; echo "document.write(\"<script type='text/javascript'\")\n"; echo "document.write(\"src='http://pagead2.googlesyndication.com/pagead/show_ads.js'>\")\n"; echo "document.write(\"</script>\")\n"; echo "document.write(\"</p>\")\n"; echo "document.write(\"</div>\")\n"; ?> よろしくお願い致します。

    • ベストアンサー
    • PHP
  • phpのプログラミングについての質問です。

    外部ファイルにテンプレートと言うか、データとしてHTMLの書かれたファイルを置くとします。 そして、メインのphpのファイルで変数や定数の処理をさせて、その外部HTMLファイルを読み込ませ、HTML内に記載した変数等を表示させるとします。 // tmp.html // <html> <body> <div> <p>こんにちは{$php}です。<br> 今日は{ConstTest::CONST_TEST}ですね。</p> <p>どうも。{$aisatsu.$php2}です。<br> 今日は{$tenki[1]}なので、悪い天気ですよ。</p> </div> </body> </html> // tmp.html ここまで // 上記のような{$変数}と言う、{ と } で囲った書き方のプログラムを良く見かけるのですが、 phpプログラム内で、どう処理させれば、表示できるのでしょうか? また、上には書きましたが、下記のように定数のクラスファイルも外部に作って、表示させることは可能でしょうか? そもそも、定数も{}で表示させることは可能なんでしょうか? もうひとつ、{$a.$b}の様に文字列の入った変数をドットでつなげると言う書き方も可能でしょうか? // main.php // <?php require_once('./class.php'); $php = 'アマガエル'; $aisatsu = 'こんにちわ。'; $php2 = '椎名アップル'; $tenki = array('晴れ','雨','曇り'); // 処理の仕方が解からないので、デタラメな?の部分です $hoge = file_get_contents('./tmp.html'); echo $hoge; // ?の部分終わり exit; ?> // main.php ここまで // // class.php // <?php class ConstTest { const CONST_TEST = '雨ですが、良い天気'; } ?> // class.php ここまで //

    • ベストアンサー
    • PHP
  • PHPをjavascriptで表示したいのですが。

    PHPで書いたプログラムをブログパーツにしたいため、 javascriptで表示させたいのですが、 どうしたらよいのでしょうか? ・表示させたいPHPのサンプル(動作は一応確認しました) ~ここから~ <?php $site = array( array("aaa","test1","テスト中なのでございます"), array("bbb","test2","テスト中なのでござる"), ); shuffle($site); $num = 1; for($a = 0; $a < $num; $a++) { echo("<center><p>".$site[$a][0]."</p><p>by <a href=\"http://test-test-sample.org/archives/".$site[$a][1]."\" target=\"_top\">".$site[$a][2]."</a></p></center>"); } ?> ~ここまで~ ネット調べたところ、PHPファイルに header("Content-type: application/x-javascript");を入れて、 echoにdocument.writeを付ければ、 <script type="text/javascript" src="http://test-test-sample.org/○○○.php"></script> で表示できると書いてあったのですが、うまくいきませんでした。 プログラミング素人のため、見当違いなことを言ってるかもしれませんが、 PHPやjavascriptにお詳しい方、どうかご教授を宜しくお願い致します。

    • ベストアンサー
    • PHP
  • Javascript から PHP を呼び出したい

    お世話になります。 html 内の Javascript から PHP を呼び出して表示したいと思っています。 ローカル環境で試したところ表示されたのですが、借りている lolipop のサーバへアップしてみたところ表示されませんでした。 何か固有の設定や根本的に間違っている!などありましたらご教示いただけないでしょうか。 以下、試した内容です。 test.html を実行し a.php を呼び出して表示したいです。 ローカルでは test.html を読み込むと [aaa] と表示されたのですが・・・。 [test.html] <html> <head></head> <body> <script type="text/javascript" src="http://example.com/a.php"></script> </body> </html> [a.php] <?php header("Content-type: application/x-javascript; charset=UTF-8"); echo "document.write(\"aaa\")"; ?>

    • 締切済み
    • PHP
  • phpからjsへ

    はじめまして。 jQueryの$.ajax関数のGETを使って phpからjavascriptに echo 'document.write("<script type='text/javascript'>var like_arr=new Array(1,1,1,1,1,1,1,1,1,1,1,1,1)</scr"+"ipt>");' と値を返してarrayを作成しようと思っています。 しかしこの返し方だと ブラウザに表示した時 document.write(" とhtml上に表示されてしまいarrayが作成されません。 しかしjsに直接 document.write("<script type='text/javascript'>var like_arr=new Array(1,1,1,1,1,1,1,1,1,1,1,1,1)</scr"+"ipt>"); と書き込んでみるとarrayが存在しています。 どうしたらphpからの値でdocument.writeをする事が出来ますか? 分かる方いらっしゃいませんか? よろしくお願いします。

    • 締切済み
    • PHP
  • phpからdocument.writeで出力したい

    phpの処理結果をdocument.writeで出力したいです。 DBの状態 update   |url  |name|tensuu 2013-04-18 00:00:00 |a.html|田中|10 2013-04-22 00:00:00 |b.html鈴木|20 2013-05-21 00:00:00 |c.html佐藤|30 2013-05-22 00:00:00 |d.html黒田|40 2013-05-22 00:00:00 |e.html安部|50 2013-05-22 00:00:00 |f.html向井|20 2013-05-23 00:00:00 |h.html大井|90 php の記述 *DBに接続後配下を書いてます。 $sql = "select * from [テーブル名] where update < DATE_SUB( CURDATE(),INTERVAL 1 DAY ) order by tensuu DESC"; $sql .= " LIMIT 0,3"; $datas = mysql_query($sql , $db ); //HTML側に出力する header("Content-type: application/x-javascript"); while ($row = mysql_fetch_assoc($datas)) { echo "document.write(\" <a href=\"$row['url']\">$row['name']</a>\")\n"; echo "document.write(\" <p>$row['tensuu']</p>\") \n"; } 出力されるHTML側 <html> <body> <script type="text/javascript" src="http://www.aaa.com/phpecho.php"></script> </body> </html> この結果でエラーも出ませんが、、、文字も何もでません。。 document.writeのrowあたりの書き方がおかしいと思いますが、 手がつけられない状態です。 アドバイス頂ければ幸いです。 よろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう