![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 1 Dołączył: 20.01.2008 Skąd: Bełchatów Ostrzeżenie: (0%) ![]() ![]() |
Witam prezentuje mój skrypt logowania:
Jest jedno ale. Skrypt ten działa z opóźnieniem tzn gdy próbuje się logować skrypt wykonuje wszystko poprawnie. Wyskakuje mi okienko poprawnie zalogowano i przenosi mnie po 4 sekundach do index.php, jednak ukazuje mi się nadal formularz logowania, gdy odświeże stronę wszystko jest ok zalogowało. Tak samo jest przy wylogowywaniu: klikam wyloguj, wyskakuje okienko wylogowało ale tak naprawdę nie wylogowało i z powrotem przenosi mnie do wylogowywania. Gdy spróbuje następnym razem wszystko jest ok. Tak jakby usuwało zmienne sesji po czasie i przy logowaniu tak jakby tworzyło zmienne sesji z małym opóźnieniem. Czym może to być spowodowane? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 17 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
zacznijmy może od tego, że nie warto tworzyć tylu sesji, bo można stworzyć sesję "user_login", po czym funkcje do wyciągania danych użytkownika z bazy mysql. Jedno proste zapytanko i masz wszystkie informacje o danym użytkowniku. A tworzysz do najzwyczajniej w świecie: mysql_fetch_assoc(mysql_query("SELECT * FROM `uzytkownicy` WHERE `login` = '".$_SESSION['user_login']."' i zobacz jaki masz porządek od razu w kodzie. Następną rzeczą jest warunek sprawdzający sesję użytkownika czy jest zalogowany, czy nie. Nie rozumiem po co używasz if($_SESSION['sesja'] != 'istnieje'){, skoro możesz wcześniej zarejestrować sesję "zalogowany=true" i później sprawdzać warunek tak: if ($_SESSION['zalogowany'] {. Nie brzmi lepiej i przejrzyściej? Poza tym radzę poczytać o atakach sql_injection i xss, bo Twój skrypt jest bardzo na to podatny.
i proponuję poczytać jeszcze o funkcji isset, która prawdopodobnie rozwiąże Twój problem. pozdrawiam ![]() Ten post edytował Ramzaa 24.08.2010, 20:22:23 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 15:00 |