Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.01.2020, 23:13
Интересующийся
Отправить личное сообщение для DenisUfa Посмотреть профиль Найти все сообщения от DenisUfa
 
Регистрация: 07.01.2020
Сообщений: 20

Как подключить PHP по средствам JS с интервалом
Ребят я только всему учусь поэтому не смейтесь) подскажите как подключить PHP по средствам JS с интервалом выполнения каждые 2 сек(счетчик посетителей).
Сейчас подключено к странице так:
<?php
include ('counter.php');
?>

А надо типа того:
<script>
function online() {
<--тут как правильно подключить php-->
}
setInterval(online,2000);
online();
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 07.01.2020, 23:36
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

http://phpfaq.ru/newbie/na_tanke
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 07.01.2020, 23:46
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

DenisUfa,
Каждые 2 сек слишком часто, хотя бы раз в минуту. Это делается через AJAX.
setInterval(function (el) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', '/counter.php');
    xhr.timeout = 60000;
    xhr.onload = function () { el.textContent = this.responseText };
    xhr.send();
}, 61000, document.querySelector('#counter'));

Последний раз редактировалось Rise, 07.01.2020 в 23:52.
Ответить с цитированием
  #4 (permalink)  
Старый 08.01.2020, 00:48
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

DenisUfa, например так...
(function online() {
    fetch("/counter.php").then(async response => {
        document.querySelector("#counter").textContent = await response.text();
    }).finally(() => {
        setTimeout(online, 2000);
    });
})();


Но лучше всего, чтобы данные обновлялись тогда, когда они реально поменяются. Это можно сделать при помощи EventSource (сервер присылает новое число пользователей) Ещё, конечно, можно при помощи WebSocket.

Сообщение от Rise
Это делается через AJAX.
Ну почему вы не сделали через него? Вы использовали XMLHttpRequest, что в принципе тоже имеет место быть и работает даже в самых старинных браузерах, но никакого AJAX в данном примере не существует, и в данной теме не нужен! Кстати твой пример покажет кол-во пользователей через 61 секунду после открытия страницы.
Ответить с цитированием
  #5 (permalink)  
Старый 08.01.2020, 01:04
Интересующийся
Отправить личное сообщение для DenisUfa Посмотреть профиль Найти все сообщения от DenisUfa
 
Регистрация: 07.01.2020
Сообщений: 20

Если через JS то у меня выводит на странице строчку целиком вот так:
echo "<span style=font-size:18px;color:#A9A9A9;padding-left:15px;>сейчас на сайте: $online</span>";
Но если подключить просто то все нормально стили выполняются.
<?php
include ('counter.php');
?>

Последний раз редактировалось DenisUfa, 08.01.2020 в 01:07.
Ответить с цитированием
  #6 (permalink)  
Старый 08.01.2020, 01:06
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

DenisUfa, я думал у вас только число присылается... (Что было бы лучше, с чистыми данными легко работать) Ну тогда вместо textContent тогда используйте innerHTML, или исправьте серверный скрипт!
Ответить с цитированием
  #7 (permalink)  
Старый 08.01.2020, 01:09
Интересующийся
Отправить личное сообщение для DenisUfa Посмотреть профиль Найти все сообщения от DenisUfa
 
Регистрация: 07.01.2020
Сообщений: 20

заменил на innerHTML теперь все как хотел заработало! Спасибо большое!
Ответить с цитированием
  #8 (permalink)  
Старый 08.01.2020, 11:12
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от Malleys
но никакого AJAX в данном примере не существует
А как надо чтобы существовало?
Сообщение от Malleys
через 61 секунду после открытия страницы.
Это так, но представим, что там остался include.
Ответить с цитированием
  #9 (permalink)  
Старый 08.01.2020, 20:19
Интересующийся
Отправить личное сообщение для DenisUfa Посмотреть профиль Найти все сообщения от DenisUfa
 
Регистрация: 07.01.2020
Сообщений: 20

Сегодня захожу на сайт и вижу счетчики свихнулись. Решил посмотреть в чем дело и увидел что дисковое пространство переполнено логами))). Этого файла у меня не существует: save2log.php Но вроде был в одном счетчике который я пробовал, но я его удалил. Не подскажите что это?

.access.log

31.41.41.1 - - [08/Jan/2020:20:03:02 +0300] "GET /php/online.php HTTP/1.0" 200 363 "http://домен" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.2.252 Yowser/2.5 Safari/537.36"
31.41.41.1 - - [08/Jan/2020:20:03:02 +0300] "GET /php/online.php HTTP/1.0" 200 363 "http://домен" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
31.41.41.1 - - [08/Jan/2020:20:03:02 +0300] "GET /php/online.php HTTP/1.0" 200 363 "http://домен" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.320 Yowser/2.5 Safari/537.36"
31.41.41.1 - - [08/Jan/2020:20:03:02 +0300] "GET /php/online.php HTTP/1.0" 200 363 "http://домен" "Mozilla/5.0 (Linux; Android 9; SM-G965F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36"
31.41.41.1 - - [08/Jan/2020:20:03:02 +0300] "GET /php/online.php HTTP/1.0" 200 363 "http://домен" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.2.252 Yowser/2.5 Safari/537.36"
31.41.41.1 - - [08/Jan/2020:20:03:02 +0300] "GET /php/online.php HTTP/1.0" 200 363 "http://домен" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.2.252 Yowser/2.5 Safari/537.36"
31.41.41.1 - - [08/Jan/2020:20:03:02 +0300] "GET /php/online.php HTTP/1.0" 200 363 "http://домен" "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.320 Yowser/2.5 Safari/537.36"
31.41.41.1 - - [08/Jan/2020:20:03:02 +0300] "GET /php/online.php HTTP/1.0" 200 363 "http://домен" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 OPR/65.0.3467.72 (Edition Campaign 34)"
31.41.41.1 - - [08/Jan/2020:20:03:02 +0300] "GET /php/online.php HTTP/1.0" 200 363 "http://домен" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.2.252 Yowser/2.5 Safari/537.36"

.error.log

[Wed Jan 08 20:14:56.062731 2020] error [pid 26756] [client 95.30.61.216:54548] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:14:57.315884 2020] error [pid 26791] [client 95.30.61.216:54626] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:00.576285 2020] error [pid 26878] [client 95.179.127.56:54806] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:00.766036 2020] error [pid 26893] [client 95.30.61.216:54812] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:02.459028 2020] error [pid 27082] [client 95.30.61.216:54928] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:03.289195 2020] error [pid 27116] [client 95.30.61.216:54998] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:07.209424 2020] error [pid 27287] [client 178.216.38.255:55286] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:07.723609 2020] error [pid 27300] [client 95.30.61.216:55304] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:10.881870 2020] error [pid 27443] [client 178.163.92.192:55472] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:19.695092 2020] error [pid 27713] [client 95.30.61.216:55916] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:20.993406 2020] error [pid 27750] [client 93.124.57.160:55992] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:24.050131 2020] error [pid 27863] [client 82.193.155.253:56168] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:25.746035 2020] error [pid 27902] [client 95.79.7.134:56282] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:29.337384 2020] error [pid 28119] [client 95.30.61.216:56488] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:34.853143 2020] error [pid 28402] [client 178.163.92.192:56822] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:35.921333 2020] error [pid 28437] [client 95.79.7.134:56896] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:39.155199 2020] error [pid 28560] [client 95.30.61.216:57080] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
[Wed Jan 08 20:15:48.177265 2020] error [pid 28845] [client 95.79.7.134:57550] script '/var/www/user101771/data/www/домен/save2log.php' not found or unable to stat, referer: http://домен/voice
Ответить с цитированием
  #10 (permalink)  
Старый 08.01.2020, 20:53
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

DenisUfa,
Забань по айпи досера. (шутка)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проще всего передать переменную из JS в PHP? Zuko AJAX и COMET 13 10.04.2015 18:38
БД, JS и PHP или как всё это сложить lazerru Общие вопросы Javascript 2 15.04.2013 17:20
Как передавать параметры из php скрипта в js imissyouso Общие вопросы Javascript 3 01.08.2012 18:24
есть ли в js понятие частоты кадров, наподобие как во флэше? andrew_F Общие вопросы Javascript 8 01.05.2012 20:25
PHP и JS жонглирование данными McLotos Общие вопросы Javascript 5 14.04.2011 16:16