已发布变量中的引号未在下一页上显示回显

Quotes in a posted variable is not displaying with echo on the next page

我有一个隐藏字段 <input type="hidden" name="thischeckout" id="thischeckout" value="<?php echo $htmlTable;?>"> 在提交的表单中。

当我在下一页使用<?php echo $_POST["thischeckout"];?>时,只显示了一部分内容。我怀疑 $htmlTable 中的引号弄乱了输出。

当我通过 php 回显输出 POST 时,我可以用不会弄乱的东西替换引号吗?

当您使用 htmlspecialchars 转义输出时,您必须告诉函数转义的上下文。在这种情况下,传递 ENT_QUOTES 就足够了,因为这实际上是唯一需要在一般 HTML 属性中特殊处理的字符。

<input type="hidden" name="thischeckout" id="thischeckout" value="<?php echo htmlspecialchars($htmlTable, ENT_QUOTES);?>">