Как отобразить информацию о вошедшем в систему пользователе в PHP

#php #php-7

#php #php-7

Вопрос:

У меня есть многопользовательское приложение на PHP, я использую, например, Chrome, но я также регистрируюсь в другом или нескольких браузерах.

Есть ли способ просмотреть информацию для всех зарегистрированных браузеров? Как, например, в chrome display

«вы вошли в систему с вашим текущим браузером (Chrome) и с другим (Firefox)»

и когда я захожу в Firefox, отображается

«вы вошли в систему с вашим текущим браузером (Firefox) и с другим (chrome)»

Комментарии:

1. Если вы храните сеансы таким образом, что можете запрашивать каждый сеанс, который в данный момент активен для определенного пользователя , и вы сохраняете имена браузеров в этих сеансах, это должно быть довольно просто. Хранилище сеансов на основе файлов PHP по умолчанию на самом деле не позволяет этого. Вам нужно было бы заменить это вашим собственным хранилищем сеансов на основе базы данных или аналогичной запрашиваемой альтернативой.

2. Я не знаю, почему по этому вопросу так много голосов «против» и даже с ответами. пожалуйста, кто-нибудь может уточнить.

Ответ №1:

В PHP для ее получения вы будете использовать переменную сервера user agent, т.е

 $u_agent = $_SERVER['HTTP_USER_AGENT'];
  

// Вы также можете расширить код, чтобы получить конкретный пользовательский агент

 if(preg_match('/MSIE/i',$u_agent) amp;amp; !preg_match('/Opera/i',$u_agent))
{
    $bname = 'Internet Explorer';
    $ub = "MSIE";
}
elseif(preg_match('/Firefox/i',$u_agent))
{
    $bname = 'Mozilla Firefox';
    $ub = "Firefox";
}
elseif(preg_match('/Chrome/i',$u_agent))
{
    $bname = 'Google Chrome';
    $ub = "Chrome";
}
elseif(preg_match('/Safari/i',$u_agent))
{
    $bname = 'Apple Safari';
    $ub = "Safari";
}
elseif(preg_match('/Opera/i',$u_agent))
{
    $bname = 'Opera';
    $ub = "Opera";
}
elseif(preg_match('/Netscape/i',$u_agent))
{
    $bname = 'Netscape';
    $ub = "Netscape";
} 
  

Вы будете хранить $ bname, идентификатор пользователя, дату последнего входа в текущую таблицу входа.
Убедитесь, что действия пользователя при входе в систему фиксируются в СЕАНСЕ и записываются в базу данных.
Каждый раз при новом входе в систему вы будете переходить к текущей таблице входа, чтобы проверить, активен ли пользователь, добавлять новые данные для входа, а затем использовать всю эту информацию для отображения того, что вы хотите отобразить пользователю.