PDO в шаблонах IPB - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

PDO в шаблонах IPB

#1 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 159
  • Регистрация: 04-Декабрь 11
  • Репутация: 7
  • IPB version:3.4.x
 

Отправлено 05 Октябрь 2018 - 23:30

Здравствуйте.
Внедряю скрипт с подключением к базе через PDO в шаблон, в итоге ипб ломает подключение (по другому не знаю,как назвать) так как при открытии файла на прямую всё работает.
имею файл sb.php с функциями
$host = 'localhost';
$db   = '***';
$user = '***';
$pass = '***';
$charset = 'utf8';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [
PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES   => false,
];
$pdo = new PDO($dsn, $user, $pass, $opt);


function checkban($id) {
global $pdo;
$get_banlist   = "SELECT count(bid) as count,reason  FROM `sb_bans`  Where authid = '{$id}' and  RemoveType is null";
$stmt = $pdo->query($get_banlist);
$data = $stmt->fetchAll();
return ['banned'=>$data[0]['count'],'reason'=>$data[0]['reason']];
}

Делаю например так
$id = 'STEAM_0:1:6991218';
$checkban = checkban($id);
echo "<pre>".print_r($checkban, 1)."</pre>";

Результат работает
Array
(
    [banned] => 1
    [reason] => Guard Autoban #6991
)


Но при подключении этого файла в шаблон
<php>
include ('/patch/sb.php');
$checkban = checkban($id);
$check = $checkban['banned'];
</php>

Вывод в шаблон: {$check}

Ругается и выдает ошибку
Fatal error: Call to a member function query() on null in /patch/sb.php on line 22

Начинает ругаться после вставление в код $checkban = checkban($id);
И ругается на строчку
$stmt = $pdo->query($get_banlist);

Как подружить пдо и ипб?
0

#2 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 591
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 403
  • IPB version:I have no IPB
 

Отправлено 08 Октябрь 2018 - 13:56

$GLOBALS['pdo'] = new PDO($dsn, $user, $pass, $opt);

1

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2018 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна