• ベストアンサー

ブラウザによってはソースが表示される

ローカル環境でphpで書いたHPをテストしました。IEではうまくいきますが、FirefoxやOperaではphpソースが表示されてしまいます。見てみると、アローの>や比較演算子の>をphpの終了タグと認識しているようで、そのあとのソースが表示されています。いまは<?phpと?>を使っていますが、ためしに<script language="php"></script>にしてみたらうまくいきました。しかし、formの中で変数を使うのにvalue="<?=$変数 ?>"というように使っているところはその書き方に直していられないようにおもいます。HTMLのヘッダは確認しましたが、ほかにどんな間違いが考えられるでしょうか?

noname#29018
noname#29018
  • PHP
  • 回答数2
  • ありがとう数6

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

質問を読む限り、PHPが動作していないのでしょう。 PHPのインストールとApache?の設定を見直して <?php phpinfo(); ?> が動作することを確認してみてください。 > >をphpの終了タグと認識しているようで HTMLの終了タグとして認識しているのでしょう。 > <script language="php"></script> PHPはサーバーサイドで動作するプログラムです。 > IEではうまくいきますが IEはHTMLの不正な記述をある程度吸収してくれます。 インストールや設定の質問をされる場合は、WEBサーバ、PHPのバージョンをお忘れなく。

noname#29018
質問者

お礼

ありがとうございました。phpinfoでやってみましたらテキストがそのまま表示されたので、ご指摘のとおりPHPが動いていないのだろうとおもいました。テスト方法が悪いのだろうとおもってテスト方法をしらべましたらhttp://127.0.0.1/○○.phpというようにアクセスすればいいとのことでやってみましたらきちんと動きました。(なぜ?)仕組みがわかっていないのでIEで動いたのを大丈夫と勘違いしてPHPが動いていないなんてまったく考えませんでした。勉強します。

その他の回答 (1)

  • Suzi
  • ベストアンサー率38% (130/334)
回答No.2

確実なのは、PHPタグは全て、<?php・・・・・?>の方が、間違いがなく、<?=$変数 ?>も、<?php print $変数; ?>のように明示的にした方が分かりやすいと思います。

noname#29018
質問者

お礼

ありがとうございました。<script・・・>で動いたのは勘違いだったんですね。何冊かの本から切り貼りしているのがいけないようです。もう少し勉強します。

関連するQ&A

  • phpファイルに書いたhtmlソースが表示される

    php側で用意した変数にhtmlタグと合わせて $tempHTML=<tr><td>$data1</td><td>$data2</td></tr>"; のように文字列を代入して、表形式でデータを表示させようとしているのですが、 なぜかhtml部分のソースのみがブラウザに表示されてしまいます。 ファイル名"search_result.php" --------------------------- <html> <body> <script type="text/javascript"><!-- function dataFunc(txt){ alert("search_result_data"); document.search_result.search_result_data.value = txt; } --></script> </head> <body> <form name ="search_result" method="post action="./search_result_test.php"> <input type="hidden" name="search_result_data" value=""></input> </form> <script type="text/php"> <?php 処理の記述 ?> </script> </body> </html> --------------------------- と書いて実行させると、 --------------------------- <html> <body> <script type="text/javascript"><!-- function dataFunc(txt){ alert("search_result_data"); document.search_result.search_result_data.value = txt; } --></script> </head> <body> <form name ="search_result" method="post action="./search_result_test.php"> <input type="hidden" name="search_result_data" value=""></input> </form> <script type="text/php"> </script> </body> </html> --------------------------- と表示され、phpの記述(<?php・・・?>)以外のソースがまるまるブラウザで表示されてしまいます。 しかも肝心の処理結果も表示できません。 どなたか原因が分かる方がいらっしゃったら教えていただけますか?

    • ベストアンサー
    • PHP
  • ブラウザの表示について

    よろしくお願いします。 IEでは問題なく表示されて、Opera、Firefox、Safariで表示されないのはHTMLの記述が問題なのでしょうか? それとも外部スクリプトのほうの問題なのでしょうか?? 下記はHTMLのソースの一部です。 -------------------------------------------------------------- <head> <title>catalog test</title> <script type="text/javascript" src="test6.js"></script> <style type="text/css"> table{ border-collapse:separate; } table,tbody,tr,th,td{ border-style:solid; } </style> </head> <body onload="YOMIKOMI(3);"> <p> <object id="TEST" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"> <param name="DataURL" value="list2.csv" /> <param name="UseHeader" value="true" /> <param name="TextQualifier" value="'"> <param name="FieldDelim" value=","> </object> </p> <div id="OUTPUT"> </div>

  • 画像のソースを変える(JavaScript)

    <html> <head> <script language="javascript"> <!-- function Karasu() { document.forms[0].elements[0].value = "からす"; }// --> </script> </head> <body onload="Karasu()"> <form> <input type="text"><br> </form> </body> </html> ソースの「document.forms[0].elements[0].value」のように画像のソースを書き換えて違う画像を表示させることはできませんか? name属性を使わずにお願いします。 また、他のもっと良い考え方で画像を動的に変更する方法があれば教えてください!

  • scriptによる読み込みのselect表示

    <script language="javascript" type="text/javascript" src=""></script> で外部ファイルからHTMLを読み込ませ表示させたいのですがなぜかselectが上手く表示されません。 上手く説明できませんが <script language="javascript" type="text/javascript" src="http://www.○○.com/××.php"></script> を貼り付けた部分に http://www.○○.com/に用意した××.phpから <form action="" method="post"> <input type="radio" name="test1" value="1" />r1 <input type="radio" name="test1" value="2" />r2 <input type="checxbox" name="test2" value="1" />c1 <input type="ceckbox" name="test2" value="2" />c2 <select name="test3"> <option value="1">s1</option> <option value="2">s2</option> </select> </form> このようなHTMLを吐き出して表示させたいのですが、redioやchekboxは問題ないのにselectが上手く表示されません。 全くプルダウンが出来ずoption部分を見る事が出来ない状態です。 上記のような方法で表示させる事は無理なのでしょうか? それとも何か対応策はあるのでしょうか? どなたかお教え願えませんでしょうか。

  • PHP内で作成したHiddenタグが、ソース表示で見えてしまう

    PHP内で作成したHiddenタグが、ソース表示で見えてしまう 熟練者・経験者の皆様にはお世話になっております。 よろしくお願いします。 現在、ログイン画面(html)⇒メニュー画面(php)⇒各画面(php) で構成されるサイトを作成しています。 ログイン画面ではIDとPASSWORD文字列を引数にJavaScriptの関数を実行し、POSTしています。 IDとPASSWORDはメニュー画面のPHP内で受け取り、 問い合わせをして正しければメニュー画面のhtmlを表示し、 正しくなければログインエラーのhtmlが表示されます。(ついでに社員番号やその他の値も取ってます) ですがメニュー画面から各画面へ遷移する際に、ログインIDや、 その他の情報をどうやって渡してやればよいのか判りません。 ログイン画面(html)からメニュー画面(php)へのPOSTと同じ用に メニュー画面もタグのValue(IDやPASSWORD)を引数に JavaScriptでSubmitすれば良いと考えました。 しかしその為にはまずPHTがログイン画面から受け取った値を、 HiddenタグでHtmlに渡してやる必要があります。 ですが、ブラウザで「ソースを表示」としてソースを見ますと、Hiddenタグが見えてしまうのです。 書いているソースは少々はしょりますがこんな感じのものです。 1.login.html <form action="menue.php" name="form_login" method="post"> 社員ID:<INPUT type="text" size="24" name="id_txtbox"> PassWord:<INPUT type="text" size="20" name="password_txtbox"> <IMG id="btnlogin" onclick="login(id_txtbox.value,password_txtbox.value); "name="btnlogin"> </form> 1.2. login.js function login(id,pass){ document.form_login.id_txtbox.value = id; document.form_login.password_txtbox.value = pass; document.form_login.submit(); } 2.menue.php <?php $user_id = $_POST['id_txtbox']; $user_pass = $_POST['password_txtbox'];  $hiddentag1 .= "<input type='hidden' id='hid_id' name='hid_id' value=" .$user_id. ">"; ?> <html> <body> <form action="edit.php" name="link_edit" method="post"> <?= $hiddentag1 ?> </form> </body> </html> menue.phpが表示された際に、右クリックメニューからソースの表示を選択し、 ソースを見ますと、hiddenタグが表示されてしまっています。 もしPASSWORDがmokoだったら、 <input type='hidden' id='hid_id' name='hid_PASS' value=moko> と見えてしまいます。 これではIDやパスワードをページ間で持ちまわる事は危なくて出来ません。 しかし、login.htmlからのアクセス以外(URL直打ち等)をはじく為には 全てのページで最初にIDとPASSWORDによる認証が必須とも考えています。 どうすれば「ソース表示」で見せずに、phpからhtmlに重要な値を渡し、 それを他のphpにPOSTする事が出来るでしょうか? PHP,POST等のキーワードで探しても、検索語句が悪いのか、なかなか解決方法を見つかれずにいます。 どうかご教授くださいませ。

    • ベストアンサー
    • PHP
  • PHPでjavascriptを表示する方法

    すみません。javascriptの事はほとんど分からないのですが、 phpを使ってjavascriptを表示したいのですが基本的な部分で分かりません。 例えば <?php echo"<script>document.write(\"PHP!\")</script>;" ?> は簡単にできますが、タグに入っているjavascriptはどうやってphpで表示させるのでしょうか? <form name="aaa" method="post" action="bbb.php"> <select name="ccc" onChange="document.forms['aaa'].submit()" > <option value="111">111</option> <option value="222">222</option> </select> </form> 上記のスクリプトを単純にphpで表示したいのですが、どうやってもphpで囲むとonChangeが動かず 動的にはなりません。 何時間もぐぐったりしてますが解決しません。タグの中のjavascriptは直接phpでは動かせないのでしょうか?

    • ベストアンサー
    • PHP
  • ソースコードを表示するブラウザはありますか?

    次のような機能を持ったブラウザを探しているのですが、このようなものはあるのでしょうか? (1)URLを指定するとそのページのソースコードを表示する。 (2)ソースコード中の<A>タグ(またはURL)をクリックすると、そのURLをIEなどのHTMLを解釈して表示するブラウザに渡して表示させる。

  • HTMLタグの生成について

    HTMLタグの生成について、質問させて頂きます。 ボタンをタップすると、テキストボックスに「<a>」タグを表示する事は できたのですが、複数回押下した際には既にテキストボックスにある <a>タグの後に<a>を追加させたいのですが、上書きされてしまうようでうまくいきません。 参考サイトまたは、お分かりの方がいたらご教授お願い致します。 下記がサンプルソースになります。 よろしくお願い致します。 <script language="JavaScript"> <!-- function my61() { document.form6.text62.value='<a href=#>';} //--> </script> <form name="form6"> <input type="text" name="text61" size="20">   <input type="button" value="CLICK!" onClick="my61();"> </form>

  • 未対応ブラウザ向けコメントについて

    初歩的な質問なのですが、調べて解決できなかったので どなたか教えてください。 通常<script> タグの中身を 1 <script language="javascript"> 2 <!-- 3 4 //--> 5 </script> このようにコメントアウトすると読んだのですが、 javascript対応のブラウザの場合、 2行目のはんぱなタグが残ってしまうような気がします。 1 <script language="javascript"> 2 //<!-- 3 4 //--> 5 </script> ↑これならば完全に2・4行目のタグがコメントアウトされ、 未対応ブラウザでも <script language="javascript">//</script> と、ソースが表示されなくなると思うのですが…。 おそらく何かが理解できていないと思うので、 正しい答えを教えて頂けないでしょうか。 宜しくお願いします。

  • サンプルソースをブラウザーに表示する手段

    HTMLやjQueryのサンプルソースを紹介するのに、 画像のような状態のものをよく目にするのですが、 これは何か特別なライブラリーがあって、 それを設定するだけでこのような表示が可能なものなのでしょうか? ここまで高機能ではなくても、 タグや背景に色付けができればなと思っているのですが… それともそういう便利なものはないのでしょうか? HTMLの「pre」タグを使えば、ひとまずは簡単に表示させられるので、 それでもいいかと思っているのですが、 ご存知の方がらいらしたらぜひ教えていただきたいと思いまして。 よろしくお願いいたします。

    • ベストアンサー
    • HTML

専門家に質問してみよう