Logownaie |
Logownaie |
29.03.2012, 12:19:21
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? |
|
|
29.03.2012, 12:22:26
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...
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
29.03.2012, 12:31:21
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. |
|
|
29.03.2012, 14:06:16
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ł...
|
|
|
30.03.2012, 13:59:09
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
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() |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 15:32 |