Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przeładowanie tej samej strony = zapętlenie
Forum PHP.pl > Forum > Przedszkole
IronStark
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
tehaha
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
IronStark
Wiem na czym polega problem ale nie wiem jak go zatrzymać.
Chcę przeładować stronę aby sprawdzić czy cookie zostało ustawione
tehaha
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>
IronStark
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

tehaha
"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. ?>

IronStark
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 ?
croc
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.
IronStark
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.