こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

javascriptとphpの変数のやり取り

ある該当ページ(mtの検索結果ページ)が拡張子をphpにできず、
<script src=hogehoge.php></script>でphpファイルを読み込んで、
実行したいと思います。

phpを使用している理由はある変数を取得したいのですが、
今回は関係ないので割愛します。

■以下ソース

・該当ページ(mt-search.cgi)

<html>
<head>
<title>hoge</title>
<script type="text/javascript" src="/hogehoge.php"></script>
</head>
<body>
<script>
document.write("<p>"+str+"</p>");
</script>
</body>
</html>


・phpファイル(hogehoge.php)
<?php
if(test == test){
$str = "成功"
}else{
$str = "失敗";
}
?>
<script type="text/javascript">
<!--
var str= "<?php echo $str?>";
-->
</script>




このようにしているのですが、
うまく出力されません。

php側の出力はうまくいっているようなのですが、
ブラウザ側の方でちゃんと変数がわたっていないようです。
画面は真っ白です。

ご教授お願いいたします。

投稿日時 - 2011-02-12 03:29:20

QNo.6516328

すぐに回答ほしいです

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

script src= で取り込む内容はHTMLでなくJavaScriptでないといけません。

・phpファイル(hogehoge.php)
<?php
if(test == test){
$str = "成功"
}else{
$str = "失敗";
}
?>
var str= "<?php echo $str?>";

ですね。あるいは、もっと簡単にして、

・phpファイル(hogehoge.php)
<?php
if(test == test){
echo "var str='成功';\n";
}else{
echo "var str='失敗';\n";
}

投稿日時 - 2011-02-12 04:02:21

お礼

こんなに簡単なことだったんですね。。。
半日はまってました!

ありがとうございました!
嘘のようにきれいにできましたw

投稿日時 - 2011-02-12 04:57:26

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

$str = "成功"; 「;」がない というのは ご愛嬌で、
js出力 する、 php に
header("Content-type: application/x-javascript"); いれる事、「<?php の次の行」
出力される js のなかに htmlタグである <script> が 入っている(</script>も。) 「削除」
が 気になります。

あとは php を utf8でつくって
<script type="text/javascript" src="hogehoge.php" charset="utf-8"></script>

投稿日時 - 2011-02-12 04:09:18

お礼

こちらでもできました!
今回はたまたま文字コードらへんはうまくいったようでした。
上記の方が健全そうなので今後はそうしていきたいと思います!

投稿日時 - 2011-02-12 04:58:43

あなたにオススメの質問