#php #sql #echo
#php #sql #эхо
Вопрос:
Я верю, что это простой вопрос, но пока не могу в нем разобраться. У меня есть текстовая область, которая после отправки отправляется в базу данных, а затем я повторяю этот текст на странице, но вот проблема, скажем, человек пишет в текстовой области:
Привет, Роберт,
Это всего лишь тест!.
Джейсон.
И сообщение отправляется в базу данных просто так, но когда я повторяю это, я получаю:
Привет, Роберт, это всего лишь тест!. Джейсон.
Это форма:
<textarea name="newMessage" wrap="hard" cols="30" rows="3"></textarea>
<input type="submit" name="submit" value="Ingresar"> </>
Это код, который я использую для отображения текста:
<?php
while($row = mysql_fetch_assoc($messages)){
echo $row['mensaje']."<br/>";
}
?>
Это то, что я использую для вставки кода:
if(isset($_POST['submit'])){
$check4LB = $_POST['newMessage'];
while($letter = mysql_fetch_assoc($check4LB)){
if($letter=' '){
$letter='<br/>';
}
} /////I know this is not write bu is the idea i thgouht at least
$query = mysql_query("SELECT (ifnull(max(idRegistro),0) 1) as id FROM messages");
$row = mysql_fetch_array($query);
$idMax = $row['id'];
$insertMessage = "INSERT INTO messages(idRegistro, mensaje) VALUES ('".$idMax."','".$letter."')";
mysql_query($insertMessage) or die(mysql_error());
echo "<meta http-equiv=Refresh content="0 ; url=".$_SERVER['PHP_SELF']."">";
}
Комментарии:
1. пользователь nl2br при вставке $letter, т.е. nl2br ($letter)
2. @JapanPro Лучше сохранять данные как есть и форматировать их только тогда, когда вы хотите их отобразить.
Ответ №1:
попробуйте echo nl2br($row['mensaje']);
Комментарии:
1. здесь nl2br($row[‘stackoverflow_comment_text’]); не работает
Ответ №2:
Используйте nl2br()
для вывода из базы данных.
Ответ №3:
Попробуйте это
<?php
while($row = mysql_fetch_assoc($messages)){
echo str_replace("r",'<br/>',$row['mensaje']);
}
?>
Комментарии:
1. Существует 3 типа перевода строки:
r
на Mac,n
в linux / unix,rn
Windows. Таким образом, лучше использоватьnl2br()
которые обрабатывают разницу.