Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Какая ошибка вывода в Json? (https://javascript.ru/forum/misc/72931-kakaya-oshibka-vyvoda-v-json.html)

spinastr 07.03.2018 15:16

<?php
header('Content-type: application/json; charset=utf-8');
exit(file_get_contents('current/current.json'));
?>


Программист из темы курса не велел там ничего удалять.

В файл .htaccess лежит в каталоге отдельном, содержит (Deny from all)
в корне хоста создал два файла st.php и st.json

В корне есть и файл index.php - я так понял он не разрешает вывести данные? Там нужно стереть запрет?

А можно в него что то дописать что бы он разрешал вывод статистики?

И уменя нету php нужно через json

spinastr 07.03.2018 15:22

Мне нужно вывести хиты на сайт, вот тут статья

это пример

вот оттуда нужно вывести число может есть более простые способы?
LI_site = 'mexboy.ru';
LI_month_hit = 5313;
LI_month_vis = 3886;
LI_week_hit = 1096;
LI_week_vis = 885;
LI_day_hit = 172;
LI_day_vis = 144;
LI_today_hit = 89;
LI_today_vis = 74;
LI_online_hit = 4;
LI_online_vis = 4;

laimas 07.03.2018 15:23

Цитата:

Сообщение от spinastr
Программист из темы курса не велел там ничего удалять.

Передайте привет этому программисту и пусть он сам изучит матчасть, прежде чем учить других.

Цитата:

Сообщение от spinastr
В файл .htaccess лежит в каталоге отдельном, содержит (Deny from all)

Я вам разве об этом файле говорю? Положите в корень документов (туда же, где и Index.php) файл .htaccess и поместите в него строки указанные.

Цитата:

Сообщение от spinastr
И уменя нету php нужно через json

Не мутите воду, чтобы не плодить еще темы длины невероятной - у вас все РНР сервисные запросы выполняет домен h116641.s08.test-hf.su и отдает в требуемом формате для вашего сайта. Чтобы не писать по много раз разрешения в каждом таком сервисе и нужно передать эту операцию Apache через .htaccess.

spinastr 07.03.2018 15:55

laimas,

Извините я запутался!

Скажите мне всё по порядку:

1. Какие файлы создать?
2. Какие коды в них должны быть?
3. JS который выводит данные на мой сайт?

Помогите, я так написал чтобы больше не было путаницы.

__________________________________________________ ____

В корне хоста создал папку: st
В папке два файла st.php и st.json

Содержимое:

st.php

<?
if($f = file_get_contents('http://counter.yadro.ru/values?site=devaka.ru')) {
    exit(json_encode(parse_ini_string($f)));
} else exit(json_encode(['error'=>'Text error.']));
?>


st.json

пусто

И js на моём сайте:

<div class="lives"></div>
 
<script>
$.getJSON("http://h116641.s08.test-hf.su/st/st.php", function(data) {
$('.lives').html(data.LI_site);
});
</script>


Что по порядку нужно куда дописать и сделать?

spinastr 07.03.2018 16:17

Почему не работает?

Тут получается json http://h116641.s08.test-hf.su/st/st.php

У меня на сайте скрипт php не работает.


laimas 07.03.2018 16:20

Цитата:

Сообщение от spinastr
В папке два файла st.php и st.json

Учитесь рассуждать, не важно программирование это или попытка заменить перегоревшую лампочку.

Первая потребность иметь домен с РНР поддержкой возникла из-за необходимости получения курса валют. А так как курс валют изменяется раз в сутки, то и запрос курса в ЦБ делается один раз. Но ваш сайт может запрашивать этот курс многократно. А значит и возникает потребность хранения полученных курсов на домене h116641.s08.test-hf.su, что и делается их записью в файл в формате json.

Теперь потребовалось получение какой-то статистки. Но эти данные могут изменяться с течением времени. А это означает, что их запрос на домене counter.yadro.ru предполагает сразу возврат их вашему сайту. Отсюда вопрос - нужно ли сохранять их на домене h116641.s08.test-hf.su?

spinastr 07.03.2018 16:31

Цитата:

Сообщение от laimas
нужно ли сохранять их на домене h116641.s08.test-hf.su?

Да я тоже задавался таким вопросом, данные готовые. Но я их не мог взять с домена, так как скрипт вывода json не брал данные на прямую по ссылке примера http://counter.yadro.ru/values?site=mexboy.ru

Я решил сделать также как в курсе валют, нашёл php вставил перевёл в json записал в json. Скриптом старался вытянуть но не получается.

Так то да данные готовые: Нужно просто число хитов. Это число хотел вставить в панель или вверх сайта. Это нужно что бы пользователи видели значимость сайта. Что бы они видели сколько раз на него зашли в сутки. так как сайт небольшого города и многие считают сайт не популярным. Все привыкли к соц сетям где написано количество подписчиков. Вот я и решил вывести количество общих просмотров за день. На сайте у меня чисто (целевая) местная аудитория, раскрутками посещаемости не занимаюсь.

Можно как то вывести без хостинга? Сразу в блок? По ссылке всё само обновляется.

laimas 07.03.2018 16:47

Цитата:

Сообщение от spinastr
Нужно просто число хитов.

Если из всего нужно только число хитов, то ни к чему и кодировать данные в JSON и получать их методом getJSON.

Домен h116641.s08.test-hf.su обслуживает только ваш сайт и для этого передает соответствующие заголовки. Пока вы не перенесете их из индексного файла в .htaccess никакой статистки вы не получите.

Никаких st.json не нужно, а файл st.php должен получать и отдавать клиенту только значение хитов (каких именно не знаю, там и за месяц, и за неделю, и за сутки...):

<?php
if($f = file_get_contents('http://counter.yadro.ru/values?site=devaka.ru')) {
    exit(parse_ini_string($f)['LI_month_hit']); //это хиты за месяц, указывайте сами какие нужны
}
?>


Клиент получает:

$(".lives").load("http://h116641.s08.test-hf.su/st/st.php");

spinastr 07.03.2018 16:53

laimas,

Выше немного не понял!

Получилось так

http://h116641.s08.test-hf.su/st/st.php

Это у меня на сайте

<div class="lives"></div>
<script>
$(".lives").load("http://h116641.s08.test-hf.su/st/st.php");
</script>


Но говорю ещё раз, у меня не будет работать скрипт с*.php

Данные не выводятся

spinastr 07.03.2018 17:00

Цитата:

Сообщение от laimas
Домен h116641.s08.test-hf.su обслуживает только ваш сайт и для этого передает соответствующие заголовки. Пока вы не перенесете их из индексного файла в .htaccess никакой статистки вы не получите.

Куда мне нужно переместить этот файл st.php ?


Часовой пояс GMT +3, время: 16:18.