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
adek-
post
Post #2





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

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


blooregard faktycznie, skopiowałem po prostu część kodu i wkleiłem bezmyślnie. Tak szukałem nawet informacji odnośnie sprawdzania czy user jest adminem itp i dałem sobie warunek który i tak mi nie działał, ale dla własnej ciekawości muszę to ogarnąć więc będę szukał jeszcze informacji na ten temat, bo przez brak wiedzy nic konkretnego nie potrafiłem znaleźć

a co do wypowiedzi Sephirus to faktycznie, zacząłem się bawić i przy tworzeniu sesji użytkownika $_SESION['login']
  1. $wynik=mysql_query("SELECT * FROM $tabela WHERE
  2. login='$login' and haslo='$haslo' and status=1");
  3.  
  4. if (mysql_num_rows($wynik) == 1) {
  5. $informacja = mysql_fetch_array($wynik);
  6. $_SESSION["login"] = $informacja["login"];
  7. header('Location: index.php ');
  8. } else {
  9. echo '<span class="blad">Zostały wprowadzone nieprawidłowe dane!</span>';
  10. }

dorobiłem sobie jeszcze raz takie coś tylko dodałem w mysql_query warunek and admin=1 i stworzyłem
  1. $_SESSION["admin"] = $informacja["admin"];

i kod który ma być widoczny dla admina podaję tak
  1. <?php if (!isset($_SESSION['admin'])) { echo ''; } else {?>
  2. <li><a href="admin.php">ADMIN</a></li>
  3. <?php } ?>

tylko jest jeden motyw, muszę zrobić buttona wylogowania osobno dla session admin i dla session login
bo jeśli zrobię
  1. <?php if (!isset($_SESSION['login']) || !isset($_SESSION['admin'])) { echo ''; } else {?>
  2. <li><a href="logowanie.php?wylogowanie=tak">Wyloguj się</a></li>
  3. <?php } ?>

to albo nie widzi go user, jeśli drugi isset bez ! to nie widzi go admin, nie rozwarstwiam się na razie nad tym bo muszę uciekać, postaram się znaleźć odpowiedni warunek jak wrócę z pracy

Ten post edytował adek- 24.10.2011, 17:34:29
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: 6.10.2025 - 04:48