Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przechowywanie informacji o aktualnie zalogowanym użytkowniku
IceManSpy
post
Post #1





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Witam

Jak w temacie. W jaki sposób przechowywać dane np typ użytkownika, jego numer, imię, nick itd. Wiem, że ogólnie trzyma się to w bazie, ale gdzie trzymać po zalogowaniu?
Za każdym razem odwoływanie się do bazy w celu sprawdzenia np typu czy imienia to może ją wykończyć. Więc wpadłem na pomysł aby trzymać to w sesji. I np po zalogowaniu zrobić sobie takie coś: $_SESSION['imie'] , $_SESSION['typ'] itd. Co o tym myślicie?
Zawsze pozostaje ciastko, ale to w ostateczności, ponieważ nie chce, aby ktoś mógł zmienić pewne wartości.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
tr@k
post
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 8
Dołączył: 13.09.2010

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


Pomysł z sesją jest dobry i łatwy w użyciu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
CuteOne
post
Post #3





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


A co jak ktoś zmieni swoje dane? np. nick? będziesz porównywał za każdym razem wartości z sesji ze zmienionymi? Już chyba lepiej cachować zapytanie do bazy..
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Po zalogowaniu trzymasz tylko id użytkownika. W razie potrzeby pobierasz z bazy (bądź innych źródeł danych) a wynik pobrania zapisujesz w cache-u.
Go to the top of the page
+Quote Post
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Rozwiązaniem jest także aktualizacja w sesji tego, co zmieniłeś. User nie zmienia rzeczy wszystkich, a nawet drobne zmiany są dokonywane rzadko. Przykładowo jeśli zmienił login lub hasło, to gdy z bazy dostaniesz informację o prawidłowym UPDATE/INSERT, aktualizujesz dane w sesji i tyle.
Go to the top of the page
+Quote Post
tr@k
post
Post #6





Grupa: Zarejestrowani
Postów: 41
Pomógł: 8
Dołączył: 13.09.2010

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


Cytat(CuteOne @ 10.11.2010, 07:08:48 ) *
A co jak ktoś zmieni swoje dane? np. nick? będziesz porównywał za każdym razem wartości z sesji ze zmienionymi? Już chyba lepiej cachować zapytanie do bazy..

A jak często zmieniasz dane w profilu? A nick to w większości serwisów jest nieedytowalny. Tak jak pisał @thek przy zapisie zmian do bazy aktualizujesz również sesję.
Go to the top of the page
+Quote Post
thek
post
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To, że nie jest w większości to tylko kwestia lenistwa i faktycznej jednoznaczności (IMG:style_emoticons/default/winksmiley.jpg) Pole to pole. To czy raz będziesz "zuza" czy "ala" jest nieważne, dopóki loginy są unikalne w bazie.

Wiele osób zapomina zmieniać dane w sesji po update lub robi najprostszą możliwą rzecz. Olewa to, zostawiając systemowi kontroli wyłapanie niezgodności danych sesji z danymi bazy, czyli powodujące automatyczne wylogowanie. Dla mnie to dziwne zachowanie skoro owa aktualizacja jest banalna i wywalanie usera jest zwyczajnie upierdliwe (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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: 21.12.2025 - 01:09