【发布时间】:2014-04-26 13:16:23
【问题描述】:
我目前正在我的网站上重新设计一个页面,允许注册用户向管理员发送消息。我正在使用的所有代码在其他页面上已经完全正常运行,但是在移动所有内容之后,它已经停止工作,这让我感到困惑。
<textarea name="content" id="msgs" class="convo" ></textarea>
文本区域非常简单,表单包裹在 TR 标签周围。 我知道该表格有效,因为我还向表格提交了发送者和接收者的日期/时间和电子邮件地址。表单执行“compose.php”,成功写入数据库并重定向回客户的个人资料。问题是“新”消息是空白的。除了文本区域的内容外,所有内容都发送到表单。
如果我使用纯文本区域,那么一切正常,所以问题必须是我应用于文本区域的“所见即所得内容编辑器”,即使它在其他页面上工作正常?
bkLib.onDomLoaded
(
function()
{
new nicEditor({buttonList : ['bold','italic','underline','left','center','right','ol','ul','fontFamily','fontSize','fore color','link','unlink']}).panelInstance('msgs');
}
);
有人知道我可以从哪里开始吗?我已经解决这个问题好几个小时了,它开始让我变得最好了!如果您需要任何其他 sn-ps 代码,请告诉我。
编辑
也许这会有所帮助...
<textarea name="content" id="msgs" class="convo" >TEST MESSAGE</textarea>
当页面加载时,“TEST MESSAGE”被写入文本区域。如果我提交它,值会传递给表单,然后传递给数据库等...但是如果我删除它并输入我自己的话,什么都不会发送?
【问题讨论】:
-
(感谢@Wireblue!)您遇到的错误是什么?我不确定问题出在内容编辑器上。
-
您的 PHP 是否包含任何与
$content=$_POST['content'];类似的内容?这是通常的 PHP 表单命名约定。 @CraigyCraigo -
我注意到
'fore color'中间有空格。你试过删除它吗? -
新页面是否使用 SSL 证书?在将站点转换为使用 SSL 时,我遇到了类似的问题。随机的东西停止工作。我很确定你会从
http://到https://失去 $_POST -
说实话,如果消息是发给管理员的;为什么你允许以任何方式格式化?我可以在论坛、博客或某种留言板上看到它是一个不错的功能,但是当我编写类似的脚本时,我倾向于尽可能地限制这种东西,因为害怕 XSS。而且...谁在乎我的管理员是否能看到漂亮的东西。 ckeditor.com 看起来维护得很好,并且在 github 上开源。你可能会和他们走得更远。
标签: javascript php html mysql forms