web-dev-qa-db-ja.com

PHP変数値をJavascript変数に割り当てる方法は?

可能性のある複製:
PHP変数をJavascriptに渡す最良の方法は何ですか?

私は次のコードを使用しています:

<script type="text/javascript">
<?php $ctnme = $_SERVER['REQUEST_URI'];
$cnme = explode("/",$ctnme);
echo $cname = $cnme[1];
?>
var spge = <?php echo $cname; ?> ;
alert(spge);
</script>

値は警告しません。間違いは何ですか?

26

基本的に:

<?php
//somewhere set a value
$var = "a value";
?>

<script>
// then echo it into the js/html stream
// and assign to a js variable
spge = '<?php echo $var ;?>';

// then
alert(spge);

</script>
57
Cups

(特殊文字とデータ型の処理に関して)最も安全な方法は、 json_encode() を使用することです。

var spge = <?php echo json_encode($cname); ?>;
8
Stefan Gehrig

可能であればjson_encode()を使用します(PHP 5.2以降)。

これを参照してください(重複している可能性があります): Pass a PHP string to JavaScript variable(and escape newlines)

3
Frosty Z

<?php echo $cname; ?>を引用符で囲んで、Javascriptがそれを文字列として受け入れるようにし、エスケープすることも検討してください。

2
Dunhamzzz
**var spge = '';** 
alert(spge);
0
Sai Sherlekar