VetalDX 1 16.12.2015 23:11 Здравствуйте, решил сделать для группы админов и модеров показ ip пользователей в профиле.Например когда пользователь на форуме то его ip показывает, Пример: Список онлайн. Но как сделать чтобы когда пользователь вышел с форума то ip его показывал с какого он заходил, то есть последний ip с которого он входил. Как так сделать? Какие за это переменные отвечают? И вообще есть ли они?В ац есть что-то похоже но там показ с какого пользователь регался... На данный момент когда в сети: http://hkar.ru/Fz4R Когда в не сети: http://hkar.ru/Fz4S (как сделать так чтобы когда пользователь оффлайн то его ip показывал с какого он заходил последний раз?) Поделиться сообщением Ссылка на сообщение
newbie 1 723 17.12.2015 05:35 как сделать так чтобы когда пользователь оффлайн то его ip показывал с какого он заходил последний раз?Обновлять с какого зарегистрировался при входе или добавить новое поле в таблицу и также обновлять при входе. 1 Поделиться сообщением Ссылка на сообщение
VetalDX 1 17.12.2015 06:46 могли бы написать один из каких нить пунктов мануал ? Поделиться сообщением Ссылка на сообщение
siv1987 2 630 17.12.2015 06:52 Без правки исходного кода никак это не сделать. Логируется только ип регистрации.Если вам нужен последний ип, вам придется создать новое поле в таблице members и обновлять его при создание новой сессии. Поделиться сообщением Ссылка на сообщение
VetalDX 1 17.12.2015 12:46 Не подскажите как создать, а то чёт забыл и новый пшпмайадмин какой-то не тот))))))))))))) Поделиться сообщением Ссылка на сообщение
siv1987 2 630 17.12.2015 15:46 ALTER TABLE ibf_members ADD COLUMN `last_ip` varchar(46) NOT NULL DEFAULT ''last_ip - имя колонки. 1 Поделиться сообщением Ссылка на сообщение
VetalDX 1 17.12.2015 17:39 получается мне теперь в переменную выводить last_ip Поделиться сообщением Ссылка на сообщение
siv1987 2 630 17.12.2015 21:36 Вы сообщения выше читали? Это поле нужно обновлять при авторизации пользователя. Поделиться сообщением Ссылка на сообщение
VetalDX 1 17.12.2015 22:04 я таблицу создал, что дальше надо сделать?можете расписать мануал ? Поделиться сообщением Ссылка на сообщение
siv1987 2 630 17.12.2015 22:58 Похвалтно что вы создали таблицу поле, но нужно копаться в классе сессии чтобы обновить это поле при создание новой сессии, уже десятый раз наверное об этом пишу. Если вы не знаете как это закодить, зачем вы меня спрашиваете как добавить поле в таблице?... У меня сейчас нет времени расписывать мануалы, хотя там скорее всего нужно править один метод при создания пользовательской сессии. 1 Поделиться сообщением Ссылка на сообщение
siv1987 2 630 18.12.2015 19:58 Это поле нужно обновлять при авторизации пользователя. /admin/sources/classes/session/publicSessions.php Найти //----------------------------------------- // Knock out Google Web Accelerator //----------------------------------------- Выше добавить if( self::$data_store['member_id'] ) { if( isset( self::$data_store['last_ip'] ) AND self::$data_store['last_ip'] != $this->_member->ip_address ) { $this->DB->update( 'members', array ( 'last_ip' => $this->_member->ip_address ), 'member_id='.intval( self::$data_store['member_id'] ), true ); } } 1 Поделиться сообщением Ссылка на сообщение
VetalDX 1 18.12.2015 21:31 не работает, по прежнему пустой ип, а в бд в колонку last_ip ко всем юзерам присвоился 1 айпи. переменную надо использовать ip_address ? Поделиться сообщением Ссылка на сообщение
siv1987 2 630 18.12.2015 21:54 в бд в колонку last_ip ко всем юзерам присвоился 1 айпи.Поправил. Поделиться сообщением Ссылка на сообщение
VetalDX 1 18.12.2015 22:26 какую переменную надо использовать?я только что бд сломал и никто из юзеров не мог войти... Поделиться сообщением Ссылка на сообщение
siv1987 2 630 18.12.2015 23:22 какую переменную надо использовать?Разве не очевидно что ту, которую создали для хранения последнего IP?... я только что бд сломал и никто из юзеров не мог войти...Бывает. Я тоже не одну бд сломал, пока учился. Главное не дропнуть форум, а если что иметь при себе бэкап. 1 Поделиться сообщением Ссылка на сообщение