Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] odświeżanie
Forum PHP.pl > Forum > Przedszkole
archie85
Szukałem już na forum tego typu tematów ale mimo wszystko nie mogę sobie poradzić.
Znalazłem rozwiązania przy zastosowaniu header() ale nie wiem, może coś źle robię bo nie działa.

Sprawa jest taka że, po wykonaniu jakiegoś skryptu php chcę aby strona została odświeżona. Chodzi mi mniej więcej o coś takiego:
  1. <?php
  2. $wynik = mysql_query ("insert into tabela (dana) values ('".$dana."');");
  3. if($wynik)
  4. {
  5. //odśwież strone
  6. }
  7. ?>
strife
W miejscu w którym chcesz aby została strona odświeżona, czyli w środku tej instrukcji którą podałeś:

  1. <?php
  2. header("Location: adres_jakis"); // oczywiscie adres gdzie przekierowac dowolny
  3. ?>

Możesz też zrobić przekierowanie po kilku sekundach, ale już jak to zrobić zapraszam do manual'a smile.gif Jeżeli będziesz miał problemy poczytaj przyczepiony temat w Przedszkolu zatytułowany Najczęstsze błędy .

Pozdrawiam smile.gif
archie85
Próbowałem już w ten sposób ale zwraca mi taki błąd:

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\stronaaa\index.php:5) in C:\Program Files\xampp\htdocs\stronaaa\goscie.php on line 94

W pliku index.php mam umieszczone logo oraz menu. Strony, które otwieram ładują się jakby w środku tego wszystkiego, tzn nie ładuja się na nowo logo czy menu tylko sama treść.
skowron-line
google.pl ->Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\stronaaa\index.php:5) in C:\Program Files\xampp\htdocs\stronaaa\goscie.php on line 94

a odpowiedz sie pojawi
archie85
skowron-line taką odpowiedź to znalazłem tam gdzie strife napisał, czyli przedszkole: Najczęstsze Błedy, jednak to mi nie pomogło...
Ludvik
Przecież masz jak byk napisane, że w 5 linii skryptu wysłałeś już dane do przeglądarki. Nagłówki idą przed ciałem odpowiedzi, a u Ciebie tak nie jest.
archie85
Czyli nie mogę zrobić tego w sposób jak strife zaproponował.
Ludvik
Możesz... umieszczając na samym początku wywoływanego skryptu (index.php) wywołanie funkcji ob_start" title="Zobacz w manualu php" target="_manual. Na końcu natomiast ob_flush" title="Zobacz w manualu php" target="_manual albo ob_end_flush" title="Zobacz w manualu php" target="_manual. Chociaż ten nagłówek wysyła się bez jakiejkolwiek treści w odpowiedzi... To też było wałkowane wielokrotnie i opisane w artykule o najczęściej popełnianych błędach... Wystarczy poszukać tylko...
archie85
Czytałem to co strife mi podał i szukałem na na forum. Po prostu wpisywałem to w złe miejsce, dlatego nie działało. Teraz już jest ok. Dzięki.
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.