[FAQ] Интеграция входа на конференцию phpBB с сайтом
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x/3.3.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x/3.3.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB Guru
- Сообщения: 16948
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1701 раз
[FAQ] Интеграция входа на конференцию phpBB с сайтом
Ниже приведен пример скрипта с интегрированной формой входа на конференцию (общего вида).
В приведённом примере папка, в которой находится скрипт, находится на один уровень выше папки конференции. Файлы конференции находятся в папке phpBB3 относительно скрипта.
По коду скрипта имеются пояснительные комментарии (на английском языке).
Вопросы принимаются в этой теме.
Версия 1.1.0 с интегрированным списком онлайн и легендой групп здесь.
Версия 1.2.0 с аватарой здесь.
Версия 2.0.1 для phpBB 3.2/3.3 здесь.
В приведённом примере папка, в которой находится скрипт, находится на один уровень выше папки конференции. Файлы конференции находятся в папке phpBB3 относительно скрипта.
По коду скрипта имеются пояснительные комментарии (на английском языке).
Вопросы принимаются в этой теме.
Версия 1.1.0 с интегрированным списком онлайн и легендой групп здесь.
Версия 1.2.0 с аватарой здесь.
Версия 2.0.1 для phpBB 3.2/3.3 здесь.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rxu 22.05.2020 8:37, всего редактировалось 6 раз.
-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 16 лет 11 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Здравствуйте. Подскажите как можно отделить в вашем скрипте php и html в отдельные файлы?
Причем в html-шаблоне можно было бы использовать переменные такого вида как {L_REGISTER},{S_LOGIN_ACTION} и. т. д и условия <!-- IF .... --> ?
Например, как сделано в конференции
includes/functions.php
А вот его html код
styles/prosiler/template/login_body.html
Причем в html-шаблоне можно было бы использовать переменные такого вида как {L_REGISTER},{S_LOGIN_ACTION} и. т. д и условия <!-- IF .... --> ?
Например, как сделано в конференции
includes/functions.php
Код: Выделить всё
/**
* Generate login box or verify password
*/
function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = false, $s_display = true)
{
global $db, $user, $template, $auth, $phpEx, $phpbb_root_path, $config;
if (!class_exists('phpbb_captcha_factory'))
{
include($phpbb_root_path . 'includes/captcha/captcha_factory.' . $phpEx);
}
....
page_header($user->lang['LOGIN'], false);
$template->set_filenames(array(
'body' => 'login_body.html')
);
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
}
styles/prosiler/template/login_body.html
Код: Выделить всё
!-- INCLUDE overall_header.html -->
<script type="text/javascript">
// <![CDATA[
onload_functions.push('document.getElementById("<!-- IF S_ADMIN_AUTH -->{PASSWORD_CREDENTIAL}<!-- ELSE -->{USERNAME_CREDENTIAL}<!-- ENDIF -->").focus();');
// ]]>
</script>
<form action="{S_LOGIN_ACTION}" method="post" id="login">
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
<h2><!-- IF LOGIN_EXPLAIN -->{LOGIN_EXPLAIN}<!-- ELSE -->{L_LOGIN}<!-- ENDIF --></h2>
......
<!-- IF not S_ADMIN_AUTH and S_REGISTER_ENABLED -->
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
<h3>{L_REGISTER}</h3>
<p>{L_LOGIN_INFO}</p>
<p><strong><a href="{U_TERMS_USE}">{L_TERMS_USE}</a> | <a href="{U_PRIVACY}">{L_PRIVACY}</a></strong></p>
<hr class="dashed" />
<p><a href="{U_REGISTER}" class="button2">{L_REGISTER}</a></p>
</div>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->
</form>
<!-- INCLUDE overall_footer.html -->
-
- phpBB 1.2.1
- Сообщения: 24
- Стаж: 16 лет 6 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Если с английским хорошо, то Tutorial.Adding pages
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 13 лет 5 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Запостил я тут в одну тему свой вариант решения интеграции системы авторизации в любую страничку HTML, модераторы пропустили сообщение, так что думаю и тут пропустят.
Это можно сказать готовое решение, в общем смотрите архив, там есть пример.
Пользуйтесь на здоровье. :)
Для создания данного решения я использовал скрипт предоставленный пользователем rxu.
Это можно сказать готовое решение, в общем смотрите архив, там есть пример.
Пользуйтесь на здоровье. :)
Для создания данного решения я использовал скрипт предоставленный пользователем rxu.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 13 лет 2 месяца
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
скачал архив и поставил на сайт. Вход без проблем работает в опере. При логине в хроме страница просто обновляется, но в базу добавляется сессия. В чем проблема? И как активировать ссылку для зарегистрированных юзеров на странице сайта? У меня раньше при использовании скрипта с первого поста работал вот этот код:
а сейчас не работает.
И почему то еще после входа вижу только Hello, user и кнопку выхода. Приходится делать php include ('auth.php'); сразу после include ("init.php"); чтобы увидеть содержимое страницы.
И еще вопросик. Как сделать, чтобы после входа юзера не выбразывало на index.php, а оставался на той же странице, где осуществлял вход?
Код: Выделить всё
if(isset($login))
{
print <<<HERE
<div id="add_comm">
<a class="add_comment">добавить</a>
<form action="comment_video.php" method="post" name="form_com">
<p><label>Ваше имя: </label><input name="author" type="text" size="30" maxlength="30"></p>
<p><label>Текст комментария (HTML теги не поддерживаются): </label><br><textarea name="text" cols="50" rows="4"></textarea></p>
<p>Введите число, указанное на картинке:</p>
<p class='pr1'><img src="$myrow_check_img[img]" >
<input name="pr" type="text" size="7" maxlength="7"></p>
<input name="id" type="hidden" value="$id">
<input name="id2" type="hidden" value="$myrow_check_img[id]">
<input name="cat" type="hidden" value="$id_cat">
<p><input name="sub_com" type="submit" value="Добавить комментарий"></p>
<br>
</form>
</div><br>
HERE;
}
else {echo "<p>Вы не можете добавлять комментарии</p>";}?>
И почему то еще после входа вижу только Hello, user и кнопку выхода. Приходится делать php include ('auth.php'); сразу после include ("init.php"); чтобы увидеть содержимое страницы.
И еще вопросик. Как сделать, чтобы после входа юзера не выбразывало на index.php, а оставался на той же странице, где осуществлял вход?
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 13 лет 2 месяца
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
С кодом в login.php
вход проходит без проблем в Опере, в хроме страница просто обновляется, но создается сессия и, похоже сразу удаляется.
С кодом
вход происходит во всех браузерах, но при перезагрузке страницы повторно происходит отправка данных формы и вход. И при обновлении страницы постоянно необходимо подтвердить повторную отправку данных формы во всплывающем окошке. В чем проблема? Подскажите, пожалуйста.
Код: Выделить всё
if((!empty($login) && $login['status'] == LOGIN_SUCCESS) || $user->data['user_id'] != ANONYMOUS)
{
// Reset permissions data if user has just logged in
if(!empty($login))
{
$auth->acl($user->data);
header("Location: index.php");
//echo ('<script language="JavaScript">javascript:history.go(-1);</script>');
}
}
С кодом
Код: Выделить всё
if((!empty($login) && $login['status'] == LOGIN_SUCCESS) || $user->data['user_id'] != ANONYMOUS)
{
// Reset permissions data if user has just logged in
if(!empty($login))
{
$auth->acl($user->data);
}
echo 'Hello, ' . get_username_string('full', $user->data['user_id'], $user->data['username'], $user->data['user_colour']);
echo '<form method="post" action="login.php">';
echo ' <input type="submit" name="logout" value="LOGOUT" />';
echo '</form>';
}
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 13 лет 2 месяца
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
В случае со вторым кодом после входа в Хроме перехожу на главную - вход не произведен. На хроме - вход произведен. Короче, и в 1м и во 2м коде имеется нормальный вход в опере, но не в хроме. Что такое может быть в этом хроме?
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 13 лет 2 месяца
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
А где их проверять, в браузере или на сайте? Я просто вообще раньше с куками не связывался. В настройках браузера я вообще все куки удалил
Добавлено спустя 11 минут 30 секунд:
При входе в хроме создается вот такой непонятный файл куки (прикреплен к сообщению). Вместо адреса, какая то билиберда...
Добавлено спустя 28 минут 46 секунд:
Мне кажется проблема с локальным сервером, т.к. на нем мой сайт. Наверное не может правильно передавать куки, хотя с оперой все ок
Добавлено спустя 11 минут 30 секунд:
При входе в хроме создается вот такой непонятный файл куки (прикреплен к сообщению). Вместо адреса, какая то билиберда...
Добавлено спустя 28 минут 46 секунд:
Мне кажется проблема с локальным сервером, т.к. на нем мой сайт. Наверное не может правильно передавать куки, хотя с оперой все ок
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- phpBB Guru
- Сообщения: 16948
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1701 раз
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
А причем тут гугл?
Надо сравнить домен сайта, домен форума и домен куки из (админки).
Надо сравнить домен сайта, домен форума и домен куки из (админки).
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 13 лет 2 месяца
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
я про первую строчку, а не про гугл. я сейчас в инет выложил сайт, проблем с куками не стало. Так что в локальном серваке проблема
Добавлено спустя 1 час 39 минут 38 секунд:
Все, разобрался. Деменное имя было из одного слова. Добавил .zz, и заработало)
Добавлено спустя 1 час 39 минут 38 секунд:
Все, разобрался. Деменное имя было из одного слова. Добавил .zz, и заработало)
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 13 лет 2 месяца
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
В какой файл форума выводит сообщения об ошибках ввода пароля и логина? Дело в том, что у меня форма входа находится в выдвигающейся панели и хотелось бы чтобы сообщения об ошибках выводились в этой же панели без перезагрузки страницы. Изначально в файлах логина этой панели ошибки появлялись в этой же панели без перезагрузки. Вот пример кода:
Код: Выделить всё
if(!$_POST['username'] || !$_POST['password'])
$err[] = 'Все поля должны быть заполнены!';
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 13 лет 5 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Не уверен, но мне кажется, что система авторизации phpBB предусматривает перезагрузку страницы в любом случае.
Возможно реально как-то, с помощью JavaScript (возможно Ajax) провернуть проверку наличия/отсутствия активной сессии пользователя и принять соответствующие действия (создать сессию или выдать данные пользователя в нужном месте странички), но я не знаком с этими технологиями.
Сообщения о неправильном вводе логина/пароля генерируются самим движком phpBB в файле login.php (говорю про мой способ решения) на 69-ой строке:
Потом эта переменная отправляется обратно на главную страничку.
Вот где-то примерно здесь нужно копать.
Возможно реально как-то, с помощью JavaScript (возможно Ajax) провернуть проверку наличия/отсутствия активной сессии пользователя и принять соответствующие действия (создать сессию или выдать данные пользователя в нужном месте странички), но я не знаком с этими технологиями.
Сообщения о неправильном вводе логина/пароля генерируются самим движком phpBB в файле login.php (говорю про мой способ решения) на 69-ой строке:
Код: Выделить всё
if ($login['error_msg'] == 'LOGIN_ERROR_USERNAME' || $login['error_msg'] == 'LOGIN_ERROR_PASSWORD')
{
$err = (!$config['board_contact']) ? sprintf($user->lang[$login['error_msg']], '', '') : sprintf($user->lang[$login['error_msg']], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>');
}
Вот где-то примерно здесь нужно копать.
-
- phpBB 1.2.0
- Сообщения: 12
- Стаж: 13 лет 7 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Интересная ситуация
Форум лежит по адресу www.somesite.com.ua/forum
В настройках куки домен: www.somesite.com.ua, путь /forum/
Есть страница в корне сайта, форма обратной связи
В странице инклудится файл init.php, тоже в корне сайта
В странице в поле имя вставляется имя залогиненого пользователя $user->data['username']; (должно вставляться)
Ситуация такова: на Форуме залогинен, лажу по форуму, все нормально. Захожу на страницу обратной связи - вместо имени пользователя показывает Anonymous, а в форуме разлогинивает
Уже второй день над этим бьюсь
Подскажите, что может быть не так?
Форум лежит по адресу www.somesite.com.ua/forum
В настройках куки домен: www.somesite.com.ua, путь /forum/
Есть страница в корне сайта, форма обратной связи
В странице инклудится файл init.php, тоже в корне сайта
Код: Выделить всё
<?PHP
define('IN_PHPBB', true);
// Set phpBB root folder properly. Change in according to the actual board folder
define('PHPBB_ROOT_PATH', './forum/');
$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_display.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');
?>
Ситуация такова: на Форуме залогинен, лажу по форуму, все нормально. Захожу на страницу обратной связи - вместо имени пользователя показывает Anonymous, а в форуме разлогинивает
Уже второй день над этим бьюсь
Подскажите, что может быть не так?
-
- Поддержка
- Сообщения: 3336
- Стаж: 16 лет 1 месяц
- Благодарил (а): 17 раз
- Поблагодарили: 561 раз
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Причина в этом. Задайте путь "/" (один слэш).george_of_314 писал(а):В настройках куки домен: www.somesite.com.ua, путь /forum/
-
- phpBB 1.2.0
- Сообщения: 12
- Стаж: 13 лет 7 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
При одном слеше вообще на форум попасть не могу
Ввожу пароль, пишет - вы авторизированы, далее редиректит на главную с формой входа
Попробую перенастроить форум с нуля - эту версию переносил с локального хоста с другими настройками
Ввожу пароль, пишет - вы авторизированы, далее редиректит на главную с формой входа
Попробую перенастроить форум с нуля - эту версию переносил с локального хоста с другими настройками