Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Opcje Admina
Forum PHP.pl > Forum > Przedszkole
mischief
Witam,
otoz raczkuje w dziedzinie PHP i MySQL biggrin.gif Teraz chciałbym przystąpic do poziomu opcji dla administratora, na poczatku chociaz dostep tylko dla niego.. Mam juz rejestracje, logowanie, dostep dla zalogowanych, ale za nic nie moge poradzic sobie z dostepem dla admina.. Szukalem w Internecie, jednak nawet nie wiem pod jakim to haslem szukać.. Proszę chociaz o pomoc co mi sie przyda do tego i jakas strukture, bo myslalem, nad dwoma.. Jesli jest się użytwkonikiem: Admin -> Ma się dostęp lub osobne logowanie..
Proszę o pomoc! Nie chodzi mi o gotowce, czy tego typu podobne, zalezy mi na samodzielnej pracy:)

Z góry dziękuję
Mischief
blooregard
Cytat
Mam juz rejestracje, logowanie, dostep dla zalogowanych, ale za nic nie moge poradzic sobie z dostepem dla admina..

Admin to też zalogowany, tylko się nazywa admin.
mischief
No tak, ale chodzi mi o podstronę dostępną tylko dla Admina
blooregard
Więc robisz warunek, w którym pokazujesz stronę jedynie dla zalogowanego usera o nazwie 'admin'. Nazwa jest umowna, róznie dobrze może to być 'Zarządca' albo "Rysio_z_klanu".
mischief
no własnie tak kombinowalem, ale niezbyt wiem jaki warunek mam przypisać, żeby sprawdzilo czy to ten uzytkownik ? Chodzi tu o nazwe tego użytkownika czy przypisanie dodatkowej zmiennej ?
Jesli jest gdzies podobny skrypt dzięki któremu mogłbym to zrozumieć "po swojemu" byłbym wdzięczny
pedro84
Cytat(mischief @ 8.04.2010, 18:32:12 ) *
no własnie tak kombinowalem, ale niezbyt wiem jaki warunek mam przypisać, żeby sprawdzilo czy to ten uzytkownik ? Chodzi tu o nazwe tego użytkownika czy przypisanie dodatkowej zmiennej ?
Jesli jest gdzies podobny skrypt dzięki któremu mogłbym to zrozumieć "po swojemu" byłbym wdzięczny

Moim zdaniem najlepsze byłoby dodanie pola "rola" w bazie danych i potem sprawdzanie tejże roli i jeśli jest admin to pokazuj zawartość dla admina.
mischief
Czyli dodatkowe stworzenie bazy i użytkowników którzy beda w tej bazie sprawdzić czy istnieją jesli tak mają dostęp biggrin.gif Dzięki chyba teraz dam rade winksmiley.jpg
Daiquiri
Nie rozumiem po co chcesz to robić dla jednego użytkownika. Wystarczyło, jak już wspomniał blooregard, w momencie "logowania" na stronę sprawdzić czy login == "admin".
mischief
No własnie probowalem juz tym sposobem, nie wychodzilo wiec napisalem, ale gdy uda mi się tym co pisał pedro sprobuję jeszcze tamtym winksmiley.jpg
pedro84
Cytat(mischief @ 8.04.2010, 19:23:10 ) *
No własnie probowalem juz tym sposobem, nie wychodzilo wiec napisalem, ale gdy uda mi się tym co pisał pedro sprobuję jeszcze tamtym winksmiley.jpg

Raczej chodziło mi o dodanie pojedynczego pola do tabeli użytkowników. Aczkolwiek jeśli masz jednego użytkownika może faktycznie lepszym rozwiązaniem będzie sprawdzanie nazwy użytkownika.
Rysh
Zawszę się kiedyś może przydać drugi administrator lub jakaś inna ranga, a w takim wypadku będzie trzeba przerabiać kod, a teraz dodać jedną kolumnę do bazy to nie problem.

Dodaj sobie do tabeli user (czy jaką tam masz u siebie) status - default 0. Przy logowaniu, jak sprawdzasz czy istnieje użytkownik pobierasz dodatkowo `status` a następnie, przy zalogowaniu dodatkowo dajesz sobie w zmiennej $_SESSION np ['status'] = $status;. Z takim rozwiązaniem możesz od razu zrobić sobie kilka grup:
0 - użytkownik (oczekujący na weryfikację - email lub cokolwiek)
1 - użytkownik zaakceptowany/zatwierdzony
2 - moderator
3 - super moderator
4 - junior admin
5 - główny admin

W skrypcie jeśli chcesz później przekazać jakąś opcję wystarczy:
  1. if ($_SESSION['status'] >= 4) {
  2. //opcja dla Junior admina i wyżej
  3. }
mischief
  1. <?php
  2.  
  3. if($_SESSION['nazwa_praw'] != "admin" && $_SESSION['nazwa_praw'] != "Admin")
  4.  
  5. {
  6. echo '<p> <b>'.$_SESSION['nazwa_praw'].'</b></p>';
  7. echo 'Nie jestes adminem;) Wróć na<a href="index.php">stronę główną </a><br />';
  8.  
  9. }
  10.  
  11. else
  12. {
  13. echo '<p> <b>'.$_SESSION['nazwa_praw'].'</b></p>';
  14. echo '<br /> Witaj Administratorze:) Oto Twoje opcje: </a> <br /><br /><br />';
  15. echo 'Możesz wróćić na <a href="index.php">stronę główną </a><br />';
  16.  
  17.  
  18. }
  19.  
  20.  
  21.  
  22.  
  23. ?>


Wszystko ladnie działa winksmiley.jpg)

Rysh zwróciłes mi uwage na jeden bład, ale nie rozumiem tego co napisales z tymi dodatkowymi rangami questionmark.gif
Rysh
Ale czego nie rozumiesz? To co użytkownik ma w bazie danych w polu status, takie posiada uprawnienia.
Jeśli np ma ktoś 0, nie może nic robić. Jeśli 1 może pisać posty i je edytować. Natomiast jeśli ma 2, może pisać posty, edytować swoje a także i innych. I tak każdy. Im wyższa ranga tym większe uprawnienia.
mischief
Teraz rozumiem winksmiley.jpg
Ok dzięki wszystkim za pomoc winksmiley.jpg Nowe problemy bedę pisala w nowych wątkach biggrin.gif
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.