Wszystko testowane jest na localhoscie na 1 komputerze.
Jest panel użytkownika i panel administracyjny. Najpierw loguje sie na administratora,
a następnie się wylogowuje (nie wyłączając przeglądarki), potem loguje się na uzytkownika i tu pojawia sie problem.
Jeżeli w pasku teraz wpisze sciezke do strony admina(bedąc na koncie uzytkownika), nastepuje włączenie tej strony i wyswietla mi ze jest na nej administrator ( I co ciekawe moge tylko chodzic po tych stronach admina po ktorych wczesmniej chodziłem bedac zalogowany jako admin i oczywiscie po stronach przeznaczonych dla klienta, jezeli wejde na jakomś strone ktorej wczesniej mie załączałem przerzuca mnie do strony logowania)
(czego to jest przyczyna, sesji czy błąd programistyczny, niby usuwam wszystko z sesji, nie wiem pozostaja jakies pozostałości w buforze)
Natomiast jezeli wyłacze przegladarke i uruchomie ponownie nie mam takiego problemu (konfliktu kont),wtedy wszystko działa dobrze i uzytkownika przerzuca do strony z logowaniem
Plik admin
<?php require_once("../include/session.php"); ?> <?php fnk_potwierdz_logowanie_pracownik() ?> ...
Plik klient
<?php require_once("include/session.php"); ?> <?php fnk_potwierdz_logowanie() ?> ...
Plik login
<?php require_once("include/session.php"); ?> <?php require_once("include/polacz_z_baza.php"); ?> if (fnk_zalogowany()) { if (strcmp($_SESSION['status'], 'klient') == 0) {fnk_przejdz_do("klient.php");} if (strcmp($_SESSION['status'], 'pracownik') == 0) {fnk_przejdz_do("admin.php");} sprawdzenie hasła i loginu Jesli ok to $_SESSION['id_uzytk'] = $znaleziony_uzytk['id_uzytkownika']; $_SESSION['login'] = $znaleziony_uzytk['login']; $_SESSION['status'] = $znaleziony_uzytk['status']; // status jest klient lub pracownik if($znaleziony_uzytk['status'] == "klient") {fnk_przejdz_do("klient.php");} if($znaleziony_uzytk['status'] == "pracownik") {fnk_przejdz_do("admin.php");} }
Plik sesji
<?php require_once("funkcje.php"); function fnk_zalogowany() { } function fnk_potwierdz_logowanie_pracownik() { if (!fnk_zalogowany()) { fnk_przejdz_do("login.php"); } fnk_przejdz_do("login.php"); } } function fnk_potwierdz_logowanie() { if (!fnk_zalogowany()) { fnk_przejdz_do("login.php"); } fnk_przejdz_do("login.php"); } } ?>
Plik logout
<?php } //Zniszcz sesje fnk_przejdz_do("login.php?logout=1"); ?>
<?php function fnk_przejdz_do($location = NULL) { if ($location != NULL) { exit; } } ?>