Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Проверка группы пользователя в AJAX?

Проверка группы пользователя в AJAX?


     30.05.2018    Шаблоны (TPL), Общие вопросы по PHP, Модули, Хаки    1637

вопрос
Доброго времени суток, подскажите как проверить группу пользователя в AJAX
В обычном php /modules/ работает
if($member_id['user_group'] == 5)

В AJAX это не работает, возможно надо какой-то класс подключить? Возможно из main.tpl как-то передать группу пользователя в AJAX?

Ответил: Sander


Нужно подключить файл авторизации:
require_once ENGINE_DIR . '/modules/sitelogin.php';
if( !$is_logged ) $member_id['user_group'] = 5;

13 комментариев

vitnet
PHP-developer

vitnet - 30 мая 2018 20:16 -

Используйте как шаблон:


UsurpatorVaticana
Юзер

UsurpatorVaticana - 30 мая 2018 22:10 -

Спасибо!
Уже есть подобный шаблон, выделите пожалуйста часть для групп, причем мне смотреть залогинился пользователь или нет это вторично, мне важно знать точно группу пользователя.

vitnet
PHP-developer

vitnet - 30 мая 2018 23:39 -

echo ($is_logged ? $user_group[$member_id['user_group']]['group_name'] : 'Guest');

UsurpatorVaticana
Юзер

UsurpatorVaticana - 31 мая 2018 02:12 -

Спасибо за ответы, но видимо я некорректно поставил вопрос
Как в AJAX (в файле в этой папке) узнать id группы пользователя, которая этот файл использует.

        if($member_id['user_group'] != 7) { 
echo <<<HTML
         <div style="margin-top:20px" class="box berrors fix_grid">
	 <b>Функция доступна только подписчикам!</b><br>
                </div>
HTML;
     //прекращаем выполнение скрипта
     return;
    } //закрылся if проверки группы бользователя   

Код выше, как вы понимаете, не работает.

LazyDev
PHP-developer

LazyDev - 31 мая 2018 12:35 -

Весь код уже скинули, изучайте php.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

UsurpatorVaticana
Юзер

UsurpatorVaticana - 31 мая 2018 14:35 -

Насколько я вижу, тут проверка только на Гость или нет.
Откуда вытягивается группа текущего пользователя?

UsurpatorVaticana
Юзер

UsurpatorVaticana - 31 мая 2018 14:41 -

PunPun, в AJAX массив пуст
echo "Моя группа = " . $member_id['user_group'];
Результат: Моя группа =

В коде выше этот массив никак не заполняется, вернее, туда уходит 5 если пользователь Гость.
Или я совсем туп, или приведенный код никак не касается определения группы текущего пользователя

temporary
Юзер

temporary - 31 мая 2018 08:08 -

$member_id['user_group']
должна содержать номер группы данного пользователя. При отсутствии данных (если не авторизован) - это Гость, по-умолчанию, как бы - 5.

UsurpatorVaticana
Юзер

UsurpatorVaticana - 31 мая 2018 14:42 -

в /modeles/ так и есть, в /ajax/ этот массив пуст.

UsurpatorVaticana
Юзер

UsurpatorVaticana - 31 мая 2018 14:48 -

Шапка моего AJAX файла
<?php
//вывод ошибок
@session_start();
@error_reporting( E_ALL ^ E_NOTICE );
@ini_set( 'display_errors', true );
@ini_set( 'html_errors', true );
@ini_set( 'error_reporting', E_ALL ^ E_NOTICE );
//обозначаем пути
define( 'DATALIFEENGINE', true );
define( 'ROOT_DIR', '../..' );
define( 'ENGINE_DIR', '..' );
//хз
include ENGINE_DIR . '/data/config.php';

@header("Content-type: text/css; charset=".$config['charset']);
if( $config['http_home_url'] == "" ) {

    $config['http_home_url'] = explode( "engine/ajax/prediction.php", $_SERVER['PHP_SELF'] );
    $config['http_home_url'] = reset( $config['http_home_url'] );
    $config['http_home_url'] = "https://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];

}
//подключаем нужные классы и функции, чтобы db tpl работало
require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';
require_once ENGINE_DIR . '/modules/functions.php';
require_once ENGINE_DIR . '/classes/templates.class.php';
require_once ENGINE_DIR . '/inc/fb_config.php';

$tpl = new dle_template( );
$tpl->dir = ROOT_DIR . '/templates/dota2expert/' . $_REQUEST['skin'];
define( 'TEMPLATE_DIR', $tpl->dir );

LazyDev
PHP-developer

LazyDev - 31 мая 2018 15:19 -

UsurpatorVaticana, простите вы слепой или как? Вам скинули код. СКИНУЛИ КОД. https://dle-faq.ru/faq/tpl/24555-proverka-gruppy-polzovatelya-v-ajax.html#comment-id-68571

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

UsurpatorVaticana
Юзер

UsurpatorVaticana - 31 мая 2018 20:36 -

короче затупил конечно я, но всё оказалось проще
нужно подключить /modules/sitelogin.php;
Это даст нам все группы существующих пользователей
Добавить гостей if( !$is_logged ) $member_id['user_group'] = 5;
Группа будет желать в $member_id['user_group']
Всем спасибо

dj-avtosh
PHP-developer

dj-avtosh - 1 июня 2018 13:45 -

А еще, а еще если распечатать $member_id, то можно увидеть кучу всего интересного, что относится к юзеру с текущей сессией.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх