Mam problem z logowaniem użytkowników z różnymi rolami.
Napisałam coś takiego, gdy już user zostanie znaleziony w bazie to zależnie od roli jaką posiada powinien zostać przekierowany do swojego panelu i powinna zostać utworzona dla niego sesja. Nie wiem gdzie mam błąd i dlaczego tak a nie inaczej. Proszę o pomoc i wyjaśnienie jak powinnam to zrobić.
EDIT1:
Problem polega na tym że użytkownik nie zostaje przekierowany. User zostaje ponownie przekierowany do formularza gdzie dostaje komunikat o błędnych danych logowania
<?php require_once('db_connect.php'); function login($login, $haslo) { $db_connect = new Db_connect(); $haslo=sha1($haslo); $zapytanie = "SELECT Login, Haslo FROM Users WHERE Login ='$login' and Haslo ='$haslo'"; if ( $ile > 0 ) { $query = mysql_query ("Select Rola From Users Where Rola='$rola'") or die (mysql_error('nie mogę wyciągnąć roli użytkownika')); if ($rola == 'administrator') { $_SESSION['rola'] = $rola; } else if ($rola == 'kierownik') { $_SESSION['rola'] = $rola; } else if ($rola == 'pracownik') { $_SESSION['rola'] = $rola; } else $blad="Podano błędne dane logowania"; // kombinacja: identyfikator i hasło dostępu jest nieprawidłowa } } } ?>
Tutaj połączenie z bazą
<?php class Db_connect { function __construct() { $host = 'localhost'; $user = 'root'; $password = 'xxx'; $db = 'Sklep'; $this->db = mysql_connect($host, $user, $password, $db) or die (mysql_error('Nie mogę nawiązać połaczenia')); } public function closing () { $close =$this->db; }?>
user wypełnia zwykły formularz