Я пытаюсь добавить текст из текстового поля на моем сайте в базу данных MySQL.
Ниже приведен код PHP, который добавляет текст в базу данных.
if (isset($_POST['text'])) { $text = sanitizeString($_POST['text']); $text = preg_replace('/\s\s+/', ' ', $text); $query = "SELECT * FROM profiles WHERE user='$user'"; if (mysql_num_rows(queryMysql($query))) { queryMysql("UPDATE profiles SET text='$text' where user='$user'"); } else { $query = "INSERT INTO profiles VALUES('$user', '$text')"; queryMysql($query); } } else { $query = "SELECT * FROM profiles WHERE user='$user'"; $result = queryMysql($query); if (mysql_num_rows($result)) { $row = mysql_fetch_row($result); $text = stripslashes($row[1]); } else $text = ""; } $text = stripslashes(preg_replace('/\s\s+/', ' ', $text));
И ниже – код формы.
<textarea name='text' cols='40' rows='3'>$text</textarea><br />
Но когда данные вводятся, он показывает это в базе данных правильно, но не показывает, что она отображается правильно. См. Изображения ниже:
Текст, который вводится
Как текст отображается на странице
Как текст находится в базе данных
Это код PHP, который отображает текст на странице.
$result = queryMysql("SELECT * FROM profiles WHERE user='$user'"); if (mysql_num_rows($result)) { $row = mysql_fetch_row($result); echo stripslashes($row[1]) . "<br clear=left /><br />
Надеюсь, ты поможешь!
EDIT: добавлен дополнительный код php
Ваш текст, если вы не используете редактор с расширенным текстом, например Mark-down (как здесь, в Stackoverflow), стилизирован вашим CSS, а не содержимым самой textarea
.
Если проблема заключается в сохранении новых строк, вы можете запустить строку через nl2br($text)
перед сохранением или извлечением из базы данных.
Я бы предложил, чтобы поиск был лучше, но это только мое мнение (и я не могу предложить никаких доказательств для его поддержки).
Или вы можете использовать
echo nl2br($test);