[PHP]Problem z header refresh |
[PHP]Problem z header refresh |
25.06.2018, 11:26:33
Post
#1
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%) |
Witam,
Mam taki skrypt do logowania, który sprawdza czy minął okres ważności hasła, jeśli tak, to wywołana zostaje zmiana tego hasła, a następnie ma zostać odświeżona strona z dostępnym dla danego konta menu. Na lokalnym serwerze mi to działa. Niestety, gdy wrzucam na serwer produkcyjny to już nie. Wyświetla mi się informacja o poprawnej zmianie hasła, ale strona nie zostaje odświeżona. Czy jest tu jakiś problem?
|
|
|
25.06.2018, 11:31:45
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Przed wyslaniem jakiegokolwiek naglowka nie mozna pojsc do przegladarki zadne dodatkowe info. A u cibeie leci cala masa kodu html. Takie skutki niestosowania sie do zasady:
najpierw logika aplikacji a potem dopiero wyswietlanie Lokalnie ci dziala bo masz ustawione buforowanie automatyczne. Albo zmien ustawienia serwera na to buforowanie, albo sam wlaczaj buforowanie w kodzie php (ob_start()) albo zacznij pisac poprawnie czyli: najpierw logika aplikacji a potem dopiero wyswietlanie Ostatnia opcja jest najlepsza. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
25.06.2018, 11:57:30
Post
#3
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%) |
najpierw logika aplikacji a potem dopiero wyswietlanie Wydawało mi się, że to jest logiczne. Przesyłam najpierw login, sprawdzam w bazie czy jest spełniony warunek. Jeśli jest spełniony to wywołuję formularz do zmiany hasła, wyświetlam komunikat o poprawnej zmianie i odświeżam stronę. Po odświeżeniu warunek nie jest spełniony wiec przechodzi dalej i wyświetla pozostałe informacje. Ale widać byłem w błędzie. Jaka więc kolejność powinna być poprawna? |
|
|
25.06.2018, 12:01:41
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
No juz ci napisalem: najpierw logika aplikacji, potem wyswietlanie.
U ciebie jest, ze najpierw wyswietlasz - np.formularz , a potem dopiero robisz header. Wysweitlanie ma sie pojawic dopiero gdy cala logika aplikacji sie zakonczy. Nie wczesniej. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
25.06.2018, 12:12:21
Post
#5
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%) |
Jakoś to mi nie wychodzi. Może jakaś podpowiedz, ale bardziej szczegółowa.
|
|
|
25.06.2018, 12:14:07
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
No instrukcje sa jasne: header to logika aplikacji. Robiac header nie mozesz nic wczesniej wyswietlac.
Przeciez w request, ktore wywali header nie potrzebujesz wyswietlac formularza. To go nie wysietlaj. Przeciez wiesz ktory request wymaga formularza a ktory nie. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
25.06.2018, 12:32:35
Post
#7
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%) |
Takie coś też nie działa Formularz jest na końcu.
|
|
|
25.06.2018, 12:34:22
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
No ale przed header masz teraz jeszcze to:
<h3>Panel Administr</h3> Masz rowniez cala mase pustych linii (ENTEROW). Zrozum. Nic nie moze pojsc. Zaden tekst, zadna spacja, nic. nie mozesz pojsc tez zaden znaczik html ala: <html><body> jesli takowe masz ghdzies tam a nie pokazales tu w kodzie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
25.06.2018, 12:46:35
Post
#9
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%) |
W kodzie pokazałem wszystko.
Zmieniłem to tak. Nic już nie powinno się wyświetlać przed header, ale to i tak nie działa. Gdzie tu jeszcze robie błąd.
|
|
|
25.06.2018, 12:55:13
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Dobra, ja sie poddaje. Wyraznie ci napisalem NIC a ty dalej walisz COS. Nie bede ci palcem kazdej linijki pokazywal bo to juz lekka przesada
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
25.06.2018, 13:06:19
Post
#11
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%) |
Nie oczekuje pokazywania każdej linijki, wystarczy napisać np. tak:
najpierw zrób sprwdzenie loginu w bazie; jesli warunek spełniony to zrob to; jeśli nie to zrób tamto; tutaj ma być header; tu ma być wyświetlanie. Wszystkie puste linie wykasowane
Ten post edytował dopal 25.06.2018, 13:09:37 |
|
|
25.06.2018, 13:15:36
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Napisalem ci wyraznie co masz zrobic. Instrukcje byly naprawde banalne. Banalne.
Cytat Wszystkie puste linie wykasowane Napislaem ci wyraznide co ma byc skasowane. Puste linie byly tylko jedne z wielu.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
25.06.2018, 13:22:42
Post
#13
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%) |
No nic ja też się poddaje i zrobię to zupełnie inaczej, bez sprawdzania ważności hasła ( choć szkoda), bo jednak trochę bardziej liczyłem na pomoc a nie na powtarzanie ciągle tego samego przez Ciebie. Skoro to jest miejsce dla początkujących to oczekiwałbym trochę więcej zrozumienia, nie wszyscy to eksperci. A nie oczekuję podania rozwiązania na tacy, a jedynie konkretnych wskazówek. Gdybym wiedział co masz na mysli, to bym się nie dopytywał. Mimo to dzięki.
|
|
|
25.06.2018, 13:44:18
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Nospor mówi że masz usunąć wszystkie biały znaki a ty dalej je zostawiasz. Przede wszystkim brakuje ci totalnych podstaw działania sieci. https://prophp.pl/article/1/protokol_http Może jak to zrozumiesz będziesz wiedział gdzie jest błąd. Potem możesz kombinowac z ob_start();
-------------------- |
|
|
25.06.2018, 13:54:56
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Cytat A nie oczekuję podania rozwiązania na tacy, a jedynie konkretnych wskazówek. Gdybym wiedział co masz na mysli, to bym się nie dopytywał. Mimo to dzięki. Kurcze, ale powiedz mi czego nie rozumiesz w slowie NIC?Nic nie mozesz wyslac do przegladarki przed header. NIC. A ty ciagle wysylasz cos. ciagle wysylasz kawalki html czy pustych znakow. Nie rozumiem co tu jest niezrozumialego. Sprawdz w slowniku definicje slowa NIC. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
Wersja Lo-Fi | Aktualny czas: 24.04.2024 - 02:58 |