来自mozilla的用户提交的内容充满了随机换行符

时间:2013-01-24 22:44:12

标签: php sql firefox line-breaks

我一直在建立一个用户提交日志和概要的网站。这是通过使用$ _POST提交的,然后使用SQL查询将其放入SQL表中。出于某种原因,只有在MOZILLA FIREFOX(我已经在Chrome,IE,safari,甚至在ipad(再次使用Safari)上测试过),当它到达SQL表时,它充满了随机的换行符。当在网站的不同部分查看提交时,无论有什么换行符,因此Mozilla在提交步骤中肯定存在问题。

那么Mozilla的问题是什么?我希望得到任何帮助,使这不会发生,这是提交的内容(删节包含相关的部分):

用户在这种textarea中输入值:

<form id="submitform" name="submitform" action="submit.php" onsubmit="return validateSubmitForm(event)" method="post">

    // some code

        <textarea style="height:300px;width:800px;font-family:Arial;border:1px solid #a6a6a6;
                         background-color:#fff9eb;resize:none" 
                  wrap="hard" size="1500" placeholder="1500 character limit..." maxlength="1500"
                  id="submitsummary" name="submitsummary" type="text"></textarea>

    // some code

</form>

然后,在将表单作为$ _POST提交后,我将其输入到数据表中,基本上是这个SQL查询:

"INSERT INTO table (userid, header, synopsis) 
VALUES(1, 1, " . htmlspecialchars($_POST["submitsummary"]) . ")"

有关为什么只有Mozilla出现问题的想法?还有,如何解决它的任何想法?非常感谢!

2 个答案:

答案 0 :(得分:1)

众所周知,

wrap="hard"存在Firefox问题。删除它并检查随机换行是否消失。

同时为文本框设置cols and rows attributes,因为Firefox也使用它来确定正确的包装。

答案 1 :(得分:1)

我怀疑你的问题是wrap =“hard”。这要求您使用cols属性,并在textarea中的文本环绕点处插入换行符。

删除wrap或setting wrap =“soft”将导致提交的数据只有用户点击输入的换行符(或者用户粘贴时,只有粘贴数据有换行符的位置)。