![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 17.03.2011 Ostrzeżenie: (0%)
|
Witam,
mam banalny błąd, ale nie wiem co jest jego przyczyną: mam stronę z oknem logowania, po wpisaniu danych i przesałniu formularza przesyła dane na tą samą stronę (index.php) na samej górze sprawdza poprawność danych i jeśli OK to dodaje ciasteczka, reszta strony sprawdza tak jak zwykle i w zależności czy jest ciasteczko to generuje lub nie. Problem w tym, że po zalogowaniu muszę jeszcze raz odświeżyć stronę, może mi ktoś wytłumaczyć czemu? |
|
|
|
Post
#2
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Szklana kula mówi, że masz błąd w kodzie...
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%)
|
Cytat Problem w tym, że po zalogowaniu muszę jeszcze raz odświeżyć stronę, może mi ktoś wytłumaczyć czemu? Tworzysz ciasteczko i w tym samym żądaniu chcesz sprawdzić czy zostało utworzone? Nie da się tak. Pod koniec skryptu który tworzy ciasteczko, dodaj tuż za nim przekierowanie na stronę na której jest (header('Location: /index.php')) i w ten sposób strona się przeładuje a nawet nie zauważysz że się przeładowała. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 17.03.2011 Ostrzeżenie: (0%)
|
Wiem, że można dodać header("Location: index.php"), ale właśnie zdziwiło mnie, że nie można sprawdzić COOKIE rozumiem gdybym sprawdzał, a potem utworzył...
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 3 Dołączył: 27.08.2008 Ostrzeżenie: (0%)
|
Nie można, ponieważ zmienna $_COOKIES przechowuje ciasteczka otrzymane od przeglądarki, a ty sam je ustawiłeś, więc od przeglądarki nie przyszły (IMG:style_emoticons/default/smile.gif)
możesz albo przeładować stronę (tak, jak ktoś wyżej pisał) albo potraktować $_COOKIES jak każdą inną tablicę i coś sobie do niej dopisać tuż obok setcookie() |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 15:04 |