htmlからのphp結果表示に関する質問

このQ&Aのポイント
  • htmlからjavascriptを介してphpを呼び出す方法や、phpファイルを直接実行した際の表示についての問題に関して質問させていただきます。
  • 開発環境(xampp)では正常に表示されるが、webサーバ上ではワーニングが出る問題について教えていただきたいです。
  • また、phpファイルの中身やhtmlからの呼び出し方についても教えていただけると助かります。
回答を見る
  • ベストアンサー

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
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

1行目にheaderがあるのに、headers already sentになるということは、<?phpより前に何か文字がありませんかね。 ソースの文字コードがUTF-8だったらBOMが付いているとか(お使いのエディタによりますが、BOMなしとかUTF-8Nで保存してください)。ちなみにメモ帳でUTF-8だと「BOMあり」でしか保存出来ません。その場合にはエディタをお使いください。

appplus
質問者

お礼

早速のご回答ありがとうございました。 >、BOMなしとかUTF-8Nで保存してください 今さっき、この方法に気づきました。 もう2時間近く悩んでいたので・・・ ありがとうございました。

関連するQ&A

  • 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
  • Javascriptで動的にテーブル表示したい

    下記、 PHPの$title 、 $link 、$description を Javascriptで動的にテーブル表示したいです。 表示したいテーブルをHTMLで書くと、 ※以下の3列、複数行になります。 <TABLE> <TBODY> <TR> <TD width="108" height="100"></TD> <TD width="229" height="100"></TD> <TD width="396" height="100"></TD> </TR> </TBODY> </TABLE> 初心者であるため具体的に書き方を御指導お願いできればと思います。 何卒、よろしくお願い致します。 ----------------------------------- <?php 【省略】 header("Content-type: application/x-javascript"); echo 'document.open();'; // open if ($rs = $rss->get($url_flux_rss)) { for($i=0;$i<$limite;$i++) { $title = mb_convert_encoding($rs['items'][$i]['title'], $mojicode, 'auto'); $link = '<a href="http://xxx">' . $title . '</a><br />'; echo 'document.write(\'' . $link . '\');'; if ($d == 1) { $description = mb_convert_encoding($rs['items'][$i]['description'], $mojicode, 'auto'); echo 'document.write(\'' . $description . '<br /><br /><br />\');'; } } } else { echo 'document.write(\'' . $errormessage . '\');'; } echo 'document.close();'; // close ?>

  • 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
  • 検索結果へのリンク

    http://z.rash.jp/sample20.php 上記URLで紹介されているreflexa Web APIを利用したPHPの プログラムを実行した後に表示される検索結果にリンクを貼りたい のですが初心者過ぎてよく分かりません。どなたかご教授頂けると 本当に助かります・・。 (現状の検索結果の例) ラーメン<br />豚骨<br />こってり<br />中華そば・・・・・ (希望するの検索結果) <a href="http://hoge.com/search?word=ラーメン" target="_blank">ラーメン</a><br /> <a href="http://hoge.com/search?word=豚骨" target="_blank">豚骨</a><br /> <a href="http://hoge.com/search?word=こってり" target="_blank">こってり</a><br /> <a href="http://hoge.com/search?word=中華そば" target="_blank">中華そば</a><br /> ・ ・ ・ ・ ど素人ですみません。

    • ベストアンサー
    • PHP
  • 複数のランダム表示について

    現在、外部のjsを読み込み、 ランダムではなく下記の方法で 4バナー表示をしております。 【index.html】 <script type="text/javascript" src="js/banner.js"></script> 【banner.js】 document.write("<ul class=\"banner\">"); document.write("<li><a href=\"http://1.jp/\" target=\"_blank\"><img src=\"http://1.jp/img/1画像.jpg\" alt=\"1\" width=\"200\" height=\"80\" /></a><br />1テキスト</li>"); document.write("<li><a href=\"http://2.jp/\" target=\"_blank\"><img src=\"http://2.jp/img/2画像.jpg\" alt=\"2\" width=\"200\" height=\"80\" /></a><br />2テキスト</li>"); document.write("<li><a href=\"http://3.jp/\" target=\"_blank\"><img src=\"http://3.jp/img/3画像.jpg\" alt=\"3\" width=\"200\" height=\"80\" /></a><br />3テキスト</li>"); document.write("<li><a href=\"http://4.jp/\" target=\"_blank\"><img src=\"http://4.jp/img/4画像.jpg\" alt=\"4\" width=\"200\" height=\"80\" /></a><br />4テキスト</li>"); document.write("</ul>"); 【ブラウザ】 1画像.jpg 1テキスト -------- 2画像.jpg 2テキスト -------- 3画像.jpg 3テキスト -------- 4画像.jpg 4テキスト 教えて頂きたいのは、下記のように ランダム表示で4つのバナーを表示させたいのですが どうしたらいいか分かりません。 【ブラウザ】 4画像.jpg 4テキスト -------- 2画像.jpg 2テキスト -------- 1画像.jpg 1テキスト -------- 3画像.jpg 3テキスト 詳しい方おりましたらお教え頂けないでしょうか? よろしくお願いします。

  • リンクのクリック数を把握したい

    現在、以下のようなjavascriptを書いて、リンクを作っています。 <script type="text/javascript"> <!-- A01=new Array(); A01[0]='<a href="http://www.yahoo.co.jp/" target="blank">yahoo</a>'; A01[1]='<a href="http://www.google.co.jp/" target="blank">google</a>'; a01=Math.floor(Math.random()*A01.length); B01=new Array(); B01[0]='<a href="http://www.livedoor.co.jp/" target="blank">livedoor</a>'; B01[1]='<a href="http://www.goo.co.jp/" target="blank">goo</a>'; b01=Math.floor(Math.random()*B01.length); --> </script> とgoogleとyahoo、;livedoorとgooを配列に入れておき、 どちらかがランダムで出てくるようにして実際の表示部に以下を配置しています。 <script type="text/javascript"> <!-- document.write(A01[a01]); --> </script> <script type="text/javascript"> <!-- document.write(B01[b01]); --> </script> このスクリプトで、A01(yahoo or google)とB01 (livedoor or goo)が それぞれ何回クリックされたのかを把握したいです。 どのようにすれば良いか、ご教示頂けると幸いです。

  • FC2Blog上、ツールチップ表示

    ポップアップ表示をさせたいと思って、ツールチップの表示のさせ方を調べてみたのはいいのですが、 <a href="リンク先のアドレス" target="_blank">タイトル</a> というHTMLの target="_blank"の後にtitle="リンク先の説明"を書き足すだけ、で合っていますか? 実際はプロフを表示させる部分に、改変をくわえて <div class="plugin-prof" &align> <script type="text/javascript" charset="utf-8" src="http://pr.fc2.com/●/●blogparts.js"></script><noscript><a href="http://pr.fc2.com/●/" target="_blank"title="プロフィール">●●のプロフィール</a></noscript> </div> <br><br>性格<br> ●●● (●部分は伏字) としております。 以上のとおりに更新してみても、URL先へジャンプはするものの、肝心のポップアップがされないままです…。 誤りはどの部分なのでしょうか?

    • ベストアンサー
    • HTML
  • javascriptでのリンク表示

    サンプル図(http://lancerevolution.tuzikaze.com/sampletest.html) main.htmlと言うページとmenu.htmlと言うページがあります。 main.htmlと言うページには、  ⇒<a href="b.html?url=http://yahoo.co.jp" target="_blank">Yahoo Japanへ!</a>  ⇒<a href="b.html?url=http://www.google.co.jp/" target="_blank">Googleへ!</a>  ⇒<a href="b.html?url=http://jp.msn.com/" target="_blank">msnへ!</a> と言う3つのリンクがあります。 この3つリンクの内どのリンクでもいいのでクリックした時に、サンプル図の(3)の部分に、  ⇒<a href="http://yahoo.co.jp" target="new">Yahoo Japanへ!</a>  ⇒<a href="http://www.google.co.jp/" target="new">Googleへ!</a>  ⇒<a href="http://jp.msn.com/" target="new">msnへ!</a> として出力することはできますでしょうか? つまり、main.htmlにあるリンクをクリックした時に、main.htmlの「b.html?url=」を含んでいる、リンク全てを(3)の部分に出力("b.html?url="の部分を削除、targetを"new"にして出力)できますか?ってことです。 もし、できるようならどのようなjavascriptが必要でしょうか?どうぞ、よろしくお願いします。

  • 画像がうまく表示されないのですが

    ページを見るごとにランダムで画像が変わるタグを書き込んだのですが・・・ タグ1 <script language="JavaScript"> <!-- var simg=new Array(5); simg[0]="icon1.png"; simg[1]="icon2.png"; simg[2]="icon3.png"; simg[3]="icon4.png"; simg[4]="icon5.png"; var Myimg=Math.floor(5*Math.random()); document.write("<img src='"+simg[Myimg]+"'>"); //--> </script> タグ2 <SCRIPT LANGUAGE="JavaScript"> <!-- simg=new Array(2); simg[0]="<a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"; simg[1]="<a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"; Myimg=Math.floor(2*Math.random()); document.write("<img src='"+simg[Myimg]+"'>"); //--> </SCRIPT> タグ1はインフォシークのサーバーでは表示されたのですが、A-RINGSのサーバーでは表示されなかったので、サーバーの問題で表示されないのでしょうか? 表示されないとしたらどのようにしたら表示されるものなのでしょうか? タグ2はどちらのサーバーも表示されませんでした。 どうしたらちゃんと表示されますでしょうか?

  • 外部javascriptファイルの中にさらに外部javascriptファイルを入れたい

    javascript初心者です。 メニューの一部を外部ファイルによるツリーメニューにし、 さらにメニュー部分全体を外部ファイルにしようとしましたが、 メニュー部分全体を外部ファイルに移したら、 中のツリーメニューが機能しなくなってしまいました。 いろいろ試してみましたが、付け焼き刃の知識では皆目見当が付きません。 ご指摘いただけると嬉しいです。内容は下記の通りです。 メニュー全体の外部ファイル「menu.js」 document.write('<div id="menu">'); document.write('<h1>お役立ち情報<\/h1>'); document.write('<ul>'); document.write('<script src="javascript\/tree.js" type="text\/javascript"><\/script>'); document.write('<li><a href="javascript:tree("click1");" title="">HOME<\/a>'); document.write('<\/li>'); document.write('<div id="click1" style="display:none;">'); document.write(' <a href="未設定" title="作成中です" target="未定">第1ページ <\/a>'); document.write('<br>'); document.write(' <a href="未設定" title="教えられません" target="未定">第2ページ <\/a>'); document.write('<br>'); document.write('<\/div>'); document.write('<li><a href="javascript:tree("click2");" title="">お知らせ<\/a>'); document.write('<\/li>'); document.write('<div id="click2" style="display:none;">'); document.write(' <a href="未設定" title="作成中です" target="未定">第3ページ <\/a>'); document.write('<br>'); document.write(' <a href="未設定" title="教えられません" target="未定">第4ページ <\/a>'); document.write('<br>'); document.write('<\/div>'); document.write('<li><a href="#">DOWNLOAD<\/a>'); document.write('<\/li>'); document.write('<\/ul>'); document.write('<\/div>'); 中に入れてあるツリーメニューの外部ファイル「tree.js」 function tree(id) { if (document.getElementById(id).style.display == "block") document.getElementById(id).style.display="none"; else document.getElementById(id).style.display="block"; } .htmlの記述はこうなっています。 <script src="menu.js" type="text/javascript"></script>

専門家に質問してみよう