Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Posting.php

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Дебаг включите. Разработка должна идти только с ним
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Код: Выделить всё

$forum_id = $this->request('f', 0);

Код: Выделить всё

protected $request;
Все-равно "Fatal error: Uncaught Error: Call to undefined method \controller\stranica::request()"

Отправлено спустя 4 минуты 21 секунду:
Татьяна5 писал(а): 14.03.2018 2:56 Дебаг включите.
@define('DEBUG', true);
@define('DEBUG_EXTRA', true);
Последний раз редактировалось Vlad__ 14.03.2018 3:09, всего редактировалось 1 раз.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Vlad__ писал(а): 14.03.2018 2:36->variable
Куда делся?

Отправлено спустя 1 минуту 9 секунд:
Vlad__ писал(а): 14.03.2018 3:06 А где дебаг смотреть ?
Вверху страницы всё выдаст, если про его вывод в шаблоне не забыли (либо если используется стандартный футер, в котором дебаг есть)
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Татьяна5 писал(а): 14.03.2018 3:08Куда делся?
Забыл )) Спасибо! Все получилось. Обязательно писать protected $request; ? Без него вроде не ругается.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Vlad__ писал(а): 14.03.2018 3:13 Обязательно писать protected $request; ?
Да
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Posting.php

Сообщение Sheer »

Ну так

Код: Выделить всё

$url	= $this->request->variable('f', 0);
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Спасибо всем. Продолжаем учится с вашей помощью.
1. Если нажать "новая тема", будучи гостем, то выскакивает окно ввода пароля, после прохождения которого открывается страница поста. Вопрос: как это реализовать на моей отдельной странице?
2. У меня передается forum_id в адресной строке. Как проверить наличие форума в базе данных, чтобы в случае его отсутствия выводилось "такого форума нет"?
3. Как сделать, чтобы выводились хлебные крошки (я правильно это называю?) в заголовке моей страницы с адресом форума, откуда она вызвана.
Снимок экрана 2018-03-14 в 21.52.03.png
у меня сейчас так
Снимок экрана 2018-03-14 в 21.53.38.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

1. Смотрите пример в оригинальном posting.php, там ведь код есть
2. Запросом в БД. Пример - тоже в posting.php
3. Снова повторить код из posting.php (с отдельной страницей вообще очень много повторять придётся, 1 в 1)
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Татьяна5, это понятно.
Татьяна5 писал(а): 14.03.2018 22:47 там ведь код есть
Там очень много кода. Не подскажите где и какой? Я еще не гуру, а только учусь )
Повторю, у меня отдельная страница, куда передается только forum_id. Не думаю, что в posting.php передается то же самое (один параметр), что можно просто так оттуда брать код.

Пока ничего не копировал, проверку наличия форума решил таким кодом. Заодно получаю forum_name, если его нет, значит нет и форума. Правильно?

Код: Выделить всё

$sql = 'SELECT forum_name
        FROM ' . FORUMS_TABLE . '
        WHERE forum_id = ' . $forum_id . '';
        $result = $this->db->sql_query($sql);
        $row = mysqli_fetch_assoc($result);
        $this->db->sql_freeresult($result);
        $forum_name = $row['forum_name'];
        if ($forum_name == '') .... 
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Vlad__ писал(а): 15.03.2018 1:19 Не думаю, что в posting.php передается то же самое (один параметр)
Так оно и есть практически, forum_id и mode, и всё. И то mode нужно для разделения создания темы, ответа в теме, и т.д.
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Татьяна5 писал(а): 14.03.2018 22:47 1. Смотрите пример в оригинальном posting.php, там ведь код есть
Татьяна5 писал(а): 14.03.2018 22:47 3. Снова повторить код из posting.php
Можете подсказать где этот код?
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Vlad__ писал(а): 15.03.2018 1:55 Можете подсказать где этот код?
Спасибо, что подсказали ))
Уже не нужно. Продолжаем может быть глупые вопросы.
Есть php файл скрипта. В самом начале пишем:

Код: Выделить всё

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
...... дальше код
Если этот файл разместить в корне форума, то он выполняется. Если же его поместить в подпапку расширения, то ругается, что не может найти то и то. Его нужно в routing.yml, чтобы он выполнялся как корневой? Но он у меня просто php без контроллера _controller. Как его там оформить?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Оформить классом и через контроллер
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Еще вопрос. Скрипт-обработчик у меня запускается по ссылке из другого скрипта с передачей ему f=номер форума. Тот скрипт уже закрыт для неавторизированных юзеров, проверяет наличие форума, в общем все что нужно. Такой же код проверок нужно городить во втором скрипте или же как-то можно запретить его прямой запуск из командной строки, а только по ссылке из первого скрипта. Они оба оформлены
Татьяна5 писал(а): 17.03.2018 21:16 классом и через контроллер
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

По-моему, лучше вынести код в отдельный файл, и подключать тот файл в обоих скриптах

Вернуться в «Для разработчиков»