php论坛提交时未检测到新行
我正在尝试建立一个非常类似于论坛的功能,用户可以在其中撰写章节或故事(文本的长部分)。然后,该文本将存储在mysql上,以便可以调用、阅读和评论等。这一切都已设置好,工作正常,但当用户键入新行时,无法识别。因此,用户可以键入- 这是第1段 这是第2段 但所显示的只是- 这是第1段这是第2段 我知道有一些字符是html和php,比如或\n,但是使用论坛的人不太了解这一点。有没有办法让它自动工作 下面是我的add_topic.php的代码php论坛提交时未检测到新行,php,mysql,forms,newline,forum,Php,Mysql,Forms,Newline,Forum,我正在尝试建立一个非常类似于论坛的功能,用户可以在其中撰写章节或故事(文本的长部分)。然后,该文本将存储在mysql上,以便可以调用、阅读和评论等。这一切都已设置好,工作正常,但当用户键入新行时,无法识别。因此,用户可以键入- 这是第1段 这是第2段 但所显示的只是- 这是第1段这是第2段 我知道有一些字符是html和php,比如或\n,但是使用论坛的人不太了解这一点。有没有办法让它自动工作 下面是我的add_topic.php的代码 <?php session_start(); $una
<?php
session_start();
$uname = $_SESSION['uname'];
$host="mysql.******************.co.uk"; // Host name
$username="**********"; // Mysql username
$password="************"; // Mysql password
$db_name="************_members"; // Database name
$tbl_name="forum_question"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// get data that sent from form
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$name=$_POST['username'];
$datetime=date("d/m/y h:i:s"); //create date time
$sql="INSERT INTO $tbl_name(topic, detail, name, datetime)VALUES('$topic', '$detail', '$name', '$datetime')";
$result=mysql_query($sql);
if($result){
echo "Successful<BR>";
echo "<a href=main_forum.php>View your topic</a>";
}
else {
echo "ERROR";
}
mysql_close();
?>
请再试一次
$detail=htmlentities($_POST['detail']);
在数据库中转换特殊的HTML字符。
希望有帮助
有关更多信息,请转到在显示前是否尝试过使用
nl2br
?它将把所有\n
字符转换为html
另请参见文档:恐怕还是没有运气:(对不起,您还应该使用
$detail=htmlentities(nl2br($\u POST['detail']));
将换行符转换为
。谢谢你的快速回答,但我恐怕不太明白我应该把这个放在代码的什么地方。还有什么提示吗?无论你在哪里使用echo
来显示文本,你也可以在网上查找教程。使用了一个符咒:D对不起,应该通过显示知道你指的是echo。但是真的很管用:D谢谢
$detail=htmlentities($_POST['detail']);