Heim >Backend-Entwicklung >PHP-Tutorial >为什么在textarea中显示编辑内容时,开头总有6个多的空格
在sina app engine上用php写自己的博客程序。 在创建或更新文章时,用 textarea 来容放文章内容, 暂时以纯文本的形式将文章内容保存到数据库。
表单是这样的(在write_article.php中):
<code><form action="save_article.php?id=<?php%20echo%20%24id;%20?>" method="post" align="center"> ... ... <p> <textarea rows="20" cols="80" name="article_text"> <?php if($op == "update"){echo $content;} ?></textarea></p> <p><input type="submit" value="提交"></p> </form> </code>
保存文章的sql语句是这样的(在save_article.php中)。
<code>$content = $_POST["article_text"]; // update article $sql = "update article set title=\"$title\",type=\"$category\",content=\"$content\",summary=\"$summary\",updatetime=\"$datetime\" where id=$id"; ... ... // save new article $sql = "insert into article values ($id, \"$category\", \"$title\", \"$author\", \"$summary\", \"$content\", \"$datetime\", \"$datetime\", $hits)"; </code>
但是更新文章时(在write_article.php中进行), 发现在textarea中显示的文本开头总是多出六个空格。 删除掉空格,再提交文章。 等到再编辑文章时,发现textarea开头还是多出六个空格。
但在 阅读文章 时,发现文章开头并没有多出的空格。
百思不得其解,所以向各位求助,这多出的空格是怎么回事呢?
在sina app engine上用php写自己的博客程序。 在创建或更新文章时,用 textarea 来容放文章内容, 暂时以纯文本的形式将文章内容保存到数据库。
表单是这样的(在write_article.php中):
<code><form action="save_article.php?id=<?php%20echo%20%24id;%20?>" method="post" align="center"> ... ... <p> <textarea rows="20" cols="80" name="article_text"> <?php if($op == "update"){echo $content;} ?></textarea></p> <p><input type="submit" value="提交"></p> </form> </code>
保存文章的sql语句是这样的(在save_article.php中)。
<code>$content = $_POST["article_text"]; // update article $sql = "update article set title=\"$title\",type=\"$category\",content=\"$content\",summary=\"$summary\",updatetime=\"$datetime\" where id=$id"; ... ... // save new article $sql = "insert into article values ($id, \"$category\", \"$title\", \"$author\", \"$summary\", \"$content\", \"$datetime\", \"$datetime\", $hits)"; </code>
但是更新文章时(在write_article.php中进行), 发现在textarea中显示的文本开头总是多出六个空格。 删除掉空格,再提交文章。 等到再编辑文章时,发现textarea开头还是多出六个空格。
但在 阅读文章 时,发现文章开头并没有多出的空格。
百思不得其解,所以向各位求助,这多出的空格是怎么回事呢?
你<textarea></textarea>
后面有空格和换行,所以会这样。内容顶着<textarea></textarea>
写,
保存的时候用 $content =trim( $_POST["article_text"] );
就可以了~
改成:
<code><textarea rows="20" cols="80" name="article_text"><?php if($op == "update"){echo $content;} ?></textarea> </code>
注意 textarea 中不要有任何多余的东西,你原来的代码里有换行和空格。