Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Logowanie w tym samym czasie
MeGusta
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


Witam,
Jak można zrobić aby użytkownik nie mógł się zalogować na dwóch kartach/przeglądarkach/komputerów na to samo konto? Po prostu aby sesja trwała tylko w tej karcie w której sie zalogujemy.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MeGusta
post
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


Przy logowaniu mam zapisywać wartość sesji i w index'ie sprawdzać czy sesja jest rowna tej sesji zapisanej do bazy przy logowaniu? Tak myślę, ale jak np. ktoś się zaloguje i otworzy stronę w dwóch kartach? nie będzie sie musiał logować drugi raz przecież i normalnie mu zadziała.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat(MeGusta @ 22.08.2017, 13:50:51 ) *
Przy logowaniu mam zapisywać wartość sesji i w index'ie sprawdzać czy sesja jest rowna tej sesji zapisanej do bazy przy logowaniu? Tak myślę, ale jak np. ktoś się zaloguje i otworzy stronę w dwóch kartach? nie będzie sie musiał logować drugi raz przecież i normalnie mu zadziała.


Ale przecież sesja jest jedna na jednego klienta, w tym przypadku na wszystkie otwarte karty w danej przeglądarce. Jeśli byłoby inaczej, to za każdym razem, otwierając coś w nowej karcie, musiałbyś się logować, a to by było niezwykle nieporęczne.

Chyba, że masz na myśli sytuację, że ktoś otwiera 10 kart, na każdej z nich panel logowania i próbuje się logować na każdej z nich. W takiej sytuacji po prostu zabezpieczasz panel logowania metodą/funkcją, która sprawdza, czy użytkownik nie jest już zalogowany. W przeciwnym przypadku następuje przekierowanie.

  1. if ($this->isUserLogged()) {
  2. // użytkownik jest już zalogowany, następuje przekierowanie
  3. // np. na stronę z jego kontem
  4. header("Location: url.php");
  5. }
  6.  
  7. // jeśli znajdujemy się w tym miejscu kodu, oznacza to, że użytkownik się nie zalogował
  8. // możemy wyświetlić mu formularz logowania
  9. echo $this->form();


Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 09:44