我的问题的简短例子:
$myname = "Blah Blah";
$content = "<table><tr><td>".$myname."</td></tr></table>";
<?php
echo "<table><tr><td>".$myname."</td></tr></table><form name='makepdf' action='make_pdf.php?content=$content' method='POST'><button class='cupid-green' name='submitpdf'>Prenos PDF</button></form>";
?>
稍后我会在make_pdf.php文件中捕获$ content ...
但问题是我得到了双重显示内容,其中显示了回声。但是如果我改变action ='make_pdf.php?content = test'就可以了。我还在make_pdf.php中捕获$ content。
我试图制作:
<input type='hidden' name='content' value='$content'>
我得到相似或更差的结果,因为我没有抓住$ content = $ _GET ['content'];在make_pdf.php中
任何解决方案?
答案 0 :(得分:2)
使用PHP htmlspecialchars函数对其进行编码:
value="<?php echo htmlspecialchars($content); ?>"
答案 1 :(得分:1)
尽量避免使用PHP中的echo
静态HTML,这只会让事情变得复杂。
您需要使用value
对标记进行编码,以便在htmlspecialchars()
属性中使用。例如
?>
<input type="hidden" name="content" value="<?= htmlspecialchars($content) ?>">
<?php
答案 2 :(得分:0)
<?php echo "<input type='hidden' name='content' value='" . $content . "'>";
&GT;
HTML中的
<input type="hidden" name="content" value="<?php echo htmlspecialchars($content); ?>">