Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для Serebos
20 / 4 / 0
Регистрация: 18.04.2020
Сообщений: 158

Превращение спец.символов в их сущности

24.06.2020, 17:21. Показов 1144. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Создал рабочую форму редактирования новостей в БД.
Также попытался добавить в код задачу: преобразовывать все входящие спецсимволы. Но, все равно, в БД записываются спец символы.

Помогите, пожалуйста, советом? (подобная конструкция работает в форме создания новости! Но вот в форме редактирования - код не отрабатывает).

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public function edit($slug = NULL) {
 
        $data['title'] = "редактировать новость";
        $data['news_item'] = $this->news_model->getNews($slug);
 
        $data['title_news'] = (isset($data['news_item']['title'])) ? $data['news_item']['title'] : "";
        $data['content_news'] = (isset($data['news_item']['text'])) ? $data['news_item']['text'] : "";
        $data['slug_news'] = (isset($data['news_item']['slug'])) ? $data['news_item']['slug'] : "";
 
        if($this->input->post('slug') && $this->input->post('title') && $this->input->post('text')) {
 
 
        $slugFilter = htmlspecialchars($this->input->post('slug'), ENT_QUOTES, 'UTF-8');       ЭТА СТРОКА
        $titleFilter = htmlspecialchars($this->input->post('title'), ENT_QUOTES, 'UTF-8');        ЭТА СТРОКА
        $textFilter = htmlspecialchars($this->input->post('text'), ENT_QUOTES, 'UTF-8');        ЭТА СТРОКА
 
        $slug = $slugFilter;                                                                                                         ЭТА СТРОКА
        $title = $titleFilter;                                                                                                          ЭТА СТРОКА                                                                                                     
        $text = $textFilter;                                                                                                          ЭТА СТРОКА
              
            
            $slug = $this->input->post('slug');
            $title = $this->input->post('title');   
            $text = $this->input->post('text');
 
 
            if($this->news_model->updateNews($slug, $title, $text)) {
 
               echo "Новость успешно отредактирована!";
            }
        }
 
        $this->load->view('templates/header', $data);
        $this->load->view('news/edit', $data);
        $this->load->view('templates/footer');
    }
Спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.06.2020, 17:21
Ответы с готовыми решениями:

Вставка спец символов
Можно ли в бейсике вставить спец символы типа части рамки. Чтобы понять какие символы я хочу вставить, смотрите скриншот.

Коды спец символов
Как в штмл нарисовать над буквой стрелку верктора и черту горизонтальную, отдельно. Добавлено через 44 минуты Нашел надчеркивание ...

Экранирование спец. символов
Подскажите метод экронирования спец. символов перед тем как записывать в базу данных. В сети нашел такое решение ...

4
Невнимательный
 Аватар для ft4l
3107 / 1277 / 358
Регистрация: 08.02.2013
Сообщений: 7,461
Записей в блоге: 2
24.06.2020, 19:38
Цитата Сообщение от Serebos Посмотреть сообщение
PHP
17
18
19
20
21
22
23
24
        $slug = $slugFilter;                                                                                                         ЭТА СТРОКА
        $title = $titleFilter;                                                                                                          ЭТА СТРОКА                                                                                                     
        $text = $textFilter;                                                                                                          ЭТА СТРОКА
 
 
            $slug = $this->input->post('slug');
            $title = $this->input->post('title');   
            $text = $this->input->post('text');
Как я понял, сначала переменным присваиваются изменённые значения,
потом значения перезаписываются не изменёнными.

Не по теме:

Если это $this->news_model->updateNews($slug, $title, $text)
реально перезаписывает нужные данные

0
 Аватар для Serebos
20 / 4 / 0
Регистрация: 18.04.2020
Сообщений: 158
24.06.2020, 22:02  [ТС]
спасибо, x_lab. Идею я понял, попробую разобраться сейчас.

Добавлено через 2 часа 19 минут
КОД ЗАРАБОТАЛ! блок с проверкой опустил чуть ниже:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  public function edit($slug = NULL) {
 
        $data['title'] = "редактировать новость";
        $data['news_item'] = $this->news_model->getNews($slug);
        
        $data['title_news'] = (isset($data['news_item']['title'])) ? $data['news_item']['title'] : "";
        $data['content_news'] = (isset($data['news_item']['text'])) ? $data['news_item']['text'] : "";
        $data['slug_news'] = (isset($data['news_item']['slug'])) ? $data['news_item']['slug'] : "";
 
        if($this->input->post('slug') && $this->input->post('title') && $this->input->post('text')) {
            
 
            $slug = $this->input->post('slug');
            $title = $this->input->post('title');   
            $text = $this->input->post('text');
 
        $slugFilter = htmlspecialchars($this->input->post('slug'), ENT_QUOTES, 'UTF-8');
        $titleFilter = htmlspecialchars($this->input->post('title'), ENT_QUOTES, 'UTF-8');
        $textFilter = htmlspecialchars($this->input->post('text'), ENT_QUOTES, 'UTF-8');
 
        $slug = $slugFilter;
        $title = $titleFilter;
        $text = $textFilter;
 
            if($this->news_model->updateNews($slug, $title, $text)) {
 
               echo "Новость успешно отредактирована!";
            }
        }
 
        $this->load->view('templates/header', $data);
        $this->load->view('news/edit', $data);
        $this->load->view('templates/footer');
    }
x_lab, спасибо за обсуждение!
0
Невнимательный
 Аватар для ft4l
3107 / 1277 / 358
Регистрация: 08.02.2013
Сообщений: 7,461
Записей в блоге: 2
24.06.2020, 22:47
Лучший ответ Сообщение было отмечено Serebos как решение

Решение

Цитата Сообщение от Serebos Посмотреть сообщение
PHP
13
14
15
16
17
18
19
20
21
22
23
            $slug = $this->input->post('slug');
            $title = $this->input->post('title');   
            $text = $this->input->post('text');
 
        $slugFilter = htmlspecialchars($this->input->post('slug'), ENT_QUOTES, 'UTF-8');
        $titleFilter = htmlspecialchars($this->input->post('title'), ENT_QUOTES, 'UTF-8');
        $textFilter = htmlspecialchars($this->input->post('text'), ENT_QUOTES, 'UTF-8');
 
        $slug = $slugFilter;
        $title = $titleFilter;
        $text = $textFilter;
Это то-же что и просто
PHP
1
2
3
        $slug = htmlspecialchars($this->input->post('slug'), ENT_QUOTES, 'UTF-8');
        $title = htmlspecialchars($this->input->post('title'), ENT_QUOTES, 'UTF-8');
        $text = htmlspecialchars($this->input->post('text'), ENT_QUOTES, 'UTF-8');
0
 Аватар для Serebos
20 / 4 / 0
Регистрация: 18.04.2020
Сообщений: 158
25.06.2020, 03:34  [ТС]
Спасибо, x_lab. Кроме того, такая запись освобождает код от лишнего ненужного наполнения!
Код работает!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.06.2020, 03:34
Помогаю со студенческими работами здесь

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

Избавление от спец. символов
Проблема такая: Программа парсит xml и вставляет данные в mysql бд. На некоторых xml выдает ошибку, т.к. в данных попадаются спец....

Квотирование спец символов в SQL запросах
Я юзаю select у датасета, кот гружу из XML файла. Очень не хотелось бы морочицца с командами (oledbcommand for example), но нада резать...

Перекодировка из utf в windows-1251. Удаление спец. символов.
Необходимо сформировать xml файл в кодировке windows-1251. Даные для этого xml поступают из БД в utf-8. При этом в записях есть поля с...

Как проверить текстовые поля на наличие спец.символов?
У меня в базе что-то (очевидно, в приложении) сбойнуло, и появились строки, поля которых содержат символ перевода строки. Хотелось бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru