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

Как получить информацию об авторизации пользователя

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Barak
phpBB 1.0.0
Сообщения: 4
Стаж: 11 лет 6 месяцев

Как получить информацию об авторизации пользователя

Сообщение Barak »

Пишу программу-дополнение к форуму (будет на сервере в той же директории, что и форум).

Мне нужно узнать, под каким именем пользователь зашёл на форуме.
(Я так понимаю, что имя записывается где-то в сессии - к какому параметру обращаться?
Права/статус пользователя я могу взять из базы сам.)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Как получить информацию об авторизации пользователя

Сообщение Sheer »

Писатель, вы бы проанализировали любой php-файл из корневой папки, ну хотя бы index.php - все бы стало ясно.
Прежде чем что-то писать, следовало бы изучить документацию, структуру движка, структуру базы данных и таблиц БД. Практически вся необходимая информация есть на phpbbguru. Надо только почитать.
http://ftp.phpbb-fr.com/public/cdd/phpb ... 9/nav.html

Полезно помнить, что мы не библиотечный фонд, не система поиска по документации и т. д. САМИ изучайте.

PS. В phpBB3 есть волшебный объект $user - там про несчастного юзера него все, вплоть до хеша пароля.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 11 лет 11 месяцев
Благодарил (а): 62 раза

Re: Как получить информацию об авторизации пользователя

Сообщение kupidon »

Помогите пожалуйста правильно поставить код php

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

..........
$US_USERNAME = $user->data['user_id'];
echo $US_USERNAME;
..........
почему не выводит на экран ид пользователя? номер пользователя мне нужен будет в sql запросе в дальнейшем.

Заранее спасибо за подсказку
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Как получить информацию об авторизации пользователя

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

Попробую догадаться об остальном коде...

Где эти строки:
В функции? Переменная $user там объявлена глобальной?
В основном коде страницы? Файл common.php там подключён ли и где?

Файл шаблона в php-файле подключён?
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: Как получить информацию об авторизации пользователя

Сообщение Anvar »

kupidon,

Ссылка выше была предоставлена http://www.phpbbguru.net/kb/modding/add ... stom-page/

Если подключить шаблон, то ваши варианты с echo не пройдут.

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

<?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);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

$US_USERNAME = $user->data['user_id'];
echo $US_USERNAME;

?>
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Как получить информацию об авторизации пользователя

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

Anvar писал(а):варианты с echo не пройдут
Со сломанной вёрсткой и ошибками от дебага, но проходят
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: Как получить информацию об авторизации пользователя

Сообщение Anvar »

Всё равно его использование даст отрицательный результат)))

Но можно и ошибок от дебага, сломанной вёрстки избежать оставив пустой шаблон:-D
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 11 лет 11 месяцев
Благодарил (а): 62 раза

Re: Как получить информацию об авторизации пользователя

Сообщение kupidon »

Спасибо вам за внимание. Я echo использовал чтобы "пощупать" переменную, и не более.
С шаблонами понятно, но я с этим думаю справлюсь ( а может нет)
Помимо всего прочего, код действительно было внутри функции...
Вообщем слепил...вывел через echo и убедился что значение верное, теперь проблема в другом...

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

.......
$USUS = $user->data['user_id'];
$USUS =$USUS;
echo $USUS;
......
На экран выводится мой ИД = 55

ниже в коде, в функции есть запрос, вот он выдает ошибку:

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

$sql = "SELECT ........
FROM.........
WHERE  id_username = $USUS";
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...
А вот если поставить вот так:

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

$sql = "SELECT ........
FROM.........
WHERE  id_username = 55";
то все отрабатывает


Думаю что дело в несоответствии типов или еще чего, но вот решения не знаю...помогите преобразовать значение $user к нужному виду для запроса. :|
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Как получить информацию об авторизации пользователя

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

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

.......
$usus = $user->data['user_id'];
echo $usus;
......

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

$sql = "SELECT ........
FROM.........
WHERE  id_username = " . (int) $usus;
Но, скорей всего, дело не в этом. В чём - так сказать невозможно, проще вывести переменную $sql на экран и посмотреть что не так (не выполняя запрос)

И Руководство по написанию кода - названия переменных пишутся в нижнем регистре
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 11 лет 11 месяцев
Благодарил (а): 62 раза

Re: Как получить информацию об авторизации пользователя

Сообщение kupidon »

Сейчас заметил, что дело возможно не в запросе sql...
Если переменная $usus стоит вне функции то на экран выводится.

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

$usus = $user->data['user_id'];
echo $usus;
exit();
function get_new_zakaz24() {
$timeall=time()-86400;
$usus = $user->data['user_id'];
echo $usus;
$sql = "SELEC.....
Если стоит внутри функции, то пусто..

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

....
function get_new_zakaz24() {
$timeall=time()-86400;
$usus = $user->data['user_id'];
echo $usus;
$sql = "SELECT...
Что это может быть?
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2208
Стаж: 16 лет 3 месяца
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 338 раз
Контактная информация:

Re: Как получить информацию об авторизации пользователя

Сообщение nissin »

global $user;
Всё повторяется. nurlan.info
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 11 лет 11 месяцев
Благодарил (а): 62 раза

Re: Как получить информацию об авторизации пользователя

Сообщение kupidon »

Всем огромное спасибо. все сделал!
Вставил

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

global $user;
прямо внутрь функции. Не знаю так надо или нет, но работает!!!
Закрыто

Вернуться в «Для авторов (phpBB 3.0.x)»