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
Форумы портала PHP.SU :: Версия для печати :: Обработка текстового поля перед внесением в базу
Форумы портала PHP.SU » » Вопросы новичков » Обработка текстового поля перед внесением в базу

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

1. Kreks - 04 Сентября, 2011 - 00:06:29 - перейти к сообщению
Приветствую, добавил к себе в скрипт простенькую функцию чтобы 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.  
2. tato - 04 Сентября, 2011 - 18:44:02 - перейти к сообщению
у вас где теги режете ошибка, вроде функция сама не описана.

 

Powered by ExBB FM 1.0 RC1