Istnieje pewna funkcja PHP do przekierowania po pewnym czasie. Widziałem to gdzieś, ale nie pamiętam. To jak przekierowanie do Gmaila po zalogowaniu. Czy ktoś mógłby mi o tym przypomnieć?
jest to sposób php do zestawu header, który przekieruje Cię do wherever.phpw 5 sekund
Pamiętaj, że nagłówek () musi zostać wywołany przed wysłaniem jakichkolwiek danych wyjściowych, albo przez normalne znaczniki HTML, puste wiersze w pliku, albo przez PHP. Bardzo częstym błędem jest odczytywanie kodu z włączaniem lub wymaganiem funkcji lub inną funkcją dostępu do pliku, a spacje lub puste wiersze są wyświetlane przed wywołaniem funkcji header (). Ten sam problem występuje w przypadku korzystania z pojedynczego pliku PHP / HTML. (źródło php.net )
ciekawe, nigdy wcześniej nie widziałem tej metody ... ale czy to nie spowoduje wyświetlenia pustej strony lub po prostu bezczynności bez żadnej wiadomości, aż skończy się czas?
Ibu
wyświetli stronę ... wszystko, co robi, to ustawienie nagłówka, który powie przeglądarce, aby odświeżyła stronę w ciągu 5 sekund, jeśli naprawdę chcesz wyświetlić pustą stronę, po prostu użyjdie();
Teneff
2
Złe jest to, że ten nagłówek nie jest w standardzie HTTP, klienci mogą go zignorować.
Sven
:) Dobry pomysł! A jeśli chcesz wysłać (zachować) niektóre zmienne i użyć na odświeżonej stronie?
Mugur Ungureanu
od tego posta minęło może miliard lat, ale jak zamieścić wiadomość z przekierowaniem, na przykład „Przekierowywanie strony, proszę czekać”
CAO
25
Możesz użyć javascript do przekierowania po pewnym czasie
setTimeout(function(){
window.location.href='http://www.google.com';// the redirect goes here},5000);// 5 seconds
@Jami to prawda, dlatego powiedziałem, że OP może zamiast tego używać javascript.
Ibu
@BenjaminIntal Działa to również jako świetna opcja zastępcza, jeśli przeglądarka ignoruje przekierowanie w nagłówku. Musiałbyś użyć przeglądarki, która nie akceptuje nagłówka ORAZ ma wyłączoną obsługę JavaScript, aby nie otrzymywać przekierowań.
w istocie możesz użyć tego kodu, jak powiedział teneff, ale nie musisz koniecznie umieszczać nagłówka przed jakimkolwiek wysłanym wyjściem (spowodowałoby to komunikat „nie można przenieść nagłówka ....: 3 błąd”).
Aby rozwiązać ten problem, użyj funkcji php ob_start();przed wyprowadzeniem jakiegokolwiek kodu HTML.
Aby zakończyć ob, po prostu umieść go ob_end_flush();, gdy nie masz żadnych danych wyjściowych HTML.
Korzystanie ze snu nie jest konwencjonalnym podejściem, jak powiedziano powyżej, należy użyć funkcji nagłówka.
Maksim
Czy sen nie opóźnia tylko połączenia?
FluorescentGreen5
2
Odświeżanie PHP po 5 sekundach nie działało podczas otwierania okna dialogowego Zapisz jako w celu zapisania pliku: (nagłówek ('Content-type: text / plain'); header ("Content-Disposition: załącznik; filename = $ filename > ");)
Po kliknięciu łącza Zapisz jako i zapisaniu pliku odświeżanie czasowe zatrzymało się na stronie wywołującej.
Jednak bardzo dziękuję, rozwiązanie javascript ibu po prostu ciągle odkazywało i odświeżało moją stronę internetową, czego potrzebowałem w mojej konkretnej aplikacji. Więc dziękuję ibu za zamieszczenie tutaj rozwiązania javascript dotyczącego problemu z php.
Możesz użyć javascript do przekierowania po pewnym czasie
Refresh
nagłówek nie jest standardowy. Nigdy nieOdpowiedzi:
jest to sposób php do zestawu
header
, który przekieruje Cię dowherever.php
w 5 sekundźródło
die();
Możesz użyć javascript do przekierowania po pewnym czasie
źródło
Możesz spróbować tego:
Gdzie 10 to sekundy.
źródło
chciałbyś użyć php do wypisania metatagu.
Nie jest to zalecane, ale jest to możliwe. 5 w tym przykładzie to liczba sekund, po których następuje odświeżenie.
źródło
w istocie możesz użyć tego kodu, jak powiedział teneff, ale nie musisz koniecznie umieszczać nagłówka przed jakimkolwiek wysłanym wyjściem (spowodowałoby to komunikat „nie można przenieść nagłówka ....: 3 błąd”).
Aby rozwiązać ten problem, użyj funkcji php
ob_start();
przed wyprowadzeniem jakiegokolwiek kodu HTML.Aby zakończyć ob, po prostu umieść go
ob_end_flush();
, gdy nie masz żadnych danych wyjściowych HTML.Twoje zdrowie!
źródło
Jeśli przekierowujesz za pomocą PHP, możesz po prostu użyć polecenia sleep () do uśpienia na dowolną liczbę sekund przed przekierowaniem.
Ale myślę, że masz na myśli metatag odświeżania:
http://webdesign.about.com/od/metataglibraries/a/aa080300a.htm
źródło
Odświeżanie PHP po 5 sekundach nie działało podczas otwierania okna dialogowego Zapisz jako w celu zapisania pliku: (nagłówek ('Content-type: text / plain'); header ("Content-Disposition: załącznik; filename = $ filename > ");)
Po kliknięciu łącza Zapisz jako i zapisaniu pliku odświeżanie czasowe zatrzymało się na stronie wywołującej.
Jednak bardzo dziękuję, rozwiązanie javascript ibu po prostu ciągle odkazywało i odświeżało moją stronę internetową, czego potrzebowałem w mojej konkretnej aplikacji. Więc dziękuję ibu za zamieszczenie tutaj rozwiązania javascript dotyczącego problemu z php.
Możesz użyć javascript do przekierowania po pewnym czasie
źródło
Możesz użyć tego kodu javascript do przekierowania po określonym czasie. Mam nadzieję, że to zadziała.
źródło
Programowanie czasu przekierowania w PHP:
źródło