W bazie userów mam tylko trzy osoby i więcej nie będzie.
Próbowałem dodać dodatkowe pole które wskazywało, że jest ktoś już zalogowany ale po zamknięciu przeglądarki ( nie przez opcję wyloguj) wszystko bierze w łeb ;-)
Kombinowałem też z czasem ostatniej aktywności i po określonym czasie automatyczne wylogowanie lecz to rozwiązanie nie za bardzo mogę zastosować.
Zakładam też, że nie można przejąć sesji zalogowanego użytkownika i wylogować go z innego kompa.
Mam jeszcze pytanie czy zadanie crona do wykonania co 10 min bardzo obciąża serwer?
Przykładowy system logowania:
<?php { } require_once "connect.php"; $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name); if ($polaczenie->connect_errno!=0) { } else { $login = $_POST['login']; $haslo = $_POST['haslo']; $haslo_hash = password_hash($haslo, PASSWORD_DEFAULT); if ($rezultat = @$polaczenie->query( { $ilu_userow = $rezultat->num_rows; if($ilu_userow>0) { $row = $rezultat->fetch_assoc(); if (password_verify($haslo, $row['pass'])) { $_SESSION['zalogowany'] = true; $_SESSION['id'] = $row['id']; $_SESSION['user'] = $row['user']; $rezultat->free_result(); } else { $_SESSION['blad'] = 'Nieprawidłowy login lub hasło !'; } } } } $polaczenie->close(); ?>