Pitter
24.09.2008, 17:57:38
Witam. Mam problem z przekierowanie header. Nie wiem dlaczego, ale po prostu mi nie działa. Wpisuje w odpowiednie miejsce w skrypcie :
Kod
header('Refresh: 5; url=index.php');
Czy zna ktoś przyczynę?
Lion_87
24.09.2008, 17:59:08
a tak nie mozesz?
<META HTTP-EQUIV=Refresh CONTENT=\"5; URL=index.htm\">
sowiq
24.09.2008, 18:02:28
Jakbyś wkleił kod błędu, albo chociaż napisał czemu nie działa, to może ktoś by znał przyczynę...
Domyślam się, że próbujesz wysłać header po wysłaniu jakiejś treści... Spróbuj
ob_start() na początku i
ob_end_flush() na samym końcu strony.
@Lion_87
wychodzi prawie na to samo
Lion_87
24.09.2008, 18:05:04
w sumie tak ale kto go tam wie o co mu chodziii

hmmm
[brak] - mozesz dac [HTML]
dr_bonzo
24.09.2008, 18:42:25
Pitter: header() w php uzywa sie inaczej
header( "Location: index.php" );
i przekieruje cie OD RAZU.
Inne rozwiazanie to w HTMLu - to co podal ci Lion_87 i przekieruje cie po N sekudach
sowiq
24.09.2008, 19:01:43
@dr_bonzo,
mylisz się. Za pomocą header() możesz wysłać prawie wszystko to, co jest w sekcji <head> strony.
http://forum.php.pl/index.php?showtopic=51423http://www.desilva.biz/php/phprefresh.htmlCytat
I found the following code to help me refresh a page or really redirecting to a page after a certain number of secionds. (I'm using php 5.x)
<?php
print(" <p align=\"center\"> User Not Found</p><br><br>"); // err msg
header('Refresh: 3; url=index.html'); // waits 3 seconds & sends to homepage
?>
na
http://pl2.php.net/headeritd
Pitter
24.09.2008, 19:47:51
Pisaliście abym napisał co się wyświetla. Oto chodzi że nic. Nic się nie wykonuje.Po prostu widnieje bieżąca strona.
Ktoś tam jeszcze że źle używam header bo prawidłowo powinno być tak: header('Location: index.php');
O to chodzi że ja nie chcę aby mnie przekierowało od razu, tylko po ustalonym czasie.
wrzasq
24.09.2008, 19:57:12
@Pitter:
1. sprawdz czy masz w PHP wlaczone raportowanie bledow (display_errors na On, ewentualnie logowanie do pliku, oraz error_reporting na odpowiednim poziomie).
2. sprobuj pobrac dokument na przyklad telnetem i zobacz, czy w naglowkach HTTP wystepuje ten wysylany przez ciebie.
@dr_bonzo: header() w PHP uzywa sie tak, zeby przeslac dowolny naglowek HTTP lacznie z kodem odpowiedzi. mozna nim przeslac dowolna wartosc, ktora w HTMLu w meta uzywa atrybutu http-equiv (jak sama nazwa mowi jest to ekwiwalent naglowka HTTP), a nawet powinno sie w ten sposob korzystac z header(), poniewaz naglowki HTTP po to zostaly wymyslone, zmniejszaja objetosc samego dokumentu (do cachu na przyklad), zmniejszaja zuzycie transferu (sam naglowek jest krotszy niz meta tag), a uzywanie ich w HTMLu wzielo sie z tad, ze nie wszyscy mogli kiedys korzystac z generowania stron po stronie servera i musieli zagniezdzac naglowki w HTMLu, ale nieraz jest to nielogiczne.
dr_bonzo
24.09.2008, 20:23:15
OT:
@sowik, @wrzasq: hmm, no zapomnialem, "http-equiw" i juz wiedzialem o co biega itd