Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z działaniem sleep()
Forum PHP.pl > Forum > Przedszkole
Guest
Chciałem zrobić coś takiego że po dodaniu wpisu do tabeli wyświetlam komunikat, że wpis został dodany, skrypt zatrzumuje się na 3 sekundy i przenosi mnie na inną stronę. napisałem tak:
  1. <?php
  2. if (mysql_affected_rows() !=-1)
  3. {
  4. komunikat('Zadanie zostało wykonane pomyślnie!!!'); 
  5. sleep (3);
  6. header ("Location: http://localhost/komputery/zestaw_wyswietl.php?sort=asc&&co=id_dostawcy");
  7. }
  8. else 
  9. { 
  10. ......
  11. }
  12. ?>

Jednak nie działa to tak jak wg mnie powinno, mianowicie skrypt nie wyświetla komunikatu, jedynie czeka owe 3s i przenosi na wskazaną stronę. Jak można osiągnąć efekt którego oczekuję?
maverickkk
Z tego co się oriętuje ten sleep zatrzymuje wykonanie skryptu na 3 sekundy ale na serverze.

Do przeniesienia na 2 strone użyj znacznika HTML...

<HEAD>
<META HTTP-EQUIV="Refresh" CONTENT="s; URL=Tu podaj adres strony lub ścieżkę dostępu">
</HEAD>
Guest
nie o to mi chodzi, chcę uzyskać coś takiego:
skrypt się wykonuje,
dodaję wpis do bazy,
wyświetlam komunikat że wpis został dodany
wstrzymuję wykonywanie skryptu na 3 sekundy(zby uzytkownik zdążył go sobie przeczytać,)
następnie poprzez header przenosze na inną stronę
nie chodzi mi tutaj o znacznik meta bo jego przeciez nie wstawię w środek kodu
maverickkk
"nie chodzi mi tutaj o znacznik meta bo jego przeciez nie wstawię w środek kodu"

No przecież jak nie wstawisz. Co się stanie, płyta spłonie.

Dalem ci rozwiązanie twojego problemu.

Zresztą sprawdz najpier smile.gif
Guest
oj nie chodzi mi o to ze wogole nie da rady wstawic bo wiem ze da tylko o to ze jak sobie wyobrazasz walidacje takiej strony ktora ma pomiędzy innymi znacznikami <p> czy <div> jakieś znaczniki <meta>. Z całym szacunkiem ale Twój sposób będzie działał, ale nie w moim przypadku; poza tym w pytaniu które zadałem chodziło mi raczej o osiągnięcie tego za pomocą sleep(), ewentualnie wskazanie powodu dla którego to co napisałem nie działa.
<meta> w tym konkretnym przypadku nie rozwiązuje mojego problemu
scanner
Bredzisz, i to strasznie.
Skoro wysyłasz zapytanie do bazy, to wynik (komunikat) wyświetlasz po przeładowaniu strony.
A skoro po przeładowaniu, to w szablon wstawiasz odpowiedni meta i po sprawie.

Ogólnie, to zastanów sie "o co chodzi", bo chyba do końca nie rozumiesz odpowiedzi, których Ci sie udziela.
maverickkk
Guest no pisze żę
"Z tego co się oriętuje ten sleep zatrzymuje wykonanie skryptu na 3 sekundy ale na serverze."

A jeśli chodzi o walidacje to mógbyś pookombinować tak żeby dać ten warunek if (mysql_affected_rows() !=-1) umieścić w seksji <HEAD></HEAD> przez co validator html ci sie nie wysypie.

cio nie ? guitar.gif
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.