Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: задержка sleep
 
 автор: axxil   (08.03.2005 в 14:28)   письмо автору
 
 

Чего-то я не понимаю как работает sleep.
Я отсылаю формой данные скрипту.
Этот скрипт выполняет кое-какие действия а потом выводит надпись типа "через 10 сек вы будете перенаправлены на страницу оплаты. Если этого не произошло нажмите здесь." Ну то есть для людей у которых javascript отключен.
Вот.

<table>
<tr>
<td><p>Now you will be redirected to the payment page. If it hasn't happened, click this button.</p></td>
</tr>
<tr>
<td align=center>
<form method="POST" action="http://www.site.com/pay" name="prepay">
<input type="hidden" name="p" value="page/pay"/>
<input type="hidden" name="d[oid]" value="1"/>
<input type="hidden" name="e[prePay]" value="1"/>
  <input type="hidden" name="d[price]" value="<?=$good_cost;?>"/>
  <input type="hidden" name="d[descr]" value="<?=$descr;?>"/>
  <input type="hidden" name="d[id]" value="<?=$good_list_id;?>"/>
  <input type=submit name=sub value='Go to the payment page'>
</form>
</td>
</tr>
</table>
// Здесь по идее скрипт должен заснуть и 10 сек показывать надпись и кнопку...
sleep(10);
// А потом перейти на страницу оплаты.
<script language="JavaScript">
 obj = document.getElementById("prepay");
 obj.submit();
</script>

Но в реале скрипт засыпает уже тогда когда начинается грузится страница.
То есть в строке броузера уже адресс поменялся а страница 10 сек не грузится.
Почему интересно?

   
 
 автор: cheops   (08.03.2005 в 19:50)   письмо автору
 
   для: axxil   (08.03.2005 в 14:28)
 

Дело в том, что функция sleep может задержать выполнение скрипта только на сервере, поэтому клиент не получит HTML страницу только после 10 секундной задержки на сервере, в окне браузера задержки уже не будет, так как PHP отработал на сервере и на клиенте его уже нет.

   
 
 автор: axxil   (09.03.2005 в 09:22)   письмо автору
 
   для: cheops   (08.03.2005 в 19:50)
 

Понятно. Тогда похоже задержку надо делать на javascript....
А как?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования