вставлять простые новости с формой в базу данных - сохранить <br> - PullRequest
0 голосов
/ 19 сентября 2011

Привет, ребята, это дало мне тяжелые времена.У меня есть простая форма, я копирую / вставляю новости в свою базу данных для дополнительного контента;Я не могу реализовать метод nl2br, потому что я получаю некоторые ошибки ... может быть, это то, что мне не хватает.

Вот код из моей формы, из моего ткача снов ...

$insertSQL = sprintf("INSERT INTO nwes (title, contentt, owner, `data`, hot) VALUES (%s, %s, %s, %s, %s)",
                   GetSQLValueString($_POST['title'], "text"),
                   GetSQLValueString($_POST['content'], "text"),
                   GetSQLValueString($_POST['owner'], "text"),
                   GetSQLValueString($_POST['data'], "date"),
                   GetSQLValueString($_POST['hot'], "text"));
  1. Где я должен применить функцию nl2br?

  2. Кроме того, у меня есть свои собственные статьи, и я хочу иметь возможность вставить сюда в форму весь мой исходный текст из моего сновидения, включая форматирование и другие теги.Я не знаю, как использовать html_entities ors mysql_real_escape_string .. или, может быть, вы знаете другое решение моей конкретной проблемы.

Спасибо!

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

nl2br следует применять при выводе данных, а не при их сохранении.

Вам нужно экранировать ваши данные, когда вы вставляете их в БД. Я не уверен, что такое GetSQLValueString () или что он возвращает, но вам нужно использовать подготовленные операторы или mysql_real_escape_string (), чтобы избежать SQL-инъекций.

Редактировать: похоже, GetSQLValueString (или, по крайней мере, версия, которую я нашел в Adobe) обрабатывает экранирование и цитирование данных для вас.

0 голосов
/ 19 сентября 2011

какие ошибки вы получаете?Я не знаю, что такое nl2br, но я предполагаю, что у вас есть какая-то ошибка в MySQL.Я полагаю, что вам нужно иметь кавычки: VALUES('%s','%s'...)

Обычно это происходит неправильно, когда я вставляю

...