VetalDX 1 12/16/15 23:11 Здравствуйте, решил сделать для группы админов и модеров показ ip пользователей в профиле.Например когда пользователь на форуме то его ip показывает, Пример: Список онлайн. Но как сделать чтобы когда пользователь вышел с форума то ip его показывал с какого он заходил, то есть последний ip с которого он входил. Как так сделать? Какие за это переменные отвечают? И вообще есть ли они?В ац есть что-то похоже но там показ с какого пользователь регался... На данный момент когда в сети: http://hkar.ru/Fz4R Когда в не сети: http://hkar.ru/Fz4S (как сделать так чтобы когда пользователь оффлайн то его ip показывал с какого он заходил последний раз?) Поделиться сообщением Ссылка на сообщение
newbie 1723 12/17/15 05:35 как сделать так чтобы когда пользователь оффлайн то его ip показывал с какого он заходил последний раз?Обновлять с какого зарегистрировался при входе или добавить новое поле в таблицу и также обновлять при входе. 1 Поделиться сообщением Ссылка на сообщение
VetalDX 1 12/17/15 06:46 могли бы написать один из каких нить пунктов мануал ? Поделиться сообщением Ссылка на сообщение
siv1987 2629 12/17/15 06:52 Без правки исходного кода никак это не сделать. Логируется только ип регистрации.Если вам нужен последний ип, вам придется создать новое поле в таблице members и обновлять его при создание новой сессии. Поделиться сообщением Ссылка на сообщение
VetalDX 1 12/17/15 12:46 Не подскажите как создать, а то чёт забыл и новый пшпмайадмин какой-то не тот))))))))))))) Поделиться сообщением Ссылка на сообщение
siv1987 2629 12/17/15 15:46 ALTER TABLE ibf_members ADD COLUMN `last_ip` varchar(46) NOT NULL DEFAULT ''last_ip - имя колонки. 1 Поделиться сообщением Ссылка на сообщение
VetalDX 1 12/17/15 17:39 получается мне теперь в переменную выводить last_ip Поделиться сообщением Ссылка на сообщение
siv1987 2629 12/17/15 21:36 Вы сообщения выше читали? Это поле нужно обновлять при авторизации пользователя. Поделиться сообщением Ссылка на сообщение
VetalDX 1 12/17/15 22:04 я таблицу создал, что дальше надо сделать?можете расписать мануал ? Поделиться сообщением Ссылка на сообщение
siv1987 2629 12/17/15 22:58 Похвалтно что вы создали таблицу поле, но нужно копаться в классе сессии чтобы обновить это поле при создание новой сессии, уже десятый раз наверное об этом пишу. Если вы не знаете как это закодить, зачем вы меня спрашиваете как добавить поле в таблице?... У меня сейчас нет времени расписывать мануалы, хотя там скорее всего нужно править один метод при создания пользовательской сессии. 1 Поделиться сообщением Ссылка на сообщение
siv1987 2629 12/18/15 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 12/18/15 21:31 не работает, по прежнему пустой ип, а в бд в колонку last_ip ко всем юзерам присвоился 1 айпи. переменную надо использовать ip_address ? Поделиться сообщением Ссылка на сообщение
siv1987 2629 12/18/15 21:54 в бд в колонку last_ip ко всем юзерам присвоился 1 айпи.Поправил. Поделиться сообщением Ссылка на сообщение
VetalDX 1 12/18/15 22:26 какую переменную надо использовать?я только что бд сломал и никто из юзеров не мог войти... Поделиться сообщением Ссылка на сообщение
siv1987 2629 12/18/15 23:22 какую переменную надо использовать?Разве не очевидно что ту, которую создали для хранения последнего IP?... я только что бд сломал и никто из юзеров не мог войти...Бывает. Я тоже не одну бд сломал, пока учился. Главное не дропнуть форум, а если что иметь при себе бэкап. 1 Поделиться сообщением Ссылка на сообщение