![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 0 Dołączył: 30.06.2010 Ostrzeżenie: (10%) ![]() ![]() |
Witam!
Mam bardzo banalne pytanie, ale nie potrafię sobie poradzić. Jeśli mamy formularzyk logowania i użytkonik się zaloguje to tworzymy session_start(); oraz dorzucamy $_SESSION['nazwa'] == 'zalogowany';. No i dobra, możemy łatwo sprawdzić czy user jest zalogowany:
czy też jest gościem:
Pytanie - jak ja mam się dowiedzieć, że zalogowany user ma nick "XX" a drugi zalogowany ma "YY" ? Przecież nie mogę tego sprawdzić po $_SESSION['nazwa'] bo to zwróci zawsze każdemu userowi ZALOGOWANY :/ Czy jeśli zrobię tak, że przy logowaniu jak jest formularzyk i sprawdzam dane podane do logowania:
I wtedy mógłbym identyfikować usera po nicku:
Pytanie - czy dobrze kombinuję? Głowiłem się nad tym spory czas i tylko to w zasadzie przyszło mi do głowy. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie kombinujesz dobrze
![]() Tylko zrób nieco inaczej. Do $_SESSION['nazwa'] wrzucaj ID użytkownika lub ewentualnie tablicę składającą się z ID oraz LOGINU. Sprawdzanie logowania powinno wyglądać tak, że sprawdzasz czy zmienna $_SESSION['nazwa'] w ogóle istnieje
Po co trzymać w sesji ID? Po to że zawsze możesz się po ID usera odwołać do jego danych (jeśli jakieś dodatkowe są). Przy zmianie na przykład hasła przez użytkownika czy potrzebie pobrania adresu e-mail możesz odwoływać się do bazy po jego ID ![]() Zatem w twoim skrypcie:
Ten post edytował Sephirus 14.02.2012, 08:42:19 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 9 Dołączył: 3.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Użyłeś złego operatora. Masz przypisać wartość (=), a nie porównywać (==).
Kod $_SESSION['nazwa'] == $login; zmień na: Kod $_SESSION['nazwa'] = $login; Poczytaj również o filtrowaniu danych. Ten post edytował red.orel 14.02.2012, 08:44:53 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 0 Dołączył: 30.06.2010 Ostrzeżenie: (10%) ![]() ![]() |
Tak, machnąłem się tam, powinno być "=".
Ale w sumie to wystarczy mi jego ID zapisać w sesji i tyle, bo po co login, tak jak sam napisałeś. ID jest AUTO_INCREMENT więc mogę samo ID zapisać. Dzięki wielkie ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 07:34 |