ExBB Community » Файловый ExBB » Обсуждаем » Пересадка ExBB на MySQL

Страниц (8): « 1 2 3 4 5 6 [7] 8 »
 

91. 1Bot - 12 января 2014 — 07:48 - перейти к сообщению
WebMaster пишет:
Цитата:
Есть ли необходимость считывать все опции на каждой странице?

Можно сделать функцию для получения опции только когда она нужна. Но тогда SQL запросов будет больше


Лучше будет больше запросов, но хоть ясно будет на какой странице какие опции были необходимы и сколько раз. Если будут часто использоваться одинаковые параметры, то их можно впоследствии кешировать в массив.
92. 1Bot - 12 января 2014 — 07:50 - перейти к сообщению
WebMaster пишет:
Цитата:
WebMaster, как будет реализован подсчёт посетителей онлайн и вывод их списка? Будете создавать таблицу или шарить список юзеров? Другой вариант?

Ещё до конца не обдумал этот момент. Наверное буду создавать таблицу.


может просто в таблице пользователей добавить поле lastaccess и запросом вычислять нужное количество?
93. WebMaster - 12 января 2014 — 08:08 - перейти к сообщению
Цитата:
может просто в таблице пользователей добавить поле lastaccess и запросом вычислять нужное количество?

Так и правда лучше. Спасибо.
94. EgorViktorovich - 12 января 2014 — 13:09 - перейти к сообщению
WebMaster пишет:
Так и правда лучше. Спасибо.

Лучше так лучше. Только обзовите поле попонятней. last_activity например. Последний незнайка английского поймёт что это такое.
95. EgorViktorovich - 12 января 2014 — 16:15 - перейти к сообщению
Всё-таки добавлю... Как учитывать гостей онлайн?

Хорошо, гости в отдельной таблице, но тогда придётся шарить две таблицы join: большую юзеров и компактную гостей онлайн.

Ещё замечание, если позволите... При конструировании таблицы юзеров, целесообразно разбить таблицу на несколько частей. Первая должна включать в себя общие поля, которые используются на всех страницах. Вторая, список контактов юзера например - используется только при просмотре профиля. То же относится к личным настройкам юзера, личным полям(чего угодно), и статистике.
96. 1Bot - 12 января 2014 — 17:06 - перейти к сообщению
EgorViktorovich пишет:
Как учитывать гостей онлайн?

Для гостей рекомендую завести отдельную таблицу с полями
ip, lastaccess

EgorViktorovich пишет:
При конструировании таблицы юзеров, целесообразно разбить таблицу на несколько частей. Первая должна включать в себя общие поля, которые используются на всех страницах. Вторая, список контактов юзера например - используется только при просмотре профиля. То же относится к личным настройкам юзера, личным полям(чего угодно), и статистике.

Первая часть будет фиксирована в постоянном количестве полей, под вторую, которая будет скорее всего с переменным количеством полей можно отвести одно поле, в котором хранить любую информацию в serialized виде.
97. 1Bot - 12 января 2014 — 17:54 - перейти к сообщению
Для вычисления IP пользователя (даже за прокси-сервером) пригодится такая функция
CODE:
// функция для вычисления ip
function GetRealIp() {
if( !empty( $_SERVER[ 'HTTP_CLIENT_IP' ] ) ) {
$ip = $_SERVER[ 'HTTP_CLIENT_IP' ];
} elseif( !empty( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) ) {
$ip = $_SERVER[ 'HTTP_X_FORWARDED_FOR' ];
} else {
$ip = $_SERVER[ 'REMOTE_ADDR' ];
}
return $ip;
}
98. CAB - 12 января 2014 — 21:00 - перейти к сообщению
1Bot, а какая от этого реальная польза? Там ведь прописано может быть что угодно. Вот небольшая статья по этому поводу http://www.phpfaq.ru/ip
99. EgorViktorovich - 13 января 2014 — 06:24 - перейти к сообщению
WebMaster, держите нас в курсе, плз.

Мы будем писать, а вы выбирайте из нашего мусора Улыбка

: обычно делаю для лички бб-код вида [quote=authorquote:p:n1:n2], где authorquote- автор цитаты, р- ай-ди поста, n1- номер первого символа цитаты в посте, n2- номер последнего символа цитаты в посте. Если пост процитирован полностью, то записывается только автор и номер поста.
Экономит до 20 перцентов объёма, шарить по таблице легче.
100. 1Bot - 13 января 2014 — 06:54 - перейти к сообщению
CAB пишет:
1Bot, а какая от этого реальная польза? Там ведь прописано может быть что угодно. Вот небольшая статья по этому поводу http://www.phpfaq.ru/ip


Тут есть две крайности:
1) Учитывать всех гостей, приходящих с одного прокси-сервера как одного (использовать переменную $_SERVER[ 'REMOTE_ADDR' ]).
2) Учитывать всех гостей, приходящих с одного прокси-сервера как разных (использовать заголовки, формируемые как браузером, так и прокси-серверами $_SERVER[ 'HTTP_CLIENT_IP' ], $_SERVER[ 'HTTP_X_FORWARDED_FOR' ]).

Недостатки первой очевидны, так как не у всех пользователей есть прямой IP адрес.
Недостатки второй проявляются только при злонамеренных целях (тогда один и тот же гость будет выступать как разные гости).
101. WebMaster - 13 января 2014 — 09:39 - перейти к сообщению
Насчёт опций, теперь из базы не вытаскивается список всех настроек, создал функцию getOption($option, $c = true), вот:
CODE:

function getOption($option_name, $c = true) {
global $exbb,$db;
if ($c && isset($exbb[$option_name])) return $exbb[$option_name];

$option = $db->getRow('SELECT value FROM exbb_options WHERE option_name=?s', $option_name);
if (isset($option['value'])) {
$exbb[$option_name] = $option['value'];
return $option['value'];
}
else return false;
}


она вызывается при получении опции.
102. EgorViktorovich - 13 января 2014 — 11:22 - перейти к сообщению
её надо в рамочку.
103. BON - 13 января 2014 — 13:58 - перейти к сообщению
EgorViktorovich пишет:
её надо в рамочку.


why????
104. WebMaster - 13 января 2014 — 15:04 - перейти к сообщению
Цитата:
её надо в рамочку.

Ага, и на доску позора Ха-ха
105. 1Bot - 13 января 2014 — 15:29 - перейти к сообщению
WebMaster
Вы бы по делу предложили варианты, учиться ведь никогда не поздно.

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0486]     [ ]