Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logowanie
Forum PHP.pl > Forum > PHP
john_doe
Witajcie,

wiem, że o logowaniu na forum bylo wiele, wiele razy, ale mam nadzieje, że ten post będzie inny. Zawsze ludzie mieli problem z logowaniem. Mechanizmy sesji (bo tą lubie najbardziej) umożliwiają fajne i bezpieczne logowanie np do panelu admina strony www. Wydaje mi się, że wszystko jest ok gdy zalogować ma się tylko jeden użytkownik o max prawach lub o zdefiniowanych funkcjach które ma dostępne w menu admina po zalogowaniu, Gorzej jest gdy mamy mieć np uzytkowników o np 3-echo poziomach dostępu, czyli np dyrektor widzi max., kierownik prawie max a zwykly user min smile.gif.
Chodzi mi o koncepcje jak to wykonac prosto ale skutecznie. Wymyślilem to sobie tak i nie wiem czy to jest w miare ok. Postaram sie to w krokach opisac:
1. formularz logowania
2. dostaje postem dwie zmienne login i haslo
3. szukam ich w bazie, gdy znajde (num_rows = 1) ... przypisuje do sesji ..... loguje -> przekierowuje do odpowiedniej strony
warunki typu
  1. <?php
  2. $howMany = mysql_num_rows($wynikZapytania);
  3.  
  4.  if ($howMany == 1 && $result[poziom] == 1 )
  5. ?>


czyli jesli poziom np 1 przekierowuje

  1. <?php
  2. header( 'Location: http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/' . dyrektorowa.'.'.php );
  3. ?>


jesli poziom 2 kieruje na inna

pytanie: Czy na kazdej stronie kolejno otwieranej musze startowac sesje i sprawdzac czy to co mam w sesji jest w bazie?

Mam nadzieje, że mnie rozumiecie. Uważam, że mechanizm logowania jest absolutna podstawa do wielu rzeczy np do workflow`ów.

pozdrawiam

...
webJ@cob
Twoje rozwiązanie bardzo obciążyłoby serwer przez co projektowany system byłby trochę mozolny na wolniejszych serwerach.

Proponuję po pomyślnym zalogowaniu utworzenie nowej zmiennej w sesji, np
$_SESSION["zalogowany"]=$login lub ="poprawnie"
i sprawdzac czy ta zmienna jest pusta
if (empty($_SESSION["zalogowany"])) to -> uzytkownik wylogowany bądz też nie zalogowany jeszcze
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.