現在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を始めたばかりの初心者で、質問自体おかしい点があるかも
しれませんが、、どうぞよろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
echo "document.write(\" {$obj->getCategories()} \")";
文字列内でオブジェクトの参照を利用する時は、{}で括りましょう。
http://php.s3.to/man/language.types.string.html# …
でなければ、echo 文を使うなら、分割引数にする。
echo 'document.write("', $obj->getCategories(), '")';
参考URL:http://php.s3.to/man/language.types.string.html# …
hrm_mmmさん度々回答いただきありがとうございます!
教えていただいたやり方で無事解決しました!
教えていただいたPHPマニュアル、もっと勉強しようと
思います。
ありがとうございました!
No.2
- 回答日時:
header()出力前に、include内でよけいな出力がされてるからでは?
何らかの出力が行われると、その時点で、とりあえずのheaderが送信されてしまい、
その次のheader()出力は、contentとして評価されるのでjavascript構文としては文法エラーになります。
今回の場合は、include文をheader()より後方で実行すればいいだけでしょう。
この回答への補足
hrm_mmmさん回答ありがとうございます!
教えていただいた箇所修正したところ、エラーはなくなり
ました!
ただ、
echo "document.write(\" $obj->getCategories() \")";
ここの部分で表示されるのが()括弧だけなんです。
この部分を下記のように修正して
echo $obj->getCategories();
直接init.phpをたたくときちんと表示されるので値は取得できて
いるのですが、phpの返り値をきちんと文字列に変換などしないと
いけないのでしょうか?
ちなみに$obj->getCategories()で返却される文字列は下記の
ような感じです。
<select name = 'categorie'>
<option value = 1>日記</option>
<option value = 2>備忘録</option>
</select>
色々とやってみたのですがうまくいかず、、度々お手数おかけ
いたしますが、解決方法ありましたらご教授お願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで`headers already sent`と...
-
PHP検索 完全一致のみヒット
-
CSV出力にHTMLが入ってしまう
-
Spreadsheet_Excel_Writerのイ...
-
¥マークを出力したいがバック...
-
phpにcssを適応させたい...
-
リダイレクト元のURLの取得方法...
-
phpでPEAR::DBを使っているので...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
php5-extensions を make でき...
-
CFileDialogの最初のディレクト...
-
PHPのみでの背景色は指定できる...
-
リンク先を隠す方法はないでし...
-
2つの画像ファイルが異なるファ...
-
PHPのif文でその処理を途中で抜...
-
index.phpに入るには、どうすれ...
-
3つ以上の論理積は利用可能なの...
-
「クラス関数」「メンバ関数」...
-
index.phpって何ですか? 具体...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSV出力にHTMLが入ってしまう
-
PHPSpreadsheetによる書き出し...
-
文字列を段落で分ける方法を教...
-
phpにcssを適応させたい...
-
エクスプローラーでフォルダを...
-
TCPDFについて
-
PHPで取得したHTML内のdiv要素...
-
ob_end_clean と ob_clean の違...
-
JSON_UNESCAPED_UNICODEをつけ...
-
リダイレクト元のURLの取得方法...
-
phpexcelにてsubmitボタンを押...
-
phpで不思議な現象が起きるので...
-
変数名の前後に文字列を追加す...
-
PHPで`headers already sent`と...
-
phpでmysqlから画像パスを出力する
-
print出力での文字制限について
-
smarty foreach 半角スペース
-
imgタグでのphpの呼び出しについて
-
PHP/phpMyAdmin/データベースな...
-
【smarty】<A href="">内でのみ...
おすすめ情報