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. |
|
|
|
![]() |
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)
|
|
|
|
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..
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 8 Dołączył: 13.09.2010 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.. 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ę. |
|
|
|
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) |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 01:09 |