2015-12-03 4 views
0

Мне бы хотелось узнать, как я могу заставить пользователя «выйти из системы». Я использую систему php-mysqli для аутентификации пользователей, и если «заблокировать» User Account через запрос mysqli, я бы хотел, чтобы он немедленно вышел из системы.PHP: Как «заставить» Session_Destroy()

Если у вас есть шанс сделать это или - о чем я думал - мне нужно каждый раз проверять базу данных, если он использует ссылку?

ответ

0

Прежде всего, я никогда не кодировал что-то вроде этого. Но theres - это функция php session_id(), которая может помочь вам.

Проверил: http://www.codeinphp.com/general/php-code-snippets/remotely-destroy-different-session-php-forced-user-signout/

Чтобы динамически получить этот сеанс пользователя вы можете связать его в базе данных MySQL.

например:

User | lastLogin | lastSessionID | 
-----+-----------+---------------+ 
1001 | 03-12-15 |daSessionValue | 

Таким образом, вы можете управлять пользовательскими сеансами в вашем BackOffice, легко и выключение любой сеанс.

Если вы не хотите хранить это в своей базе данных, вы можете просто сохранить эту информацию в файле XML или JSON на своем сервере. Это потребует, чтобы вы знали, как serialize из XML/JSON в PHP.

Надеюсь, это помогло в любом случае!

Удачи вам!

0

Когда вы работаете с MVC или OOP, у вас должен быть родительский контроллер или класс, которые наследуют все контроллеры или класс. каждый запрос на ваш сайт должен проверять статус пользователя вашей базы данных, если он включен или отключен, и это будет через функцию, вызываемую в конструкторе родительского контроллера.

Если вы не используете OOP или MVC в своем проекте, вы должны сделать один доступ ко всем вашим веб-страницам, таким как файл index.php, в корне сайта, через этот файл вы будете перенаправлять на все ваши веб-страницы , и в этом файле вы будете проверять статус пользователя.

Смежные вопросы