我想使用JavaScript(客户端脚本)访问PHP(服务器端文件变量)而不使用MySQL.我有$ name = Tom; 如何在JavaScript中访问此$ name变量?请显示代码示例,因为我是编程新手.谢谢.
你可以做点什么
<script>
php_variable = <?= json_encode($php_variable) ?>;
</script>
Run Code Online (Sandbox Code Playgroud)
甚至可以让你做数组和可能的对象.但它需要PHP 5.2或更高版本.如果你没有被困json_encode
,你可以在调用时包装引号addslashes
,但这不会让你做数组等.
如果你的意图是在某种形式下设置值,你可以这样做
<input type="text" name="stuff" value="<?= htmlentities($stuff) ?>">
Run Code Online (Sandbox Code Playgroud)
当然,如有必要,您可以在脚本中访问该元素的值.
这里有两个要点:
由于PHP正在生成页面,因此它可以随意输出内容 - 甚至可以在<script>
元素的中间输出.您可以使用它将变量从服务器传输到客户端,但反之亦然.(转移客户变量......好吧......这实际上需要XHR或表单提交.)
但总是*逃避从PHP到任何地方的东西 - 特别是如果它进入HTML,JS或直接进入SQL.除非您的服务器设置为全部延迟(例如启用魔术引号),否则PHP将获取原始数据,并且它可能具有特殊字符,这将导致其中一个或全部中断.
*好了,不是很经常.如果你有一个包含某些HTML或JS的PHP变量,你想输出为 HTML/JS,那么就不要逃避它.但是你应该知道"XSS"的含义,并且不要盲目输出用户提供的数据.
归档时间: |
|
查看次数: |
2528 次 |
最近记录: |