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 :: Обработка текстового поля перед внесением в базу

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Kreks
Отправлено: 04 Сентября, 2011 - 00:06:29
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Авг. 2011  
Откуда: Ульяновск


Помог: 0 раз(а)




Приветствую, добавил к себе в скрипт простенькую функцию чтобы php код в текстовом поле не выполнялся и заменялся на другие символы. После добавления текста с какими либо кавычками видно, что текст обрабатывается,но в саму базу вносится текст который я набрал.Помогите сделать так чтобы в базу данных вносился обработанный код

Проверку всегда делаю на такой строке: <meta http-equiv='refresh' content='3;url=index.php'>
При заходе в админку (выводятся все записи) и этот код выполняется.Тоесть обновляет страницу.

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. function inputclean($input, $sql=true, $tag = true, $strip = true) {
  4. if ($tag) {
  5. $input = htmlentities($input, ENT_QUOTES, 'UTF-8');
  6. //html_entity_decode()делает все обратно
  7. }
  8.  
  9. // мнемонизировали строку.
  10. if(get_magic_quotes_gpc ()) {
  11. $input = stripslashes ($input);
  12. // убрали лишнее теперь экранирование.
  13. }
  14.  
  15. if ($sql) {
  16. $input = mysql_real_escape_string ($input);
  17. // если нужен MySQL-запрос,
  18.  
  19. }
  20.  
  21. if ($strip) {
  22. $input = strip_tags($input);
  23. // если надо, то режем теги
  24. }
  25.  
  26. //режем теги.
  27. $input=str_replace ("\n"," ", $input);
  28. $input=str_replace ("\r","", $input);
  29. $input = str_replace('\"', """, $input);
  30. $input = str_replace("\'", "'", $input);
  31. $input = str_replace('<', "<", $input);
  32. $input = str_replace('>', ">", $input);
  33.  
  34. //обрабатываем переводы строки.
  35. return $input;
  36. }
  37. $input = inputclean($_POST['text']);# Присваеваем функцию полю
  38. #echo $input ;
  39.  
  40.  
  41.  
  42.  
  43. <p>
  44. <label>Текст<textarea name="antext" value="<?=$input;?>" cols="80" rows="20"></textarea>
  45. </label>
  46. </p>
  47.  

(Отредактировано автором: 04 Сентября, 2011 - 00:09:07)

 
 Top
tato
Отправлено: 04 Сентября, 2011 - 18:44:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011  
Откуда: Владивосток


Помог: 8 раз(а)




у вас где теги режете ошибка, вроде функция сама не описана.

(Отредактировано автором: 04 Сентября, 2011 - 18:46:43)



-----
просто ?: сложно
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB