Перейти к публикации

Добавление modul.php + javascript в main.tpl


Рекомендованные сообщения

Добрый день.

Я не программист, мучаюсь с простой задачей вставки в шаблон тестового сайта вывода фейк-счётчика, реализованного в виде php и javascript-a. Описание внедрения php прочел, там всё понятно, а вот почему javascript не работает, и показывает вместо чисел пустые значения из результатa php. В чём моя ошибка, подскажите, пожалуйста.

Ниже код счётчика (может, кому-то станет интересно).  Заранее благодарю за советы!

<?php

define('USERS_PER_DAY', 50*24); // 
define('ACTIVE_RATIO', 0.75); //
define('TICK_INTERVAL', 3*1000); // милисекунды
define('DISP_UPLOAD', 30); 
define('DISP_TOTAL', 30); 
define('DISP_ACTIVE', 30); 
define('RAND_TOTAL', 0.10); 
define('RAND_PLAYING', 0.10);

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

$time_balance = array(
	0 => 5.65,
	1 => 4.77,
	2 => 3.59,
	3 => 2.53,
);
	
$hour = ltrim(strftime('%H', time()),'0');
$upstream = 480*(100-$time_balance[$hour]*10)/50 + rand(1,27);

$user_total = intval($time_balance[$hour]*USERS_PER_DAY/100);
$user_total += rand(1,$user_total*RAND_TOTAL);

$active_num = $user_total * ACTIVE_RATIO + rand(1,17);
$active_num += rand(1,$active_num*RAND_PLAYING);
$active_num = min($active_num,$user_total);

?>

function tick(){
    var var_upstream,a_upload,a_upload_disp;
    var var_active,a_download,a_download_disp;
    var var_users,a_users,a_users_disp;
    var idt;
    a_upload        = <?=intval($upstream)?>;
    a_upload_disp   = <?=DISP_UPLOAD?>;
    a_users         = <?=intval($user_total)?>;
    a_users_disp    = <?=DISP_TOTAL?>;
    a_active      = <?=intval($active_num)?>;
    a_active_disp = <?=DISP_ACTIVE?>;

    var_upstream = a_upload + Math.floor(a_upload_disp * Math.random());
    var_users  = a_users + Math.floor(a_users_disp * Math.random());
    var_active = a_active + Math.floor(a_active_disp * Math.random());
    document.getElementById('upstream').innerHTML   = var_upstream;
    document.getElementById('users').innerHTML    = var_users;
    document.getElementById('active').innerHTML = var_active;

    window.setTimeout('tick()',<?=TICK_INTERVAL?>);
}
tick();

 

 

Код для html:

<body>
				Сейчас на сайте: <b><span id='users'></span></b>&nbsp;чел. <br>
				Качают: <b><span id='active'></span></b> &nbsp;чел.<br>
				Скорость: <b><span id='upstream'></span></b>&nbsp;kb/s
				<script language="javascript" src="/js/avg.js.php"></script>
</body>

 

Ссылка на сообщение
Поделиться на других сайтах
23 часа назад, Captain сказал:

Как-то так:

https://dle-news.ru/tips/33-ispolzovanie_ljubykh_php_vstavok_v_shablonakh.html

в актуальных версиях /engine/modules/main.php

Попробовал...Отображается на сайте та часть, после ?>.  Я так понимаю, её надо отдельно выделить в файл, и тоже каким-то образом подключить или вставить в шаблон , как яваскрипт?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...