我一直在建立一个用户提交日志和概要的网站。这是通过使用$ _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出现问题的想法?还有,如何解决它的任何想法?非常感谢!
答案 0 :(得分:1)
wrap="hard"
存在Firefox问题。删除它并检查随机换行是否消失。
同时为文本框设置cols and rows attributes
,因为Firefox也使用它来确定正确的包装。
答案 1 :(得分:1)
我怀疑你的问题是wrap =“hard”。这要求您使用cols属性,并在textarea中的文本环绕点处插入换行符。
删除wrap或setting wrap =“soft”将导致提交的数据只有用户点击输入的换行符(或者用户粘贴时,只有粘贴数据有换行符的位置)。