![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z obsługą sesji. W pliku form.html znajduje się prosty formularza logowania:
Skrypt w pliku przetwarza dane:
Profile.html sprawdza sesję:
Jeżeli w form.html wpiszę błędne dane to zostaję automatycznie, w ułamku sekundy przekierowany z powrotem. Niestety, komunikat o błędzie się nie wyświetla, sesja nie działa poprawnie. Dlaczego? Przecież skrypt przechodzi całą ścieżkę form.html » login.html » profile.html » form.html, a wszystkie zaczynają się od session_start(); Na marginesie: czy jest jakiś lepszy niż sesje sposób przekazania komunikatu o błędzie pomiędzy skryptami? -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nigdzie tu nie widzę, byś w sesji przenosił jakikolwiek komunikat o błędzie.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Źle się wyraziłem. Chodzi o ten fragment:
Oczywiście, warunek będzie dużo bardziej rozbudowany: jeżeli sesja została zainicjowana, tablica $_SESSION nie jest pusta, a mimo to nie ma pewnej zmiennej sesyjnej, to musiał nastąpić błąd logowania. Problem w tym, że nawet tak prosty warunek if(!empty($_SESSION)) nie działa, bo sesja coś nawala. Czemu? Jakiś inny pomysł na zrealizowanie tego samego zadania? -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze pliki powinny mieć końcówkę .php, po drugie poczytaj o sesjach bo z tego co Ty tu tworzysz to nie wiem co chcesz utworzyć.
Sprawdzasz dane przesłane z formularza, pytasz bazy czy co tam używasz do trzymania danych, czy dane się zgadzają i logujesz np. w taki sposób -
Następnie w profilu sprawdzasz -
i wsio. |
|
|
![]() ![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kto powiedział, że kod PHP musi znajdować się w plikach .php? Nie bez powodu używam rozszerzenia .html.
Przeczytaj jeszcze raz pierwszego posta. W login.html:
W profile.html:
Czy jeżeli nastąpił błąd logowania to profile.html przekierowuje do form.html. Tu pojawia się problem, bo po przekierowaniu z powrotem do form.html sesja nie działa. Ten post edytował Kas 12.10.2011, 10:13:56 -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wstaw cały kod, a nie jakieś wycinki bo nic z nich nie wiadomo.
|
|
|
![]() ![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dobra, znalazłem błąd.
![]() ![]() -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 17:45 |