【发布时间】:2012-08-17 20:05:03
【问题描述】:
我在从表单发送 POST 数据时遇到问题。表单中有一个<textarea>,我试图在其中粘贴一些包含标签<script> 的数据(例如,网站流量的计数器代码,没关系)。
<form action="/savepage" method="POST">
<button type="submit">Save</button>
<fieldset>
<textarea name="content">
Some <b>text</b>
<script src="script_source" type="text/javascript"></script>
</textarea>
</fieldset>
</form>
提交表单后,我收到了包含表单所有字段的$_POST 数组,但$_POST['content'] 变量中缺少标签<script>。当我在同一字段中插入任何其他标签时,不会出现此问题。
var_dump($_POST["content"]);
给予
string(18) "一些
<b>text</b>"
谁能解释我在提交表单时<textarea> 字段中的标签<script> 会发生什么,以及为什么它们在$_POST['content'] 变量中不存在?我网站的后端位于 Kohana Framework v.2.4 上。也许是 Kohana 剪切了标签......或者,也许,Apacahe 或 PHP 设置中是否有一个选项可以执行此操作?
提前致谢。
【问题讨论】:
-
您确定它们没有在页面源中显示吗?
-
使用 addlashes($_POST["content"]);
-
addslashes($_POST["content"]) 不起作用,因为 $_POST["content"] 变量中没有
-
@khomyakoshka 您是将
<script>标记放在源代码中还是通过手动将其添加到表单中来提交?如果你在看我的答案之前把它放进去;-)) -
@thedom,我通过手动添加到表单来提交
标签: php html forms apache kohana