Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Widoczne dla zalogowanego i z polem admin = 1
adek-
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

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


Witam, mam system logowania, gdzie w bazie dorobiłem sobie pole admin = tinyint 1/0 i teraz robię sobie wyświetlanie pewnych elementów menu dla zalogowanych użytkowników z admin = 1 i mam takie coś

Na początku includuję bazę i pobieram wartość mnie interesującą czyli admin
  1. include('inc/config.inc.php'); //dane $rej_tabela i inne wazne opcje
  2. include 'inc/db.php'; // połączenie się z bazą danych
  3. $tabela = $rej_tabela; // zdefiniowanie tabeli MySQL z której ma pobierać
  4.  
  5. $wynik = mysql_query("SELECT * FROM $tabela WHERE admin=1");
  6. // pobieram wszystkie pola z polem admin ustawionym na 1

i teraz kod odpowiedzialny za weryfikację gdzie korzystam z "czy zalogowany" i "czy admin=1"
  1. <?php if (!isset($_SESSION['login']) && (mysql_num_rows($wynik) == 1)) { echo ''; } else {?>
  2. <li><a href="admin.php">ADMIN</a></li>
  3. <?php } ?>

nie wiem, czy dokładnie dobrze sobie to obmyśliłem. Bo inni użytkownicy bez admin=1 widzą to pole w menu ;/
Przypuszczalnie źle sobie warunek wypisałem, czy też pole "admin" w mysql może być zarezerwowane i nie widzi?

Ten post edytował adek- 24.10.2011, 14:07:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Dopowiem jedynie, że takie rzeczy w prostych aplikacjach najlepiej przerzucić do sesji.

Na przykład najprostrzym możliwym sposobem zalogowania użytkownika jest podpisanie do sesji ID zalogowanego użytkownika. Tak samo można dorzucić jeszcze po zalogowaniu czy dany user jest adminem czy nie (to i tak jedno zapytanie). Następnie wszędzie na stronie masz dostep do sesji i nie musisz już czytać z bazy czy dany uzytkownik jest adminem czy nie (IMG:style_emoticons/default/smile.gif)

Minus: zmiana typu konta user/admin wpłynie na użytkownika dopiero po jego przelogowaniu (choć da się to obejść) (IMG:style_emoticons/default/wink.gif)

Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 06:22