Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Alexander.3

Узнать группу пользователя

Рекомендованные сообщения

Приветствую.

 

Как получить группу методом IPSMember::load?

 

$m = IPSMember::load( IPSCookie::get('member_id') );
$Member['GROUP'] = "Группа:".$m['groups'];

 

Что то не работает... а еще, возможно ли узнать номер группы?

Поделиться сообщением


Ссылка на сообщение

О как нужно было:

$Member['GROUP'] = "Группа: ".$m['g_title'];

Поделиться сообщением


Ссылка на сообщение

Ээ... а зачем ipsMember::load(), и нафига $Member['GROUP'], - зачем вы создаете второй массив если уже есть первый.

Поделиться сообщением


Ссылка на сообщение

Хочу сделать футербар и профиль вне директории форума, переменная для удобства )

Поделиться сообщением


Ссылка на сообщение

Вне директории форума нужно использовать api форума, а писать IPSMember::load( IPSCookie::get('member_id') ) категорически не рекомендуется. Нельзя просто так загрузить пользователя по куки member_id, там может быть что угодно, нужно еще валидировать его сессию либо ключ авторизации. Для этого есть метод fetchMemberData() который возвращает данные текущего пользователя http://www.invisionpower.com/support/guides/_/advanced-and-developers/miscellaneous/check-if-a-member-is-logged-in-r91

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Что то рановато сюда еще, сейчас думаю как работать с шаблонизатором, если запускает другой php скрипт то по идее мы прогружаем в него шаблон и от в нем запускаем шаблонизатор О_о, а как же тогда стандартные теги/функции который запускает index.php. Хм.. наверное нужно подключать в index.php наш новый .php. Ноо.. ведь тогда будут запускаться же части шаблона которые мне не нужны, например в профиле пользователя будет обрабатываться шаблон с комментариями.

 

Хм.. да даже привести пример со страницами.. очень интересно как это работает. Даже и не знаю как конкретно задать запрос в гугле. Но интересно.. пошел дальше думать, к вопрос с куками вернемся позже )) сейчас нужно сделать футер общий, а профиль отдельно ))

 

Пока писал, придумал.. мб там прогружаются в массив $_GET данные? хотя как же он преобразует строчку например /myphp/profile.php?member-100500 в /index.php?member-100500 или же /member-100500.

 

Даже и примеры взять не откуда, нужно придумать какой нить запрос в гугле интересный :rolleyes:

Поделиться сообщением


Ссылка на сообщение

Интересно, интересно. Позже опробуем, а сейчас я вообще увлекся что то ) решил уроки прочитать, теперь хоть не много понимаю что выше вопрос который задавал и из массива вносил в массив значения )) нужно что нить по кодить ))) 5+5 например )) а к этому пока еще рано )

Поделиться сообщением


Ссылка на сообщение

Как можно вывести результат запроса на экран? Это вроде как ресурс.

 

Например получить чистую ссылку на фото.

$query = mysqli_query($db, "
   SELECT `pp_thumb_photo` FROM `ipb_profile_portal` WHERE `pp_member_id` = 1");

Поделиться сообщением


Ссылка на сообщение

В ipsMember::load есть все данные, включая и ссылки на фото.

Вывод на экран осуществляется в зависимости с чем вы работаете - с шаблонизатором форума, или нативным php, что конечно врядли.

Запросы к бд делаются через драйвер бд форума и только через него.

Поделиться сообщением


Ссылка на сообщение
03/16/14 09:45 (изменено)

Но.. ведь я хотел сделать сам запрос..

 

Может кому пригодится.

 

CENSORED

 

честно, начинаю впервые. Батьки сказали поставить шаблонизатор. Еще конечно не знал для чего он. В общем шаблонизатор какое то говно. Вывожу простым echo, вроде теги не падают...

 

 

Что то ид сессии не меняется, хоть логинился, хоть разлогинился.

Как же тогда сделать хорошую валидацию не по кукам... хм...

 

... в бд вообще нету ключа сессии.

Изменено пользователем siv1987

Поделиться сообщением


Ссылка на сообщение

Зачем? И нафига здесь запросы? Вы работаете с апи форума? Ядро форума подключили? Там уже все данные загружены для текущего пользователя. Не надо никакой ереси в виде mysql_query и тд, есть спец класс DB для выполнения запросов, почитайте офф документацию.

Если на уровне нативного php, то тема не интересная и собственно кроме запросов к таблицам форума мало чем имеет отношение к ипб. С большим успехом можете изучить любой специализированный php форум, где научит как выполнять запросы и делать вывод.

 

В общем шаблонизатор какое то говно.

Был бы шаблонизатор какое то говно, вы бы не редактировали шаблон в админцентре, а искали бы куски html верстки по всем файлам и вперемешку с php кодом.

 

Что то ид сессии не меняется, хоть логинился, хоть разлогинился.

Как же тогда сделать хорошую валидацию не по кукам... хм...

А он и не должен меняться. Вы не в ту сторону капайте. Вам уже в десятый раз говорят - не занимайтесь херней и говнокодерством, все что вам нужно есть по ссылке выше на ИПС.

 

Но.. ведь я хотел сделать сам запрос..

https://www.invisionpower.com/support/guides/_/advanced-and-developers/api-methods/kernel-databases-classdbphp-r166

Поделиться сообщением


Ссылка на сообщение

Извиняюсь, писал с мобильника, случайно не ту кнопку нажал и удалил предыдущий пост ТСа :)

 

Отвечая на ваш пост,

Когда я начинал писать свой первый php код, я даже не имел понятия что такое ООП, был как все нормальные люди на уровне echo "Hello world", изучал что такое массивы и как обработать строки. Если вы новичок, прочтите какую нибудь книгу для чайников где изложены основы. Да, можно параллельно тренироваться на практических задачах, но тогда слушайте что вам говорят более опытные люди, и не лезьте с скудными знаниями основ в вещах где по суть вы и не должны этого делать.

 

Зачем я потер код? - Код был уныл, настолько уныл, что вы бы новичков только еще больше запутали. На форуме есть нормальные примеры для работы с апи, а для выдергивания данных из бд есть куча статей в интернете.

 

По поводу сессий.

Не надо там лезть. Для поддержки сессии и идентификации пользователя отведен целый класс, а вы хотите написать это пятью строчками кода. Я вам уже третий раз пишу, в первый ссылке на ИПС есть как раз то, что вам нужно. Подключили ядро форума, и он сам все необходимые данные загрузил. Вам как новичку без апи не обойтись, станете более опытным, тогда сможете написать свой обработчик без поддержке ядра форума.

Поделиться сообщением


Ссылка на сообщение
<?php

define( 'IPB_THIS_SCRIPT', 'public' );
define( 'IPS_PUBLIC_SCRIPT', 'index.php' );
define( 'IPS_ENFORCE_ACCESS', true );
require_once( 'initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );
$registry = ipsRegistry::instance();
$registry->init();

$settings =& $registry->fetchSettings();
$request  =& $registry->fetchRequest();
$member   =& $registry->member()->fetchMemberData();
$DB       = $registry->DB();

print_r($member);

?>

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Пару примеров запросов к бд.

build and fetch, где результатом ожидается одна строка

 

$row = $DB->buildAndFetch(array(
'select' => '*',
'from'   => 'members',
'where'  => 'member_id=1'
));

print_r($row);

build, query and fetch, где результатом ожидается несколько строк

 

$DB->build(array(
'select' => '*',
'from'   => 'members',
'where'  => 'member_group_id=4',
));
$DB->execute();

while($row = $DB->fetch()){
print_r($row);
}

И нативные SQL запросы без конструктора

 

$DB->query('SELECT * FROM '.$DB->obj['sql_tbl_prefix'].'members WHERE member_group_id=4');

while($row = $DB->fetch()){
print_r($row);
}

 

Расширенную справку по конструктору запросов $DB->build() можно посмотреть в документации.

Также у объекта $DB есть методы delete, update, insert, replace.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...