![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 7.05.2004 Skąd: Jelenia Góra Ostrzeżenie: (0%) ![]() ![]() |
Witam,
ja się wiążę z takim problemem że mam zrobione logowanie na stronie na sesjach. Użytkownik wpisuje login, hasło, te dane przechodzą do funkcji logowania, w tej funkcji pobierane są odpowiednie dane z bazy i jeżeli jest odpowedni login i hasło do niego to następuje taka jakby autoryzacja - tzn. zmienna $_SESSION["USER_AUTH"] przybiera wartość true, później zmienna $_SESSION["USER_LOGIN"] przybiera wartość loginu danego użytkownika. I teraz użytkownik widzi na ekranie link który przekierowuje go do pewnej podstrony, na której to wywoływana jest funkcja która na podstawie tej zmiennej $_SESSION["USER_LOGIN"] pobiera z bazy resztę danych. Jak wiadomo takie rozwiązanie, że użytkownik musi indywidualnie kliknąć na link za bardzo mu nie sprzyja. Więc zdecydowałem się na przekierowanie - tzn: Kod <meta http-equiv="Refresh" content="0; URL=index.php?page=siedziba"> Problem jest tego typu że na ie u mnie wszystko działa w pożądku(ie z sp2). Znajomi mówią jednak że u nich na ie poprzez to przekierowanie logowanie nie jest przeprowadzane poprawnie (to jest ie z sp1). Poprzez zwykły link do tej strony wszystko działa w pożądku. Z moich obserwacji wynika że poprzez przekierowanie nie są przekazywane zmienne globalne na niektórych wersjach przeglądarek. Czy jest na to jakaś rada? Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 7.05.2004 Skąd: Jelenia Góra Ostrzeżenie: (0%) ![]() ![]() |
Skoro żaden ze sposobów tu wymienionych nie przyniósł zamierzonego skutku, opiszę sprawę dokładniej.
index.php pliczek w którym jest wywoływana funkcja session_start(), tu includowane są wszelkie pliki: pliki z funkcjami, lewe menu, prawe oraz środek(który jest zamienny, zaleznie od $_GET['page']). login.php formularz do logowania login2.php plik w którym wywoływana jest funkcja logowania funkcja logowania najpierw sprawdzane są wszystkie warunki, czy login pasuje do hasła i inne pierdoły, jeżeli wszystkie warunki są spełnione to dochodzi do logowania i wtedy wywoływany jest następujący kod:
Jak widać w tym miejscu następuje przekierowanie do index.php, ze srodkiem siedziba.php. W tym czasie w index.php wywoływana jest funkcja user_dane(), która na podstawie zmiennej $_SESSION["USER_LOGIN"] pobiera z bazy wszystkie dane dotyczące danego użytkownika. Później includowana jest ta strona siedziba.php która wyświetla te dane odrazu. Problem jest tego typu że na moim komputerze działa to znakomicie. Normalnie się loguję wypełniając formularz, pokazuje mi się informacja że trwa przekierowanie i za chwile pojawia mi się strona siedziba.php z danymi dotyczącymi mojego konta. U moich znajomych zaś występuje problem taki, jakby nie wykonywana była funkcja user_dane(). Dane nie są poprawnie wyświetlane na stronie :/ Czyli drogą dedukcji możliwe że zmienna $_SESSION["USER_LOGIN"] nie jest przesyłana pomiędzy stronami. Problem rozwiązuje się jeżeli ręcznie klikną na link przekierowujący do tej strony, a nie będą czekać na przekierowanie. Ma ktoś jakiś pomysł? Ten post edytował MagnuM 1.10.2005, 13:32:17 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 02:51 |