arlid
19.12.2013, 18:27:17
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
19.12.2013, 19:10:16
W kontrolerze sprawdzasz uprawnienia użytkownika (Twój if) i wtedy wywołujesz odpowiedni widok. Jaki problem?
arlid
20.12.2013, 15:55:27
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
20.12.2013, 16:03:12
if($sql['user_rights'] <=3) {
require_once ("plik.php");
} elseif($sql['user_rights'] <=2) {
require_once ("plik2.php");
} else {
require_once ("plik3.php");
}
Coś w ten deseń, natomiast w plikach trzeba znów odwołać się do uprawnień.
arlid
20.12.2013, 16:07:13
Hmm.. a jakby zrobić tak?
if($sql['user_rights'] ='admin') {
header("Location: panel1.php"); } else {
header("Location: panel2.php"); }
Będzie ok?
mar_gor
20.12.2013, 16:25:59
Też może być

tylko w pliku panel1 kolejny warunek sprawdza czy jest admin, a jeśli nie spełnia to "Brak dostępu"
Turson
20.12.2013, 19:02:30
Cytat(arlid @ 20.12.2013, 16:07:13 )

Hmm.. a jakby zrobić tak?
if($sql['user_rights'] ='admin') {
header("Location: panel1.php"); } else {
header("Location: panel2.php"); }
Będzie ok?
Ne jest ok. Sprawdź jak porównuje się łańcuchy w php
mar_gor
20.12.2013, 19:54:48
Niedopatrzenie

if($sql['user_rights'] == "admin") {
header("Location: panel1.php"); } else {
header("Location: panel2.php"); }
arlid
21.12.2013, 17:04:21
Dzięki za pomoc w wyborze metody