-1

PHP と Javascript 変数の通信に問題があります。私はこのコードを持っています:

<?php
$php_var = 'lol';
?>

<html>
<script type="text/javascript" charset="utf-8">
var php_var = "<?php echo $php_var; ?>";

alert(php_var);

</script>
</html>

このコードは、何らかの理由で (意図したとおりに) 機能しません。Javascript 変数に渡された PHP 変数の値を取得できません。何らかの理由で、Javascript は php タグを完全に無視し、php_var に値 "" を割り当てます。そのため、私が設定したリテラルphpコードに警告します。

私は何を間違っていますか?私はこの問題で3時間立ち往生しています。私のサーバーの問題ですか?(専用の Web ホスティングを使用)。ありがとうございました

4

4 に答える 4

6

有効な JavaScript 式を取得するために使用json_encode()します (そうしないと、改行や引用符などの文字によって問題が発生します)。

var php_var = <?php echo json_encode($php_var); ?>;

ファイルに対して PHP が実際に有効になっていることも確認する必要があります。これは通常、ファイルに.php拡張子を付けることによって実現されます。

于 2012-07-24T19:05:08.060 に答える
1

.php ファイル拡張子を使用すると、これが機能します。

そうでない場合、変数に値がありません。firebug などを使用して正確な問題を確認できます。

于 2012-07-24T19:07:03.190 に答える
1

コードが配置されているファイルの拡張子は .html で、php コードをレンダリングするには .php である必要があります。

于 2012-07-24T19:11:51.987 に答える
0

ファイルの名前を .php に変更するか、次のようにします: .htaccess ファイルを作成し、次のコードを追加します ->

RewriteEngine On
<FilesMatch "(file.html)">
    SetHandler php5-script
</FilesMatch>

ファイルを保存し、html ファイルの先頭に次の php 行を追加します -> 選択した html ファイル内に php コードを記述できます

または、次のルールを追加できます

 RewriteEngine On
 file.html file.php
于 2012-07-24T19:21:05.910 に答える