当我提交表单时,PHP会像我写的那样回应标签,而不是将它们转换为htmlentities。有什么问题?
PHP:
<?php
$name = htmlentities(substr($_POST["name"], 0, 100), ENT_QUOTES);
$email = htmlentities(substr($_POST["email"], 0, 100), ENT_QUOTES);
$msg = htmlentities(substr($_POST["message"], 0, 500), ENT_QUOTES);
echo ($name.'<br>'.$email.'<br>'.$msg);
HTML:
<html>
<body>
<form role="form" action="test.php" method="POST">
<p>Name:<input type="text" placeholder="Name" maxlength="100" name="name"></p>
<p>Email address:<input type="text" placeholder="Email" maxlength="100" name="email"></p>
<p>Message:<textarea rows="4" name="message" placeholder="Message" maxlength="500"></textarea></p>
<input type="submit" value="submit">
</form>
</body>
</html>
答案 0 :(得分:3)
<example>
<example>
<example>
<
视为在文档中显示<
的说明example
视为要显示的文字>
视为在文档中显示>
的说明如果htmlentities
无效,那么<example>
将被视为未知标记,您将看不到任何内容。
如果您要转换为HTML实体,然后显示 HTML文档中的实体 ,那么您需要通过htmlentities
<运行它们强>两次强>