php - 为什么要将转义字符添加到隐藏输入的值中

标签 php html json

<body>
  <div> <?= $_POST['msg'] ?> </div>
  <form id="frm" method="post">
    <input type="hidden" name='msg' value='{"field0": "Im a string", "field1": 84, "field3": "so am I"}' />
    <input type="submit" value="test" />
  </form>
</body>

提交表单时,div 标签之间会显示以下字符串。

{\"field0\": \"Im a string\", \"field1\": 84, \"field3\": \"so am I\"}

为什么要添加转义字符? 它们是由 PHP 服务器还是 Web 客户端添加的? 我能做些什么来防止这种情况发生吗?

有人已经提到了 PHP 函数 stripslashes。我现在正在使用它,但我想一起摆脱斜杠。

最佳答案

检查你的PHP配置是否有magic_quotes_gpc已激活,在这种情况下,PHP 服务器会自动将斜杠添加到 GET/POST/cookie 值...

关于php - 为什么要将转义字符添加到隐藏输入的值中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1038980/

相关文章:

php - 使用子查询将多行插入 MySQL

php - 使用 PHP 和 Ajax 将 XML 数据插入 Mysql 表

php - 如何检查数组中的哪些值在 MySQL 中?

javascript - 将带有 ASCII 控制字符的条形码扫描到输入字段中

php - 如何找到表中的最大值,如果有相同的值,则从找到的数据中最小的ID中检索数据(mysql 5.5.36)

java - 为什么我在这里得到 "org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR"?

javascript - 告诉 TypeScript 文件将包含在脚本标签中?

json - Yii Restful API 将在 POST 上创建,但不会填充任何变量

ios - 将 NSData 转换为可读的 JSON 格式 Swift

javascript - 从 json 构建 HTML 的最佳方法