podpolschik 0 Опубликовано: 8 апреля 2018 Рассказать Опубликовано: 8 апреля 2018 Добрый день. Я не программист, мучаюсь с простой задачей вставки в шаблон тестового сайта вывода фейк-счётчика, реализованного в виде 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> чел. <br> Качают: <b><span id='active'></span></b> чел.<br> Скорость: <b><span id='upstream'></span></b> kb/s <script language="javascript" src="/js/avg.js.php"></script> </body> Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 623 Опубликовано: 8 апреля 2018 Рассказать Опубликовано: 8 апреля 2018 Как-то так: https://dle-news.ru/tips/33-ispolzovanie_ljubykh_php_vstavok_v_shablonakh.html в актуальных версиях /engine/modules/main.php Цитата Ссылка на сообщение Поделиться на других сайтах
podpolschik 0 Опубликовано: 9 апреля 2018 Рассказать Опубликовано: 9 апреля 2018 Автор 23 часа назад, Captain сказал: Как-то так: https://dle-news.ru/tips/33-ispolzovanie_ljubykh_php_vstavok_v_shablonakh.html в актуальных версиях /engine/modules/main.php Попробовал...Отображается на сайте та часть, после ?>. Я так понимаю, её надо отдельно выделить в файл, и тоже каким-то образом подключить или вставить в шаблон , как яваскрипт? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.