ďťż

header("Location: url.pl"); problem z headerem

       

Podstrony


telcocafe

Witam mam taki problemik. Robie sobie kodzik który ma wyświetlic tekst i po 5 sekundach za pomocą header przejść do innej strony:
<?php echo "siema siema"; sleep(5); header('Location: http://onet.pl'); ?>

I po raz któryś mam ten sam problem:

Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\emia\a\test.php:2) in c:\usr\krasnal\www\emia\a\test.php on line 4
Problem znika gdy usune -> echo "siema siema";
jak temu zaradzić żeby mozna było zostawić echo i header wykonał się po 5 sekundach?

ps. próbowałem dać na początku ob_clean() ale to nic nie daje



Użyj HTML-a<meta http-equiv="refresh" content="5; url=page.php" />Poczytaj sobie o nagłówkach
http://pl2.php.net/m...tion.header.php
//edit
@down:
@DJ_ProG:
Jeżeli ktoś nie wie do czego służy znacznik meta może np. sprawdzić to w sieci . . . Właśnie dlatego nie uwzględniałem tej myśli. Twój przykład ma też wady - był niedawno o tym temat. Można wyłączyć JS na stronie (oczywiście przekierowania też, ale nie o to chodzi) oraz Twój przykład nie zawiera oczekiwanego efektu - strona ma się odświeżyć po X sekundach.
Użytkownik andrzej_aa edytował ten post 26 październik 2007, 20:08
Header działa tylko, jeśli wcześniej do przeglądarki nic nie wyślesz, żadnego tekstu. W PHP nie da się zrobić przekierowania po wyświetleniu jakiegoś tekstu. W tym wypadku tylko META przekierowanie w HTML, albo przekierowanie w Javascript.

@EDIT:
andrzej_aa szybszy...
Użytkownik kutar edytował ten post 26 październik 2007, 11:01

Użyj HTML-a<meta http-equiv="refresh" content="5; url=page.php" />Poczytaj sobie o nagłówkach
http://pl2.php.net/m...tion.header.php
Wstawianie znaczników META w środku dokumentu IMO nie jest prawidłowym rozwiązaniem.
Czy nie lepiej dać<script type="text/javascript">location.href='http://strona.pl/';</script> :)

@down: nie zawsze struktura dokumentu na to zezwala ;)
Użytkownik DJ_ProG edytował ten post 26 październik 2007, 19:23



Wstawianie znaczników META w środku dokumentu IMO nie jest prawidłowym rozwiązaniem.
A kto każe w środku dokumentu? Najpierw dajemy "normalny" HTML-owski początek z <html> <head> itd. (w tym META) i dopiero informacje wyświetlane na stronie.

Jeśli już chcesz użyć JS, i żeby przekierowanie nie nastąpiło od razu użyj:
<script type="text/javascript"> function przekieruj(){ document.location='http://strona.pl/'; } setTimeout('przekieruj()', 5000); </script>
Gdzie 5000 to liczba milisekund do przekierowania.
Użytkownik kokoss15 edytował ten post 27 październik 2007, 09:41
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.