Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]MySQL] baza użytkowników z uprawnieniami - każdy widzi inna wersję strony
Forum PHP.pl > Forum > Przedszkole
arlid
Witajcie. jak zrobić coś takiego: istnieje tabela użytkowników, w której jedno pole w rekordzie to to załóżmy "user_rights", gdzie mamy dwie wartości - user, admin. Logowanie jest jedno dla wszystkich, przy rejestracji domyślnie pole jest wypełniane jako user - dopiero admin może to zmienić w panelu. Jak zrobić, by skrypt logowania wykrywał, jakie uprawnienia ma logujący się użytkownik i dla każdego z osobna wyświetlał inna wersję strony? Oto co wstępnie wymyśliłem. Sprawdzam czy użytkownik istnieje i jakie ma uprawnienia instrukcją if w PHP, ale jak zrobić dwie rożne wersje strony? Jak się za to zabrać?
Damonsson
W kontrolerze sprawdzasz uprawnienia użytkownika (Twój if) i wtedy wywołujesz odpowiedni widok. Jaki problem?
arlid
Niby wielkiego nie ma, ale to wyjdzie co prawda jedne dokument, tylko o dużej treści. Da się jakoś tak zbudować if, żeby po sprawdzeniu wyniku ładował konkretny plik na serwerze?
mar_gor
  1. if($sql['user_rights'] <=3) {
  2. require_once ("plik.php");
  3. } elseif($sql['user_rights'] <=2) {
  4. require_once ("plik2.php");
  5. } else {
  6. require_once ("plik3.php");
  7. }

Coś w ten deseń, natomiast w plikach trzeba znów odwołać się do uprawnień.
arlid
Hmm.. a jakby zrobić tak?

  1. if($sql['user_rights'] ='admin') {
  2. header("Location: panel1.php");
  3. } else {
  4. header("Location: panel2.php");
  5. }

Będzie ok?
mar_gor
Też może być tongue.gif tylko w pliku panel1 kolejny warunek sprawdza czy jest admin, a jeśli nie spełnia to "Brak dostępu"
Turson
Cytat(arlid @ 20.12.2013, 16:07:13 ) *
Hmm.. a jakby zrobić tak?

  1. if($sql['user_rights'] ='admin') {
  2. header("Location: panel1.php");
  3. } else {
  4. header("Location: panel2.php");
  5. }

Będzie ok?

Ne jest ok. Sprawdź jak porównuje się łańcuchy w php
mar_gor
Niedopatrzenie tongue.gif
  1. if($sql['user_rights'] == "admin") {
  2. header("Location: panel1.php");
  3. } else {
  4. header("Location: panel2.php");
  5. }
arlid
Dzięki za pomoc w wyborze metody smile.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.