一尘不染

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

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 \”:\“是字符串\”,\“ field1 \”:84,\“ field3 \”:\“我也是\”}

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

有人已经提到过PHP函数的反斜杠。我现在正在使用它,但是我想一起消除所有的斜线。


阅读 216

收藏
2020-07-27

共1个答案

一尘不染

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

2020-07-27