Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
[FAQ] Как программно добавить тему / пост / личное сообщение
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
![Подмигивает ;)](https://www.phpbbguru.net/community/images/smilies/icon_e_wink.gif)
-
- phpBB 1.4.2
- Сообщения: 71
- Стаж: 10 лет 5 месяцев
- Благодарил (а): 2 раза
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
К сожалению, ряд ссылок на полезные сообщения (в которых освещались подобные вопросы) уже не существует...
Задача. Требуется ввести в базу сообщение (с заданной датой и временем) от конкретного пользователя (user_id) в конкретную (существующую) тему (форума).
Если готовый пример подобного скрипта?
(Как в текущей сессии от текущего пользователя это сделать я понял)
Задача. Требуется ввести в базу сообщение (с заданной датой и временем) от конкретного пользователя (user_id) в конкретную (существующую) тему (форума).
Если готовый пример подобного скрипта?
(Как в текущей сессии от текущего пользователя это сделать я понял)
-
- Поддержка
- Сообщения: 12430
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2478 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Полностью готового нет
[FAQ] Как программно добавить тему / пост / личное сообщениеgoshka писал(а):с заданной датой и временем
http://phpbbmodders.net/articles/3.0/create_post/ - Before we submit our post - auth & userdatagoshka писал(а):от конкретного пользователя (user_id)
Задать значенияgoshka писал(а):в конкретную (существующую) тему (форума)
forum_id
и topic_id
в массиве $data
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 9 лет 2 месяца
- Благодарил (а): 1 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Всем привет! У меня блог на cms WordPress и к нему прикреплен форум cms phpBB v3.1.x (http // мой сайт/forum/)
Вопрос: Реально программно добавить тему на форум phpBB при создании записи в WordPress с одинаковым названием?
Вопрос: Реально программно добавить тему на форум phpBB при создании записи в WordPress с одинаковым названием?
-
- phpBB 1.4.1
- Сообщения: 40
- Стаж: 9 лет 2 месяца
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Создание топиков - Тем на форуме с "сайта".
Имею сайт с таблицей - базой данных отказов изделий. И есть параллельно форум на PHPbb. Хочу сделать чтобы при добавлении записи в таблицу БД было еще и добавление темы на ФОРУМ. Как правильно реализовать? Сайт полностью рукописный на PHP
-
- phpBB 1.4.1
- Сообщения: 40
- Стаж: 9 лет 2 месяца
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Re: Создание топиков - Тем на форуме с "сайта".
Спасибо, не то искал... теперь знаю где читатьAnvar писал(а):[FAQ] Как программно добавить тему / пост / личное сообщение
-
- phpBB 1.4.1
- Сообщения: 40
- Стаж: 9 лет 2 месяца
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Re: Создание топиков - Тем на форуме с "сайта".
Что то ничего не получается.
Задача такая:
1. есть статичный логин и пароль для доступа к форуму.
2. 1 скрипт сгенерирует информацию требуемую для оформления темы на форуме.
3. требуется сделать авторизацию и запись в нужны форум.
что за USERS_TABLE использует PHPbb Если в БД только users
Задача такая:
1. есть статичный логин и пароль для доступа к форуму.
2. 1 скрипт сгенерирует информацию требуемую для оформления темы на форуме.
3. требуется сделать авторизацию и запись в нужны форум.
Скрытый текст
Код: Выделить всё
<?php
// данные для авторизации пользователя
// данные для записи при создании новой темы
////////////////////////////////////////////
$backup = array(
'user' => $user,
'auth' => $auth,
);
$sql = 'SELECT *
FROM ' . USERS_TABLE . '
WHERE user_id = ' . $user_id;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$user->data = array_merge($user->data, $row);
$auth->acl($user->data);
$user->ip = '0.0.0.0';
$user = $backup['user'];
$auth = $backup['auth'];
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
require_once($phpbb_root_path . 'forum/includes/functions_posting.' . $phpEx);
// Start session management
$user->session_begin(true); // no update_session_page
// session_create($user_id = false, $set_admin = false, $persist_login = false, $viewonline = true)
$user->session_create( $user_id , false, false, false);
$auth->acl($user->data);
$user->setup();
$my_subject = utf8_normalize_nfc(utf8_recode('subject test [русский сабж 3] text', 'windows-1251'));
$my_text = utf8_normalize_nfc(utf8_recode('this is [русский текст 3] a text', 'windows-1251'));
// variables to hold the parameters for submit_post
$poll = $uid = $bitfield = $options = '';
generate_text_for_storage($my_subject, $uid, $bitfield, $options, false, false, false);
generate_text_for_storage($my_text, $uid, $bitfield, $options, true, true, true);
$data = array(
'forum_id' => 3,
'icon_id' => false,
'enable_bbcode' => true,
'enable_smilies' => true,
'enable_urls' => true,
'enable_sig' => true,
'message' => $my_text,
'message_md5' => md5($my_text),
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'post_edit_locked' => 0,
'topic_title' => $my_subject,
'notify_set' => false,
'notify' => false,
'post_time' => 0,
'forum_name' => '',
'enable_indexing' => true,
);
submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data);
$user->session_kill();
echo "записано";
?>
-
- Former team member
- Сообщения: 12113
- Стаж: 17 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 41 раз
- Поблагодарили: 1716 раз
Re: Создание топиков - Тем на форуме с "сайта".
Код: Выделить всё
$data = array(
'topic_title' => $topic_title, // Subject
'forum_id' => $fid, // тут ID форума
'forum_name' => '',
'icon_id' => 0,
'poster_id' => $user_id, // Тут ID юзера, от имени которого размещается пост
'enable_bbcode' => (bool) true,
'enable_smilies' => (bool) true,
'enable_urls' => (bool) true,
'enable_sig' => (bool) true,
'notify' => 0,
'notify_set' => '',
'enable_indexing' => (bool) false,
'message' => $topic_text,
'message_md5' => (string) '',
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'post_edit_locked' => 0,
);
submit_post('post', $topic_title, $username, 0, $poll, $data, false); // $username - ник юзера, от имени которого размещается пост
Это она и есть. Константа. Смотри ./includes/constants.phpPayalnik610 писал(а):что за USERS_TABLE использует PHPbb Если в БД только users
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- phpBB 1.4.1
- Сообщения: 40
- Стаж: 9 лет 2 месяца
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Re: Создание топиков - Тем на форуме с "сайта".
делаю так
получаю результат :
При задании непосредсвенно переменых в 1 и 2 ошибке они проходят, но как избавиться от последней? почему возникает критическая ошибка
код
Код: Выделить всё
<?php
$topic_title = "Шашал" ;
$topic_text = "Как строить шалаши";
$fid = 3;
$user_id = 2;
$data = array(
'topic_title' => $topic_title, // Subject
'forum_id' => $fid, // тут ID форума
'forum_name' => '',
'icon_id' => 0,
'poster_id' => $user_id, // Тут ID юзера, от имени которого размещается пост
'enable_bbcode' => (bool) true,
'enable_smilies' => (bool) true,
'enable_urls' => (bool) true,
'enable_sig' => (bool) true,
'notify' => 0,
'notify_set' => '',
'enable_indexing' => (bool) false,
'message' => $topic_text,
'message_md5' => (string) '',
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'post_edit_locked' => 0,
);
submit_post('post', $topic_title, $username, 0, $poll, $data, false); // $username - ник юзера, от имени которого размещается пост
?>
Код: Выделить всё
Notice: Undefined variable: bitfield in C:\Web-server\htdocs\test.php on line 25
Notice: Undefined variable: uid in C:\Web-server\htdocs\test.php on line 26
Fatal error: Call to undefined function submit_post() in C:\Web-server\htdocs\test.php on line 30
-
- Поддержка
- Сообщения: 12430
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2478 раз
Re: Создание топиков - Тем на форуме с "сайта".
Этот блок нужен, самым первым:
Этот тоже нужен:
Код: Выделить всё
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
require_once($phpbb_root_path . 'forum/includes/functions_posting.' . $phpEx);
Код: Выделить всё
$poll = $uid = $bitfield = $options = '';
generate_text_for_storage($topic_text, $uid, $bitfield, $options, true, true, true);
-
- phpBB 1.4.1
- Сообщения: 40
- Стаж: 9 лет 2 месяца
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Re: Создание топиков - Тем на форуме с "сайта".
При добавлении этого
выкидывает на страницу установки PHPbb....Татьяна5 писал(а):Этот блок нужен, самым первым:Этот тоже нужен:Код: Выделить всё
define('IN_PHPBB', true); $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '/'; $phpEx = substr(strrchr(__FILE__, '.'), 1); require($phpbb_root_path . 'common.' . $phpEx); require_once($phpbb_root_path . 'forum/includes/functions_posting.' . $phpEx);
Код: Выделить всё
$poll = $uid = $bitfield = $options = ''; generate_text_for_storage($topic_text, $uid, $bitfield, $options, true, true, true);
-
- Поддержка
- Сообщения: 12430
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2478 раз
Re: Создание топиков - Тем на форуме с "сайта".
Вообще-то на рабочем форуме не должно быть страницы установки
-
- phpBB 1.4.1
- Сообщения: 40
- Стаж: 9 лет 2 месяца
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Re: Создание топиков - Тем на форуме с "сайта".
при запуске этого скрипта :
пытается отправить на страницу установки http://localhost/forum/install/index.php
естественно папка переименована
Это если запускать из корня форума, а если запустить из корня сайта - получаем:
Код: Выделить всё
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
require_once($phpbb_root_path . 'forum/includes/functions_posting.' . $phpEx);
$poll = $uid = $bitfield = $options = '';
generate_text_for_storage($topic_text, $uid, $bitfield, $options, true, true, true);
$topic_title = "Шашал" ;
$topic_text = "Как строить шалаши";
$fid = 3;
$user_id = 2;
$data = array(
'topic_title' => $topic_title, // Subject
'forum_id' => $fid, // тут ID форума
'forum_name' => '',
'icon_id' => 0,
'poster_id' => $user_id, // Тут ID юзера, от имени которого размещается пост
'enable_bbcode' => (bool) true,
'enable_smilies' => (bool) true,
'enable_urls' => (bool) true,
'enable_sig' => (bool) true,
'notify' => 0,
'notify_set' => '',
'enable_indexing' => (bool) false,
'message' => $topic_text,
'message_md5' => (string) '',
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'post_edit_locked' => 0,
);
submit_post('post', $topic_title, $username, 0, $poll, $data, false); // $username - ник юзера, от имени которого размещается пост
?>
естественно папка переименована
Это если запускать из корня форума, а если запустить из корня сайта - получаем:
Код: Выделить всё
Warning: require(/common.php) [function.require]: failed to open stream: No such file or directory in C:\Web-server\htdocs\test.php on line 6
Fatal error: require() [function.require]: Failed opening required '/common.php' (include_path='.;C:\php\pear') in C:\Web-server\htdocs\test.php on line 6
-
- Поддержка
- Сообщения: 12430
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2478 раз
Re: Создание топиков - Тем на форуме с "сайта".
Код: Выделить всё
require_once($phpbb_root_path . 'forum/includes/functions_posting.' . $phpEx);
forum/
?И вместо
require_once
и require
лучше использовать include
Второе - почему переменная
$topic_text
вызывается до её определения?Добавлено спустя 1 минуту 22 секунды:
Точки не хватаетPayalnik610 писал(а):Код: Выделить всё
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '/';
Код: Выделить всё
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
-
- Former team member
- Сообщения: 12113
- Стаж: 17 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 41 раз
- Поблагодарили: 1716 раз
Re: Создание топиков - Тем на форуме с "сайта".
Payalnik610, Прочтите Создание дополнительных (произвольных) страниц в стиле конференции. Будет полезно.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.