Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [inne][PHP] Pobieranie zawartości strony na nowo.
Harsay
post 20.02.2012, 10:08:00
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Witam.

Mam problem z własną stroną. Polega on na tym że gdy będą nowe możliwe wyniki z zapytania mysql do wyświetlenia lub gdy zostanie ustawiona sesja odpowiedzialna za zalogowanie to aby zobaczyć zmiany (np. zamiast napisu "Zaloguj" było "Ustawienia konta") to muszę odświeżyć ręcznie każdą podstronę. Nie wiem czy to jest z powodu złego kodu php czy serwera (WebServ).

Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
piotr.mroczek
post 20.02.2012, 10:09:45
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 6
Dołączył: 22.08.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


co rozumiesz przez odświeżyć? masz ta samą strone otwartą na kilku kartach
Go to the top of the page
+Quote Post
Harsay
post 20.02.2012, 10:10:34
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Rozumiem to przez kliknięcie przycisku "odśwież" w przeglądarce.
Stronę mam otwartą w jednej karcie.
Go to the top of the page
+Quote Post
piotr.mroczek
post 20.02.2012, 10:37:03
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 6
Dołączył: 22.08.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


rozumiem...

jeżeli pojawiają się nowe dane z bazy do wyświetlenia, to musisz po prostu odpytać o te dane serwer, czy to po prostu odświeżając strone przez F5 czy używając Ajaxa.
natomiast jeżeli przechodzisz przez jakiś formularz logowania, zalogowałeś się i widzisz na stronie "zaloguj sie" a dopiero po odświeżeniu strony strona widzi że jesteś zalogowany,
to tak naprawdę ciezko powiedzieć, przypuszczam że coś ze skryptem jest nie tak.
Go to the top of the page
+Quote Post
Harsay
post 20.02.2012, 10:40:02
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Winą może być używanie include?
Każda podstrona jest tworzona za pomocą funkcji która jest includowana.

Ten post edytował Harsay 20.02.2012, 10:40:31
Go to the top of the page
+Quote Post
piotr.mroczek
post 20.02.2012, 10:46:30
Post #6





Grupa: Zarejestrowani
Postów: 45
Pomógł: 6
Dołączył: 22.08.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


include sam w sobie raczej nie. stawiałbym raczej na logikę aplikacji. po prostu skrypt zbyt późno lub po prostu źle posługuje się sesją (bo zapewne tam są trzymane dane o ew. zalogowanym użytkoniku)
Go to the top of the page
+Quote Post
Harsay
post 20.02.2012, 11:11:59
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Dodam że ręczne odświeżenie jest wymagane nawet gdy zmienię sam tekst w pliku. (przed chwilą sprawdziłem)

Ten post edytował Harsay 20.02.2012, 11:12:19
Go to the top of the page
+Quote Post
strife
post 20.02.2012, 11:16:16
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Hej,

Czy używasz przekierowań po tym jak użytkownik poprawnie przejdzie autoryzację? Ponieważ wygląda to na pierwszy rzut oka właśnie tak, jakbyś tego nie robił.

Jak pisał @piotr.mroczek, wyniki musisz przeładować aby były widoczne, więc powinieneś wysłać odpowiedni nagłowek do przeglądarki, który sam odświeży stronę, a nie użytkownik.


--------------------
Go to the top of the page
+Quote Post
Harsay
post 20.02.2012, 11:20:30
Post #9





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Chodzi o header?
Próbowałem tego używać ale wysypuje mi błędami w stylu "headers already sent". Wiem że przed tym nie może znajdować się nic innego ale nie wiem jak kto wykombinować.
Go to the top of the page
+Quote Post
strife
post 20.02.2012, 11:24:01
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(Harsay @ 20.02.2012, 11:20:30 ) *
Chodzi o header?
Próbowałem tego używać ale wysypuje mi błędami w stylu "headers already sent". Wiem że przed tym nie może znajdować się nic innego ale nie wiem jak kto wykombinować.

Dokładnie. A szukałeś na forum czemu masz taki błąd i jak się go pozbyć? snitch.gif

hint: 1 link w mojej stopce wstydnis.gif


--------------------
Go to the top of the page
+Quote Post
Harsay
post 20.02.2012, 12:25:09
Post #11





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Błędu już nie mam. Tylko co zrobić aby odświeżyło stronę tylko 1 raz? Trzeba napisać skrypt, sprawdzający czy strona była odświeżona? Czy wystarczy tylko w header coś wpisać?
Go to the top of the page
+Quote Post
strife
post 20.02.2012, 12:26:19
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(Harsay @ 20.02.2012, 12:25:09 ) *
Błędu już nie mam. Tylko co zrobić aby odświeżyło stronę tylko 1 raz? Trzeba napisać skrypt, sprawdzający czy strona była odświeżona? Czy wystarczy tylko w header coś wpisać


No a ile razy Ci się niby odświeża? Rzuć może kawałkiem kodu.


--------------------
Go to the top of the page
+Quote Post
Harsay
post 20.02.2012, 12:34:41
Post #13





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


  1. header( 'refresh: 0; '.$_SERVER[REQUEST_URI].'' );

Non stop odświeża.
Go to the top of the page
+Quote Post
strife
post 20.02.2012, 12:40:25
Post #14





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(Harsay @ 20.02.2012, 12:34:41 ) *
  1. header( 'refresh: 0; '.$_SERVER[REQUEST_URI].'' );

Non stop odświeża.

Miałeś przekierować, a nie odświeżać.

  1. header("Location: index.php");


--------------------
Go to the top of the page
+Quote Post
prz3kus
post 20.02.2012, 12:42:15
Post #15





Grupa: Zarejestrowani
Postów: 260
Pomógł: 30
Dołączył: 22.01.2007

Ostrzeżenie: (0%)
-----


lepiej pokaż cały formularz logowanie ponieważ wygląda na to że sobie bardzo utrudniasz życie smile.gif
Go to the top of the page
+Quote Post
Harsay
post 20.02.2012, 12:43:21
Post #16





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Ale jak to wykorzystać dla każdej podstrony?
Przy logowaniu/rejestracji to robię ale gdy wchodzę np. w podstronę kontakt to pozostają stare dane tzn. Zaloguj itp.
Go to the top of the page
+Quote Post
strife
post 20.02.2012, 12:47:32
Post #17





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(Harsay @ 20.02.2012, 12:43:21 ) *
Ale jak to wykorzystać dla każdej podstrony?
Przy logowaniu/rejestracji to robię ale gdy wchodzę np. w podstronę kontakt to pozostają stare dane tzn. Zaloguj itp.


Przypadkiem to nie jest wina cache'u przeglądarki? Próbowałeś innymi to testować?
Można jeszcze nagłówkami wymusić czyszczenie cache'u przeglądarki, może to pomóc.


--------------------
Go to the top of the page
+Quote Post
Harsay
post 20.02.2012, 13:02:45
Post #18





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


  1. header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
  2. header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past


Dalej nie działa.
Go to the top of the page
+Quote Post
strife
post 20.02.2012, 13:11:56
Post #19





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(Harsay @ 20.02.2012, 13:02:45 ) *
  1. header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
  2. header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past


Dalej nie działa.

Wyklucz jeszcze winę przeglądarek, pod jakimi sprawdzasz? Pod wszystkimi, w których sprawdzasz jest ten sam błąd?

Jesteś też pewien czy od strony php nie ma jakiegoś systemu cache, który może to powodować?

W ostateczności daj adres do tej strony i dane jak się zalogować.


--------------------
Go to the top of the page
+Quote Post
Harsay
post 20.02.2012, 14:14:31
Post #20





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Sprawdzam w IE, Firefoxie, Chrome i Operze.
Po wyczyszczeniu cache w przeglądarce wszystko działa ale później w podstronach zapamiętuje co było i gdy się wyloguję to wyświetla informacje dla zalogowanego.

Wątpie że jest to wina przeglądarek ponieważ na innych stronach nie mam takich problemów.

Cache na serwerze. Korzystam z webserva na localhoscie. Grzebałem w php.ini i wszystko powyłączałem. Dalej to samo.

Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 22:55