PHP で生成された値を JavaScript コードに組み込む
PHP で生成された変数を JavaScript コード内で利用しようとすると、問題が発生する可能性があります。たとえば、次のコード スニペットは期待どおりに機能しない可能性があります:
<?php $htmlString = 'testing'; ?> <html> <body> <script type="text/javascript"> var htmlString=<?= $htmlString; ?>; alert(htmlString); </script> </body> </html>
解決策:
この問題を解決するには、PHP タグを二重引用符で囲みます:
<?php $htmlString = 'testing'; ?> <html> <body> <script type="text/javascript"> // notice the quotes around the ?php tag var htmlString="<?= $htmlString; ?>"; alert(htmlString); </script> </body> </html>
デバッグのヒント:
JavaScript エラーが発生した場合は、ブラウザーが提供する JavaScript コンソールを利用して問題を特定します。さらに、ブラウザによって表示されるページのソース コードを調べます。
注意:
上記のアプローチではセキュリティ上の脆弱性が発生する可能性があることに注意することが重要です。特にクロスサイト スクリプティング (XSS) 攻撃。これらのリスクを軽減するには、以下の代替ソリューションで提案されている json_encode() の採用を検討してください:
<?php $htmlString = 'testing'; $encodedString = json_encode($htmlString); ?> <html> <body> <script type="text/javascript"> var htmlString=<?= $encodedString; ?>; alert(htmlString); </script> </body> </html>
以上がPHP で生成された値を JavaScript コードに安全に含める方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。