Witam mam pytanie odnośnie logowania w sytuacji kiedy mamy kilka typów kont ( admin, użytkownik, moderator )
Oto mój skrypt logowania:
<?php
session_start();
?>
<script src="jquery-1.11.3.min.js" ></script>
<?php
if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
{
echo '<script type="text/javascript">location.href = "index.php"</script>';
exit();
}
require_once "connect.php";
$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
if ($polaczenie->connect_errno!=0)
{
echo "Error: ".$polaczenie->connect_errno;
}
else
{
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$login = htmlentities($login, ENT_QUOTES, "UTF-8");
$haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");
if ($rezultat = @$polaczenie->query(
sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
mysqli_real_escape_string($polaczenie,$login),
mysqli_real_escape_string($polaczenie,$haslo))))
{
$ilu_userow = $rezultat->num_rows;
if($ilu_userow>0)
{
$_SESSION['zalogowany'] = true;
$wiersz = $rezultat->fetch_assoc();
$_SESSION['id'] = $wiersz['id'];
$_SESSION['user'] = $wiersz['user'];
unset($_SESSION['blad']);
$rezultat->free_result();
echo '<script type="text/javascript">location.href = "index.php"</script>';
} else {
$_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
echo '<script type="text/javascript">location.href = "index.php"</script>';
}
}
$result = mysqli_query($polaczenie, "SELECT * FROM uzytkownicy WHERE user='$login'");
$rekord = mysqli_fetch_array($result); // wiersza z BD, struktura zmiennej jak w BD
if(!$rekord) //Jeśli brak, to nie ma użytkownika o podanym loginie
{
mysqli_close($polaczenie);
echo "Brak użytkownika o takim loginie!"; // UWAGA nie wyświetlamy takich podpowiedzi dla hakerów
}
else {
if ($rekord['pass'] == $haslo)
{
if ($rekord['typ'] == 'admin') {
$_SESSION['admin']=true;
header('Location: admin.php');}
if ($rekord['typ'] == 'coach') {
$_SESSION['coach']=true;
header('Location: coach.php');}
if ($rekord['typ'] == 'user') {
$_SESSION['user']=true;
header('Location: user.php');}
}
}
}
$polaczenie->close();
?>
Kiedy typ użytkownika to coach ma się zalogować jako coach i przekierować na strone coach.php
Kiedy typ użytkownika to admin ma się zalogować jako admin i przekierować na strone admin .php
Kiedy typ użytkownika to user ma się zalogować jako user i przekierować na strone user .php
Skrypt logowania działa poprawnie, loguje się jako admin/coach/user ale problemem stanowi samo przekierowanie. Wszystko przekierowuje na admin.php
Wie ktoś jak sprawić żeby przekierowywało zgodnie z typem konta??
Oto jeszcze Index.php:
<?php
session_start();
?>
<script src="jquery-1.11.3.min.js" ></script>
<?php
if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
{
echo '<script type="text/javascript">location.href = "admin.php"</script>'; // tutaj moze jest błąd ale bez tego mi nie działa
exit();
}
?>
<!DOCTYPE HTML>
<html lang="pl">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>STRONA GŁÓWNA</title
</head>
<body>
<br>
<form action="zaloguj.php" method="post">
Login: <input type="text" name="login" />
<br></br>
Hasło: <input type="password" name="haslo" />
<br></br>
<input type="submit" value="Zaloguj się" />
<br></br>
</form>
<?php
if(isset($_SESSION['blad'])) echo $_SESSION['blad'];
?>
</body>
</html>