Potrzebuję zrobić logowanie dla różnych grup użytkowników. Używając szukajki znalazłem taki temat KLIK lecz nie pomógł mi za bardzo, bo wcześniej już miałem to zrobione.
W bazie mam kolumnę 'user_role' i tam nadane są numery określające grupę użytkownika. Jednak przy logowaniu jakby nie zczytuje roli użytkownika, nie potrafi tego rozdzielić. "User_role" jest typu int. Próbówałem varcharem, kombinowałem brać dane z tej kolumny w cudzysłów, apostrof. W zależności od wyboru logowało mnie gdzie indziej wciąż nie rozróżniając roli.
Mam nadzieję, że jasno opisałem swój problem.
Z góry dziękuję za wszelką pomoc i objaśnienia.
edit: 0 - dla zywkłego usera, 1 - dla pracownika, 2 - dla admina.
Jeśli ustawię wartość 0:
if ($_SESSION['user_role']==0) {
to loguje mnie do userlist.php, a każda inna wartość przenosi do index.php, niezależnie kto sięloguje. W bazie widzę, że role >0 są nadane.
Po id loguje poprawnie. Ale to wadzi, żeby zrobić logowanie dla trzech grup użytkowników.
<?php include 'config.php'; db_connect(); // sprawdzamy czy user nie jest przypadkiem zalogowany if(!$_SESSION['logged']) { // jeśli zostanie naciśnięty przycisk "Zaloguj" // filtrujemy dane... $_POST['name'] = clear($_POST['name']); $_POST['password'] = clear($_POST['password']); // i kodujemy hasło $_POST['password'] = codepass($_POST['password']); // sprawdzamy prostym zapytaniem sql czy podane dane są prawidłowe $result = mysql_query("SELECT `user_id` FROM `users` WHERE `user_name` = '{$_POST['name']}' AND `user_password` = '{$_POST['password']}' LIMIT 1"); // jeśli tak to ustawiamy sesje "logged" na true oraz do sesji "user_id" wstawiamy id usera $_SESSION['logged'] = true; $_SESSION['user_id'] = $row['user_id']; $_SESSION['user_role'] = $row['user_role']; if ($_SESSION['user_role']==2) //admin { } else { } } else { $_POST['name'] = ''; $_POST['password'] = ''; $_POST['user_role'] = ''; } // wyświetlamy komunikat na zalogowanie się echo '<form method="post" action="login.php"> <p> Login:<br> <input type="text" value="'.$_POST['name'].'" name="name"> </p> <p> Hasło:<br> <input type="password" value="'.$_POST['password'].'" name="password"> </p> <p> <input type="submit" value="Zaloguj"> </p> </form>'; } else { echo '<p>Jesteś już zalogowany, więc nie możesz się zalogować ponownie.</p> <p>[<a href="index.php">Powrót</a>]</p>'; } db_close(); ?>