ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

По PHP + JavaScript вопросец
  #1  
Старый 12.07.2009, 13:58
Аватар для NC22
NC22
Новичок
Регистрация: 12.07.2008
Сообщений: 14
Провел на форуме:
16285

Репутация: 0
По умолчанию По PHP + JavaScript вопросец

Есть такой код:
PHP код:
var id = <? echo $User->ShowID(); ?>;
 function update()
 {
 img = new Image();
 img.src= 'session.php?id='+id;
 setTimeout("update()",10000);
 }
<body onLoad="update()">
Он служит проверкой присутствия юзера OnLine. Т.е. по логике каждые 10 секунд отправляет свои данные на указанный скрипт.
Но почему-то срабатывает всего 1 раз - при обновлении, либо при переходе на страничку с этой функцией.
Что не верно / может есть альтернативы не замудренные что бы вызвать PHP скрипт без обновления самой страницы ?
 
Ответить с цитированием

  #2  
Старый 12.07.2009, 14:07
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Ну а чего ты хотел? У тебя при загрузке страницы стоит ф-ция update(), которая отправляет данные на скрипт, после чего устанавливается таймаут . У тебя нету цикла, который бы повторно отправлял через 10 сек.
 
Ответить с цитированием

  #3  
Старый 12.07.2009, 15:20
Аватар для FireFenix
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

Репутация: 389
По умолчанию

Цитата:
Сообщение от NC22  
Есть такой код:
PHP код:
var id = <? echo $User->ShowID(); ?>;
 function update()
 {
 img = new Image();
 img.src= 'session.php?id='+id;
 setTimeout("update()",10000);
 }
<body onLoad="update()">
Он служит проверкой присутствия юзера OnLine. Т.е. по логике каждые 10 секунд отправляет свои данные на указанный скрипт.
Но почему-то срабатывает всего 1 раз - при обновлении, либо при переходе на страничку с этой функцией.
Что не верно / может есть альтернативы не замудренные что бы вызвать PHP скрипт без обновления самой страницы ?
юзай setInterval вместо setTimeout

setTimeout - выполнит 1 раз по истечению времени
setInterval - выполняет многократно по истечению времени, пока не будет остановлено
 
Ответить с цитированием

  #4  
Старый 12.07.2009, 15:58
Аватар для NC22
NC22
Новичок
Регистрация: 12.07.2008
Сообщений: 14
Провел на форуме:
16285

Репутация: 0
По умолчанию

Цитата:
setTimeout("update()",10000);
код повнимательней посмотри =/ там идет повторение за счет обращения опять же к этой функции.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ