Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Введение недопустимых символов в поле сообщения
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Больше такого не советуйте.
Не дай бог ктото этому послушается
----- Truly yours, Sasha.
EuGen
Отправлено: 26 Ноября, 2007 - 10:17:12
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Что-то у нас на форуме стало много некомпетентных "советчиков" ((*
Вообще valenok прав, используйте mysql_escape_string, а для "очистки" Вашей строки можете использовать: preg_replace, прочитать можно тут: http://php.su/functions/?preg-replace
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
valenok
Отправлено: 26 Ноября, 2007 - 13:24:59
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Да очищать вообще не обязательно.
Не всегда приятно когда пол твоего сообщения отрезали потому что ктото не умеет обрабатывать данные.
----- Truly yours, Sasha.
T-Mon
Отправлено: 26 Ноября, 2007 - 14:50:48
Гость
Покинул форум
Сообщений всего: 81
Дата рег-ции: Нояб. 2007
Воспользовался этим кодом, но, увы, в базу данных ничего не добавляется...
Если же писать нормальное сообщение, то все рабоет как следует.\n\n(Добавление)
Спасибо всем и прошу прощения.
Вот снова проглядел! Ведь у меня в БД на размер имени стоит ограничение в 20 символов, а ведь после приведения строки в надлежащий вид кол-во символов может расти... а я это не учел, вот по этому и не добавлялось.\n\n(Добавление)
Только хотелось бы узнать: обязательно ли применение mysql_escape_string после htmlspecialchars, насколько я понял работу они выполняют одинаковую..?
EuGen
Отправлено: 26 Ноября, 2007 - 15:39:48
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
valenok
Отправлено: 26 Ноября, 2007 - 15:47:40
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Цитата:
Только хотелось бы узнать: обязательно ли применение mysql_escape_string после htmlspecialchars, насколько я понял работу они выполняют одинаковую..?
Работу они выполняют разную.
обязательно НЕ примененять mysql_escape_string после htmlspecialchars в том виде в котором это сделали вы\n\n(Добавление)
Пора собирать базу книжек которые категорически запрещено читать.
где вы насмотрелись запросов на подобии этого
$query="INSERT INTO `$table` (name, post) VALUES ('$name','$post')";
?
----- Truly yours, Sasha.
T-Mon
Отправлено: 26 Ноября, 2007 - 19:09:42
Гость
Покинул форум
Сообщений всего: 81
Дата рег-ции: Нояб. 2007
Помог: 0 раз(а)
А почему мой метод непрвилен (mysql_escape_string(htmlspecialchars($name,ENT_QUOTES)))?
Странно, а что вам не понравилось в моей запросе, вроде бы все корректно работало и работает... что нужно изменить и почему?
P.S. Книга Зольникова Д.С. "Как самостоятельно создать сайт любой сложности".
Devoll
Отправлено: 26 Ноября, 2007 - 22:53:24
Новичок
Покинул форум
Сообщений всего: 59
Дата рег-ции: Июль 2007
$query="INSERT INTO `".$table."` (name, post) VALUES ('".$name."','".$post."')";
По скорости уж намного быстрее вашего метода (примерно на 30%)
T-Mon
Отправлено: 27 Ноября, 2007 - 07:48:11
Гость
Покинул форум
Сообщений всего: 81
Дата рег-ции: Нояб. 2007
Помог: 0 раз(а)
Да, понял, но а в чем тут (mysql_escape_string(htmlspecialchars($name,ENT_QUOTES))) беда?
valenok
Отправлено: 28 Ноября, 2007 - 13:27:10
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Сами же написали
Цитата:
Ведь у меня в БД на размер имени стоит ограничение в 20 символов, а ведь после приведения строки в надлежащий вид кол-во символов может расти
----- Truly yours, Sasha.
T-Mon
Отправлено: 28 Ноября, 2007 - 22:55:47
Гость
Покинул форум
Сообщений всего: 81
Дата рег-ции: Нояб. 2007
Помог: 0 раз(а)
Ладно, поставим вопрос иначе, нашел я описание ф-и mysql_escape_string, но, увы, не разобрался, что она конкретно дает...
valenok
Отправлено: 29 Ноября, 2007 - 01:38:50
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
mysql_escape_string — Escapes a string for use in a mysql_query
This function will escape the unescaped_string , so that it is safe to place it in a mysql_query().
В переводе звучит как.
Функция читает магические заклинания над строкой, так чтобы
она безопастно умещалась в mysql_запрос
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.