ďťż

[PHP] funkcja sleep

       

Podstrony


telcocafe

W moim skrypcie robię przekierowanie na inną stronę po poprawnym zalogowaniu, tylko zanim nastąpi przekierowanie chciałbym aby na ekranie został wyświetlony odpowiedni komuniakt, robię to tak:
echo 'Hasło i login poprawne, za chwilę nastąpi przekierowanie do panelu administratora...'; sleep(3); header("Location: hh.php"); exit;
Zamiast oczekiwanego efektu, czyli wyświetlenia tekstu i odczekania 3 sekund skrypt po prostu wykonuje się 3 sekundy dłużej (bez wyświetlania teksu) po czym następuje przekierowanie. Co zrobiłem nie tak?
P.S
Kiedy usunę te trzy instrukcje (sleep, header i exit) tekst się normalnie wyświetla.



Pewnie przez jakieś buforowanie tak masz. IMHO - użyj HTML-a, a nie PHP do tego :P

@pbnan
Jak ty to chcesz w HTML'u zrobić :D
Co najwyżej JS

Normalnie, master :P W jakimś meta-tagu jest to ustalane :P Tam, gdzie się w HTML ustala przekierowanie, można także i czas ustalić :P Kodu naprawdę nie pamiętam, a szukać mi się nie chce. :)



A no tak, zapomniałem o tym, że można to meta zrobić :ups:
Sory, ale jakoś mój mózg nie pracuje za dobrze (dzisiaj) :P
Użytkownik master_dos edytował ten post 01 marzec 2007, 18:36
<meta http-equiv="Refresh" content="8;URL=http://forum.ks-ekspert.pl" />
O to się rozchodzi?

pbnan ma racje, to powinno wyglądać tak:
Hasło i login poprawne, za chwilę nastąpi przekierowanie do panelu administratora... <? sleep(3); header("Location: hh.php"); ?>
i nie wiem po co ci tam był ten exit

IMO najlepiej zrobić, jak pokazał m_uli (zresztą o to mi chodziło :)). Zawsze mogą być jakieś problemy z nagłówkami /przy PHP/... :)
Użytkownik pbnan edytował ten post 01 marzec 2007, 19:01
Interesujące, loguś, jak zamierzasz wysłać nagłowek Location:, skoro zawartość strony jest już wysłana? Pfff... Za mało doświadczenia masz.

a, no tak, zapomniałem. Zdarza się. Sorki


Interesujące, loguś, jak zamierzasz wysłać nagłowek Location:, skoro zawartość strony jest już wysłana? Pfff... Za mało doświadczenia masz.
A ob_start() i ob_end_flush() do czego jest? ;-)

oszaleliście ?? PHP generuje statyczne strony HTML, nie możesz wyświetlić strony w na 3 sekundy a potem wykonać dalej skryptu PHP. Zrób to w Java script albo w HTML, żedne ob_start() i ob_end_flush() nie pomoże ;)

ustaw w ten sposób:
echo '<meta http-equiv="Refresh" content="3;URL=hh.php" />Hasło i login poprawne, za chwilę nastąpi przekierowanie do panelu administratora... '

@Petermechanic
Twój sposób działa ;)
Dzięki.
Użytkownik p_p_c++ edytował ten post 02 marzec 2007, 14:50
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.