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,585

http://phpfaq.ru/newbie/na_tanke
__________________
29375, 35
Ответить с цитированием
  #3 (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 секунду после открытия страницы.
Ответить с цитированием
  #4 (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.
Ответить с цитированием
  #5 (permalink)  
Старый 08.01.2020, 01:06
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

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

заменил на innerHTML теперь все как хотел заработало! Спасибо большое!
Ответить с цитированием
  #7 (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
Ответить с цитированием
  #8 (permalink)  
Старый 08.01.2020, 21:48
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от DenisUfa
и вижу счетчики свихнулись
В чём это выражается, как вы это поняли?

Сообщение от DenisUfa
Не подскажите что это?
Это — последствия реализации вашей идеи: «подскажите как подключить вывод PHP скрипта средствами JS с интервалом выполнения каждые 2 секунды (счетчик посетителей)». А вы что ожидали?

Сообщение от Rise
А как надо чтобы существовало [AJAX]?
Никак. AJAX, означает «асинхронный JavaScript и XML» — используется не по назначению, ведь ни о каком «асинхронный JavaScript и XML» нет и речи. Когда используется XMLHttpRequest, fetch, WebSocket и пр., то это называется «общение клиент-сервер». Раз вам так нужно выражение по-английский, которое вы хотите штамповать при любом упоминании клиент-сервер, то это будет — Client-Server Communication.

Всего-то 4 слова — «клиент», «запрос», «сервер» и «ответ». Не нужно усложнять!

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

Сообщение от Malleys Посмотреть сообщение
В чём это выражается, как вы это поняли?
Число то 50, то 0 показывало резко менялось. Снес на всех страницах, а сервер продолжает выполнять дальше и строчит логи.

[Wed Jan 08 23:58:04.672876 2020] error [pid 29442] [client 91.214.196.209:15552] script '/var/www/user101771/data/www/.ru/save2log.php' not found or unable to stat, referer: http://.ru/voice
[Wed Jan 08 23:58:10.936889 2020] error [pid 29507] [client 212.58.114.253:15686] script '/var/www/user101771/data/www/.ru/save2log.php' not found or unable to stat, referer: http://.ru/voice
[Wed Jan 08 23:58:21.714776 2020] error [pid 29617] [client 31.173.166.26:15850] script '/var/www/user101771/data/www/.ru/save2log.php' not found or unable to stat, referer: http://.ru/voice
Ответить с цитированием
  #10 (permalink)  
Старый 09.01.2020, 00:18
Интересующийся
Отправить личное сообщение для DenisUfa Посмотреть профиль Найти все сообщения от DenisUfa
 
Регистрация: 07.01.2020
Сообщений: 20

У меня работают вот такие скрипты и никаких проблем. В режиме реального времени. Мне нужно было что-то такое только с посетителями и без использования БД.
function getRate(){
$.getJSON( "https://www.cbr-xml-daily.ru/daily_json.js", function( data ) {
document.getElementById("usdrub").innerHTML = ( (data.Valute.USD.Value).toFixed(2) ) ;
document.getElementById("eurrub").innerHTML = ( (data.Valute.EUR.Value).toFixed(2) ) ;
});
}
setInterval(getRate,1000);
getRate();
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проще всего передать переменную из 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