echo显示$ content

时间:2014-03-12 00:16:07

标签: php action echo

我的问题的简短例子:

$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中

任何解决方案?

3 个答案:

答案 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中的

<?php echo "<input type='hidden' name='content' value='" . $content . "'>";

&GT;

HTML中的

<input type="hidden" name="content" value="<?php echo htmlspecialchars($content); ?>">