Построчная запись в БД из textarea

12
M
На сайте с 04.12.2013
Offline
223
#11

Sitealert, magic_quotes_qpc в 5.4 уже удалена.

Я вангую, что это не ввод, а вывод такой. А разделение на строки не произошло из-за того что платформы клиента и сервера не совпадают.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
S
На сайте с 30.09.2016
Offline
469
#12

miketomlin, действительно я не заметил строчку с версией.

Так что остаётся только гадать, что там у ТС происходит.

Могу ещё предположить, что ТС нам слегка приврал и вставляет в свою формулу не $_POST['textarea'], а уже результат обработки $_POST['textarea'] функцией mysqli_real_escape_string.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#13

Marat_Kh, вы значение функции stripslashes почитайте для начала.

Она НАОБОРОТ убирает слэши. В YII это костыль, если эти слэши включены по умолчанию, убрать слэши. Это не защита, а нормализация данных к человеческому виду.

И правильно, что удалили в PHP эту функцию к чертям. Это бред обрабатывать таким методом данные.

---------- Добавлено 20.01.2018 в 12:10 ----------

имеет смысл юзать у себя

Имеет смысл делать:

get_magic_quotes_gpc off

А вообще не юзать PHP 5.4

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
MK
На сайте с 18.08.2005
Offline
126
#14
LEOnidUKG:
Marat_Kh, вы значение функции stripslashes почитайте для начала.

Я знаю что такое stripslashes. Пример ровно для того, чтобы показать, что имеет смысл нормализовать данные перед использованием. Не более. Иллюстрирует идею. Чтобы приложение работало, насколько возможно, корректно в т.ч. и на PHP < 5.4----

Также, не буду скрывать, пример приведен в основном в ответ на это:

Обрабатывать POST и GET т.е. их менять это вообще неправильно. 

И, кстати, $this->stripSlashes не обязательно должна быть stripcslashes;)


Я такой подход юзаю, правда не для стрипслэшес, а для проверки и (или) санитарной обработки сегментов урла, _постов, _гетов и прочих _кук, как значений, так и ключей. Нормально все работает.

нет
Joker-jar
На сайте с 26.08.2010
Offline
154
#15

Заодно посоветую не выполнять запрос в цикле, а формировать результирующий запрос. Как-то так:

$sql_parts = array();
foreach ($str_array as $value) {
$sql_parts[] = sprintf("('%s')", $value);
}

$sql = "INSERT INTO you_table(str) VALUES %s";
$sql = sprintf( $sql, implode(', ', $sql_parts) );
NothingMatters
На сайте с 12.06.2017
Offline
45
#16
Joker-jar:
Заодно посоветую не выполнять запрос в цикле, а формировать результирующий запрос. Как-то так:

$sql_parts = array();

foreach ($str_array as $value) {
$sql_parts[] = sprintf("('%s')", $value);
}

$sql = "INSERT INTO you_table(str) VALUES %s";
$sql = sprintf( $sql, implode(', ', $sql_parts) );

Что только не придумают, лишь бы prepared statements не юзать.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий