Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389

Не отображаются смайлы

25.01.2020, 17:03. Показов 1307. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, форумчане.
Вообщем заморочился на эту тему и что то пошло не так

форма для отправки сообщения и выбор смайла(ов):

PHP/HTML
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
<div class="send_dialog_msg">
<form method="post">
    <input type="hidden" name="dmid" value="<?= $dialog_id ;?>">
    <textarea name="message" class="message"></textarea><br>
    <div class="show_smiles">
        <img src="/images/smiles/yahoo.gif">
        <img src="/images/menupop.gif">
    </div>
    <div class="check_smiles">
        <?php 
        $stmt = $pdo->query("SELECT * FROM smiles ORDER BY id DESC");
        while ($result = $stmt->fetch()) {
            $GLOBALS['smile_title'] = $result['title'];
            $GLOBALS['smile_img'] = $result['img'];
            $symbol[] = $result['title']; // записываю текстовое значения смайла
            $graphics[] = '<img src="' . $result['img'] . '">'; // записываю графическое значения смайла. оба массива зарание созданы
            echo '
            <div id="' . $smile_title . '" class="smile">
            <img src="' . $smile_img . '"> <span class="text">' . $smile_title . '</span>
            </div>';
        }
        ?>
    </div>
    <button name="send" class="send">Написать</button>
</form>
</div>
вставка текстового значения смайла в текстовое поле (<textarea name="message" class="message"></textarea>):

JavaScript
1
2
3
4
5
$('.smile').click(function() {
    $smile = $(this).attr('id');
    $text = $.trim($(".message").val());
    $(".message").focus().val($text + ' ' + $smile + ' ');
})
вывод сообщений и отображения смайлов:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php 
$stmt = $pdo->prepare("SELECT * FROM dialog_msg WHERE id_dialog = :id");
$stmt->bindParam(':id', $get_id_dialog, PDO::PARAM_INT);
$stmt->execute();
while ($result = $stmt->fetch()) :
$GLOBALS['dialog_id'] = $result['id_dialog'];
$GLOBALS['from_autor'] = $result['from_autor'];
$GLOBALS['message'] = $result['messages'];
$GLOBALS['data'] = $result['data'];
?>
<div class="dialog_msg">
    <?php if ($sess_nick == $from_autor) : ?>
        <div class="nick" style="color: green">Вы:<br></div>
        <?php else : ?>
            <div class="nick" style="color: red"><?= $from_autor; ?>:<br></div>
        <?php endif; ?>
        <div class="msg"><?= nl2br(str_replace($symbol, $graphics, $message)); ?></div>
        <div class="data"><?= $data; ?></div>
    </div>
<?php endwhile; ?>
результат на скрине

если вставить
PHP
1
<?= nl2br(str_replace($symbol, $graphics, $message)); ?>
в любом другом месте (кроме цикла который выводит сообщения с бд), то смайлы отображаются корректно.

Не могу понять в чем проблема
Миниатюры
Не отображаются смайлы  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2020, 17:03
Ответы с готовыми решениями:

Смайлы
Хочу реализовать смайлы в сообщениях на своем сайте.Догадываюсь что можно через str_replace() но не знаю как... вот код $m = $_POST;...

Смайлы в чат (wap)
Всем привет,подскажите как смайлы добавить в чат? вот с чем я мучился: $message = &quot;&lt;div class='chat'&gt;&lt;b&gt;$time &lt;a...

Смайлы для чата
у меня есть небольшой чатик и садис... учитель сказал прямо перед сессией добавить туда смайлы и сделать табличку ниже отправки сообщений с...

8
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.01.2020, 18:50
Переменная $message не существует внутри цикла.
0
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
25.01.2020, 19:14  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
$message не существует внутри цикла.
с этого места подробнее - не совсем понятно о чем вы.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.01.2020, 19:25
Не заметил $GLOBALS:
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
<?php
$GLOBALS['message'] = 'msg';
 
function f($arg) {
    return $arg . 'ds';
}
?>
 
<?= f($message) ?>


Ну покажите тогда место, когда строчка работает...
0
Надуваю лягушек
Эксперт PHP
 Аватар для Царь Бабай
289 / 219 / 93
Регистрация: 01.05.2014
Сообщений: 742
25.01.2020, 19:41
попробуй
перед
while ($result = $stmt->fetch()) :
вставить
$message=array();
1
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
25.01.2020, 20:12  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Ну покажите тогда место, когда строчка работает...
скрин
Миниатюры
Не отображаются смайлы  
0
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
25.01.2020, 20:30  [ТС]
Царь Бабай, это ничего не даст. $message это уже массив строк
0
Надуваю лягушек
Эксперт PHP
 Аватар для Царь Бабай
289 / 219 / 93
Регистрация: 01.05.2014
Сообщений: 742
25.01.2020, 20:40
Может так...перед
while ($result = $stmt->fetch()) {
вставить
$symbol=array();
$graphics=array();
1
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
25.01.2020, 21:28  [ТС]
вопрос решен) несколько перестановок в коде и все работает)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.01.2020, 21:28
Помогаю со студенческими работами здесь

Смайлы. Замена текста на <img>
И так, ещё одна тема, ещё один камень предткновения. Пишу чат, решил написать смайлы. (Какой чат без смайлов?) Ну и тут проблема....

После генерации данные из этих таблиц отображаются в index и edit но не отображаются в details
Проблема в следующем есть множество таблиц связанных с таблицей Flat после генерации данные из этих таблиц отображаются в index и edit...

Смайлы
Делаю подобие чата введенный текст в Edit при нажатии на button отправляться в RichEdit...Со Всем этим норм а как сделать смайлы? ...

Смайлы
Где-то читал, что двоеточие - это глаза, минус - нос, а скобка - рот. А знак равенства используется? Если ещё нет, то предлагаю обозначать...

Смайлы
Здравствуйте! Подскажите, как можно организовать работу со смайлами в своём приложении на WPF? Пробовал сделать через RichTextBox, но я...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru