Alexander.3 Posted March 11, 2014 Share Posted March 11, 2014 Приветствую. Как получить группу методом IPSMember::load? $m = IPSMember::load( IPSCookie::get('member_id') ); $Member['GROUP'] = "Группа:".$m['groups']; Что то не работает... а еще, возможно ли узнать номер группы? Link to comment Share on other sites More sharing options...
Alexander.3 Posted March 11, 2014 Author Share Posted March 11, 2014 О как нужно было:$Member['GROUP'] = "Группа: ".$m['g_title']; Link to comment Share on other sites More sharing options...
siv1987 Posted March 11, 2014 Share Posted March 11, 2014 Ээ... а зачем ipsMember::load(), и нафига $Member['GROUP'], - зачем вы создаете второй массив если уже есть первый. Link to comment Share on other sites More sharing options...
Alexander.3 Posted March 12, 2014 Author Share Posted March 12, 2014 Хочу сделать футербар и профиль вне директории форума, переменная для удобства ) Link to comment Share on other sites More sharing options...
siv1987 Posted March 12, 2014 Share Posted March 12, 2014 Вне директории форума нужно использовать 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 1 Link to comment Share on other sites More sharing options...
Alexander.3 Posted March 13, 2014 Author Share Posted March 13, 2014 Что то рановато сюда еще, сейчас думаю как работать с шаблонизатором, если запускает другой php скрипт то по идее мы прогружаем в него шаблон и от в нем запускаем шаблонизатор О_о, а как же тогда стандартные теги/функции который запускает index.php. Хм.. наверное нужно подключать в index.php наш новый .php. Ноо.. ведь тогда будут запускаться же части шаблона которые мне не нужны, например в профиле пользователя будет обрабатываться шаблон с комментариями. Хм.. да даже привести пример со страницами.. очень интересно как это работает. Даже и не знаю как конкретно задать запрос в гугле. Но интересно.. пошел дальше думать, к вопрос с куками вернемся позже )) сейчас нужно сделать футер общий, а профиль отдельно )) Пока писал, придумал.. мб там прогружаются в массив $_GET данные? хотя как же он преобразует строчку например /myphp/profile.php?member-100500 в /index.php?member-100500 или же /member-100500. Даже и примеры взять не откуда, нужно придумать какой нить запрос в гугле интересный :rolleyes: Link to comment Share on other sites More sharing options...
siv1987 Posted March 13, 2014 Share Posted March 13, 2014 http://ipbskins.ru/forum/blog/69/entry-171-%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d0%b5%d0%bb%d1%8c%d1%81%d0%ba%d0%b8%d0%b5-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b8%d1%86%d1%8b-%d0%bd%d0%b0-ipboard-3/ 1 Link to comment Share on other sites More sharing options...
Alexander.3 Posted March 13, 2014 Author Share Posted March 13, 2014 Интересно, интересно. Позже опробуем, а сейчас я вообще увлекся что то ) решил уроки прочитать, теперь хоть не много понимаю что выше вопрос который задавал и из массива вносил в массив значения )) нужно что нить по кодить ))) 5+5 например )) а к этому пока еще рано ) Link to comment Share on other sites More sharing options...
Alexander.3 Posted March 15, 2014 Author Share Posted March 15, 2014 Как можно вывести результат запроса на экран? Это вроде как ресурс. Например получить чистую ссылку на фото.$query = mysqli_query($db, " SELECT `pp_thumb_photo` FROM `ipb_profile_portal` WHERE `pp_member_id` = 1"); Link to comment Share on other sites More sharing options...
siv1987 Posted March 16, 2014 Share Posted March 16, 2014 В ipsMember::load есть все данные, включая и ссылки на фото. Вывод на экран осуществляется в зависимости с чем вы работаете - с шаблонизатором форума, или нативным php, что конечно врядли.Запросы к бд делаются через драйвер бд форума и только через него. Link to comment Share on other sites More sharing options...
Alexander.3 Posted March 16, 2014 Author Share Posted March 16, 2014 (edited) Но.. ведь я хотел сделать сам запрос.. Может кому пригодится. CENSORED честно, начинаю впервые. Батьки сказали поставить шаблонизатор. Еще конечно не знал для чего он. В общем шаблонизатор какое то говно. Вывожу простым echo, вроде теги не падают... Что то ид сессии не меняется, хоть логинился, хоть разлогинился.Как же тогда сделать хорошую валидацию не по кукам... хм... ... в бд вообще нету ключа сессии. Edited March 16, 2014 by siv1987 Link to comment Share on other sites More sharing options...
siv1987 Posted March 16, 2014 Share Posted March 16, 2014 Зачем? И нафига здесь запросы? Вы работаете с апи форума? Ядро форума подключили? Там уже все данные загружены для текущего пользователя. Не надо никакой ереси в виде mysql_query и тд, есть спец класс DB для выполнения запросов, почитайте офф документацию.Если на уровне нативного php, то тема не интересная и собственно кроме запросов к таблицам форума мало чем имеет отношение к ипб. С большим успехом можете изучить любой специализированный php форум, где научит как выполнять запросы и делать вывод. В общем шаблонизатор какое то говно.Был бы шаблонизатор какое то говно, вы бы не редактировали шаблон в админцентре, а искали бы куски html верстки по всем файлам и вперемешку с php кодом. Что то ид сессии не меняется, хоть логинился, хоть разлогинился.Как же тогда сделать хорошую валидацию не по кукам... хм...А он и не должен меняться. Вы не в ту сторону капайте. Вам уже в десятый раз говорят - не занимайтесь херней и говнокодерством, все что вам нужно есть по ссылке выше на ИПС. Но.. ведь я хотел сделать сам запрос..https://www.invisionpower.com/support/guides/_/advanced-and-developers/api-methods/kernel-databases-classdbphp-r166 Link to comment Share on other sites More sharing options...
siv1987 Posted March 16, 2014 Share Posted March 16, 2014 Извиняюсь, писал с мобильника, случайно не ту кнопку нажал и удалил предыдущий пост ТСа :) Отвечая на ваш пост,Когда я начинал писать свой первый php код, я даже не имел понятия что такое ООП, был как все нормальные люди на уровне echo "Hello world", изучал что такое массивы и как обработать строки. Если вы новичок, прочтите какую нибудь книгу для чайников где изложены основы. Да, можно параллельно тренироваться на практических задачах, но тогда слушайте что вам говорят более опытные люди, и не лезьте с скудными знаниями основ в вещах где по суть вы и не должны этого делать. Зачем я потер код? - Код был уныл, настолько уныл, что вы бы новичков только еще больше запутали. На форуме есть нормальные примеры для работы с апи, а для выдергивания данных из бд есть куча статей в интернете. По поводу сессий.Не надо там лезть. Для поддержки сессии и идентификации пользователя отведен целый класс, а вы хотите написать это пятью строчками кода. Я вам уже третий раз пишу, в первый ссылке на ИПС есть как раз то, что вам нужно. Подключили ядро форума, и он сам все необходимые данные загрузил. Вам как новичку без апи не обойтись, станете более опытным, тогда сможете написать свой обработчик без поддержке ядра форума. Link to comment Share on other sites More sharing options...
siv1987 Posted March 16, 2014 Share Posted March 16, 2014 <?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); ?> 1 Link to comment Share on other sites More sharing options...
siv1987 Posted March 16, 2014 Share Posted March 16, 2014 Пару примеров запросов к бд.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. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now