Используя JavaScript (или Ajax) я хочу соединиться со страницей (.php страница) каждые 10 секунд. Это будет сделано в стороне пользователя (браузер) в веб-странице. Просто, я пытаюсь видеть подключенных пользователей. Я ежедневно имею о посетителях 1-2 на моем персональном веб-сайте.
Используя jQuery $.post()
метод:
setInterval(function(){
$.post("getCount.php", function(result) {
// do something with result
}, "html");
}, 10000);
Я предполагаю, что у вас есть веская причина сделать запрос к вашему собственному локальному скрипту. Если вам нужна подробная информация о том, кто посещает ваш сайт, когда и из каких сред (машины, браузеры и т.д.), я бы посоветовал вам рассмотреть реализацию чего-то вроде Google Analytics.
Этот JavaScript будет прочитать страницу uselsonline.php каждые 10 секунд и поместить содержимое на текущую веб-страницу.
<html>
<head>
<script>
var xmlrequest;
function gotnewdata()
{
if(xmlrequest.readyState == 4)
{
document.getElementById("output").innerHTML = xmlrequest.responseText;
setTimeout("loadpage();", 10000);
}
}
function loadpage()
{
xmlrequest = new XMLHttpRequest();
xmlrequest.open("GET", "usersonline.php", true);
xmlrequest.onreadystatechange = gotnewdata;
xmlrequest.send(null);
}
</script>
</head>
<body onload="loadpage();">
<h1>My Page</h1>
<p>USERS ONLINE:</p><p id="output"></p>
</body></html>
Ваш код не переходит в бесконечный цикл в моей системе:
# gcc $CFLAGS -o test test.c
# ./test
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Однако результат неправильный. Я вижу 8 раз 1, но это должно быть 9 раз один.
Как отметили некоторые, суммирование - это гораздо более простой подход:
#include <stdio.h>
int main()
{
int i;
int count;
int N = 18;
int arr[] = {1,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1};
/* Sum up all elements */
i = 0;
count = 0;
while (i < N) count += arr[i++];
/* Overwrite the array */
i = 0;
count = N - count;
while (i < count) arr[i++] = 0;
while (i < N) arr[i++] = 1;
/* Print result */
for (i = 0; i < N; i++) printf("%d ",arr[i]);
}
-121--4533208- Установлено ли для Copy Local
значение true на ссылке? Щелкните правой кнопкой мыши по ссылке и выберите «Свойства».
<html>
<body>
<form target='userCountFrame' action='http://www.google.com'></form>
<iframe name='userCountFrame'></iframe>
<script>
setInterval(function(){
document.getElementsByTagName('form')[0].submit();
}, 10 * 60 * 1000);
</script>
</body>
</html>
соответствующим образом измените URL-адрес, сохраните указанный выше код как count.html на рабочем столе и откройте его с помощью Firefox