![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 304 Pomógł: 0 Dołączył: 12.12.2006 Skąd: Pszów Ostrzeżenie: (0%) ![]() ![]() |
Witam
Próbuje napisać sprawny kod logowania z cookies opartym oczywiście o sesje i bazę danych mysql. Jednak coś nie działa mi to w necie, bo lokalnie zdaję się że działa. Mam jeszcze dodatkowe pytanie, czy da się jakoś sztucznie wydłużyć czas trwania SESSION? Typ serwera Home.pl, konto współdzielone, więc nie mam dostępu do php.ini Oto zestaw plików odpowiedzialnych za logowanie u mnie. Plik funkcje.php
plik index.php
Plik logout.php
Plik logowanie.php
w nagłówku zaraz po body jest wywołanie funkcji:
Skrypt pisałem jakiś czas temu, mam świadomość że jest trochę chaotyczny ![]() Pozdrawiam Ten post edytował Avatarus 22.06.2008, 06:34:01 -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Oj chłopie, trochę za dużo tego kodu, żeby ktoś za Ciebie analizował go.
Przeanalizuj w różnych miejscach (np. za pomocą var_dump) dane to będzie wiadomo gdzie się coś nie zgadza. Wtedy będzie łatwo zlokalizować błąd. I posprawdzaj sobie za pomocą mysql_error czy zapytania są ok. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 304 Pomógł: 0 Dołączył: 12.12.2006 Skąd: Pszów Ostrzeżenie: (0%) ![]() ![]() |
tak tylko wiesz.....sesje z cookies możesz sprawdzić tylko jak sesja wygasa i wtedy zobaczyć czy faktycznie łapie ją znowu z cookies czy nie. Czekanie powiedzmy 20 min i sprawdzenie czy sesja zaskoczyła z każdą poprawką to nieciekawe doświadczenie.
Może w wielkim skrócie. Skrypt działa tak. Jak się logujesz to do bazy wędruje id sessji wygenerowany przez moja funkcje, dodatkowo, czas, id usera, nick. Wysyłane jest też cookies ktore ma w sobie tylko id sesji. Jeśli teraz podczas odświeżenia nie ma $_SESSION[nick] (czyli wygasła) to odpala funkcje logowanie_cookies() Te funkcja sprawdza czy jest cookies, potem sprawdza czy Id w nim pasuje do tabeli sesji jeśli tak to przypisuje zmiennym $_SESSION nowe dane. z funkcji sesyjnych używam tylko session_start(), session_destroy(). Wiem że są funkcje to regeneracji id, ale nie wiem czy przyda się to tutaj.... Może inaczej. Jeśli ktoś stworzy sesje i są przechowywane dane np. $_SESSION[nick] no i powiedzmy po 10 latach koleś odświeży stronę, dane $_SESSION wygasną, no ale jest cookies, sprawdzi z bazą i jest sesja, to wtedy z marszu przypiszę nowe dane $_SESSION to będzie to dalej poprawna sessja? czy trzeba całą sesję jakoś odrodzić? -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 02:45 |