我有一个更新/编辑我的数据库的文本框,经过数千次错误尝试让它实际工作我现在正处于[希望]最后阶段!
目前没有这些编辑页面,我的网站如何工作就是我在数据库中有一个文本块,例如
[p]这是示例文本[/ p]
[p]这是将在下一段[/ p]
中提供的更多示例文本当它回到网站时,html标签消失,文字完全格式化我想要的样子。
然而,当我添加一个新页面或编辑现有文本时,我最终会在文本框中写出的内容回显到网站中。
我该怎样做才能阻止这种情况发生?
这是代码
<form id="form" name="form" method="post" action="page_edit_parse.php" onsubmit="return validate_form ( );">
<textarea name="pagebody" id="pagebody" cols="88" rows="16"><?php echo $pagebody; ?></textarea>
<input name="pid" type="hidden" value="<?php echo $pid; ?>" />
<input type="submit" name="button" id="button" value="Submit Page Edit" />
</form>
答案 0 :(得分:2)
当显示页面时,textarea($ pagebody)的内容被解释为html,这就是标记标签“消失”的原因。但是,当您提交表单时,textarea内容会被编码,以保留您的输入。接收脚本可以在将pagebody值写入数据库之前对其进行解码。请参阅此相关帖子:php htmlentities to decode textarea。