Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przeładowanie tej samej strony = zapętlenie
IronStark
post 30.05.2010, 10:29:15
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 2
Dołączył: 18.04.2010

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


Witam, chciałem przeładować bieżącą stronę i w wyniku tej operacji przeglądarka wywala błąd, że strona zawiera pętle przekierowania

  1. <?php
  2. header("Location: ' . $_server['php_self']);
  3. ?>


questionmark.gif
Go to the top of the page
+Quote Post
tehaha
post 30.05.2010, 10:35:08
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


co właściwie próbujesz zrobić? header Location to ustawienie nagłówka przekierowania, mam nieodparte wrażenie, że pomyliłeś javascript z php, php działa po stronie serwera czyli w momencie przeładowania strony
Go to the top of the page
+Quote Post
IronStark
post 30.05.2010, 10:36:32
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 2
Dołączył: 18.04.2010

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


Wiem na czym polega problem ale nie wiem jak go zatrzymać.
Chcę przeładować stronę aby sprawdzić czy cookie zostało ustawione
Go to the top of the page
+Quote Post
tehaha
post 30.05.2010, 10:42:16
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


no, ale żeby ciastko zostało ustawione to musisz wysłać całość do przeglądarki , Ty potrzebujesz odświeżenia po stronie przeglądarki, więc prędzej wyślij do przeglądarki taki kod:
  1. <script type="text/javascript">
  2. window.location.reload();
  3. </script>
Go to the top of the page
+Quote Post
IronStark
post 30.05.2010, 10:54:20
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 2
Dołączył: 18.04.2010

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


Nie chciałbym mieszać kodu js z php, ponieważ widziałem, że można to zrobić łatwo przez php, wczoraj widziałem kod, niestety dziś już nie mogę go odnaleźć.
Było to coś w stylu
//setcookie
//header("Location: tensamskrypt?nie_pamietam_co_bylo_po_?
//warunek sprawdzania czy cookie istnieje

Go to the top of the page
+Quote Post
tehaha
post 30.05.2010, 11:01:20
Post #6





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


"The following example will first set a test cookie, then reload the page, and finally check whether cookies are enabled."

  1. <?php
  2. error_reporting (E_ALL ^ E_WARNING ^ E_NOTICE);
  3.  
  4. // Check if cookie has been set or not
  5. if ($_GET['set'] != 'yes') {
  6. // Set cookie
  7. setcookie ('test', 'test', time() + 60);
  8.  
  9. // Reload page
  10. header ("Location: checkcookies.php?set=yes");
  11. } else {
  12. // Check if cookie exists
  13. if (!empty($_COOKIE['test'])) {
  14. echo "Cookies are enabled on your browser";
  15. } else {
  16. echo "Cookies are <b>NOT</b> enabled on your browser";
  17. }
  18. }
  19. ?>

Go to the top of the page
+Quote Post
IronStark
post 30.05.2010, 11:26:07
Post #7





Grupa: Zarejestrowani
Postów: 20
Pomógł: 2
Dołączył: 18.04.2010

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


Własnie o to mi chodziło. Fajnie, dziękuję smile.gif
Przy okazji intrygowała mnie zawsze taka rzecz, czy idzie usunąć z url to co znajduje się po '?' np. podczas działania tego skryptu, aby w adresie nie były widoczne zmienne ?
Go to the top of the page
+Quote Post
croc
post 30.05.2010, 11:48:37
Post #8





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Ten przykład wyżej jest jakiś bez sensu. If GET['set'] jest różny od 'yes', to ustawiamy biggrin.gif To chyba miało działać odwrotnie - w header powinien być pusty link, a cookie ustawiać się powinno z ?set=yes.
Go to the top of the page
+Quote Post
IronStark
post 30.05.2010, 15:38:45
Post #9





Grupa: Zarejestrowani
Postów: 20
Pomógł: 2
Dołączył: 18.04.2010

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


Cytat(croc @ 30.05.2010, 12:48:37 ) *
Ten przykład wyżej jest jakiś bez sensu. If GET['set'] jest różny od 'yes', to ustawiamy biggrin.gif To chyba miało działać odwrotnie - w header powinien być pusty link, a cookie ustawiać się powinno z ?set=yes.


Właśnie dobrze jest, gdyby w header był pusty link to zapętliło by się (patrz problem 1 post). To jest właśnie ta abstrakcja aby nie odświeżało tego samego linku smile.gif Hack, czar, nazwijmy to jak chcemy smile.gif
Go to the top of the page
+Quote Post

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: 14.08.2025 - 12:58