为什么 PHP 中的 $_POST 变量会发生转义
问题:
为什么 $从 AJAX POST 请求接收数据时,_POST 变量在 PHP 脚本中被转义?这种情况发生在 Linux 上运行 PHP 5.2.12 的生产服务器上,但不会发生在 Windows 上运行 PHP 5.3.1 的本地服务器上。
答案:
魔术引号,特别是 magic_quotes_gpc,可能在 Linux 服务器上启用。
说明:
魔术引号自动转义某些字符(单引号和双引号,从外部源(包括 POST 请求)接收的数据中包含反斜杠和空字节)。当这些引号打开时,您应该禁用它们,因为它们会影响 POST 变量的引用方式。
可能的解决方案:
<code class="php">if (get_magic_quotes_gpc()) { $my_post_var = stripslashes($_POST["my_post_var"]); }</code>
注意: 此解决方案从所有 POST 数据中删除斜杠,因此有选择地使用它根据您的要求。
以上是为什么我的 $_POST 变量在生产服务器上转义,但在本地服务器上却没有转义?的详细内容。更多信息请关注PHP中文网其他相关文章!