Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przechowywanie informacji o użytkowniku
Forum PHP.pl > Forum > Przedszkole
axwell
Tworzę swój pierwszy panel administracyjny do strony i zanim zacznę pisać mechanizm logowania użytkownika mam następujące pytanie:

W bazie mam zapisane informacje o użytkowniku tzn. login, hasło i uprawnienia. Czy mogę dane o uprawnieniu zapisać w zmiennej sesji i potem z niej korzystasć? Chodzi mi o coś w stylu "jeśli $_SESSION['auth'] == "admin" to pokaż opcję dla admina"

czy może też za każdym wywołaniem skryptu pytać bazę czy aktualnie zalogowany użytkownik ma w tabeli uprawnienie x ?

Chdzi mi tu o aspekty bezpieczeństwa, szybkości no i przede wszystkim "jak to się zazwyczaj robi"
goartur
Widze twoj problem, osobiecie mysle ze nadawanie nazw uprawnienia nie ma sesu, w koncu tylko uprawiniona osob ma dostep do bazy danych wiec polecam uzywanie liczb calkowitych.
Przyklad:
Tabela(permissions)
0 - Zwykly uzytkownik
1 - Moderator
2 - Administration

Mysle ze to jest lepsze rozwiazanie, baza danych ma sluzyc jako pamiec, aby to profesjonalniej wygladalo uzywaj liczb.

Co do sesji podczas sprawdzania loginu i hasla wyciagnij tez Prawa, i uzyj switch aby porownac wyniki,

przyklad:

  1. switch($prawa){
  2. case "0":
  3. $_SESSION['uprawnienia'] = "0"
  4. break;
  5.  
  6. case "1":
  7. $_SESSION['uprawnienia'] = "1"
  8. break;
  9.  
  10. case "2":
  11. $_SESSION['uprawnienia'] = "2"
  12.  
  13. break;
  14.  
  15. }


Konkluzja:

Tak, uzywaj sesji to najlepsze rozwiazanie, bazuj na zapytaniu w pliku login.php.
Ciagle pobieranie danych z bazy nie ma sesu, i spowoni tylko proces.

Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.