Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 20

Счетчик просмотров страницы прыгает через единицу

23.05.2013, 11:01. Показов 1470. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача вроде как элементарная. Есть страница надо считать сколько раз ее открывали. mysql только для этого использовать не разумно, используем файлы. Делаю так:
PHP
1
2
3
4
5
6
7
$url = "counter.dat";//Указываем адрес файла с данными для записи
$file = file($url);//Считываем файл в массив
$count = $file[0];//Первая строчка - наши данные, в php отсчет начинается с нуля
$count++;//Увеличиваем значение счетчика на 1
$handle = fopen($url, "w");//Открываем файл для записи
fwrite($handle, $count);//Записываем
fclose($handle);//Закрываем
Внизу страницы вывожу так
PHP
1
echo $count;
Больше PHP кода на странице нет.

Проблема. При каждом обновление страницы $count прыгает через единицу т.е выводится 1-3-5-7-9-11 и т.д
Замечено, что в самом файле записывается соответственно 2-4-6-8. Т.е видимо считывается и накидывается единица верно, а при записи что-то странное происходит. Не пойму где ошибка.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.05.2013, 11:01
Ответы с готовыми решениями:

Счетчик просмотров через гиперссылку
Друзья, подскажите как сделать обновление количества просмотров по гиперссылке, т.е. только при входе на страницу, счас счетчик работает,...

Счетчик просмотров !
Проблема такова хочу сделать количество просмотров что бы отображалось вывел табличку в цикл в базц поместил 2 пункта для пробы в 1м...

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

6
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
23.05.2013, 11:38
это весь код, или он выдран из какого-то контекста?
0
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 20
23.05.2013, 11:50  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
это весь код, или он выдран из какого-то контекста?
Весь. Остальное html.
0
 Аватар для dr_yand
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
23.05.2013, 12:01
тогда добавьте echo $count после count++ и перед записью
посмотрите что выведет
0
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 20
23.05.2013, 12:07  [ТС]
Пробывал..
PHP
1
2
3
4
$count = $file[0];
echo $count;
$count++;
echo $count;
Если изменить так получается следующее.
Первая итерация: 34 35
Вторая: 36 37
Третья: 38 39

Ну а внизу страницы где счетчик соответственно прыгало 35-37-39;
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
23.05.2013, 14:26
запустил ваш код у себя, все прекрасно работает
0
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 20
23.05.2013, 14:34  [ТС]
Да-да.. Там магия какая-то. На стороне сервера или клиента или я не знаю..
История такая.
Два url: domen.ru/index.php и domen.ru/test.php

index и test СОВЕРШЕННО одинаковые. Имеют вот такое содержимое.

PHP
1
2
3
4
5
6
7
8
9
10
<?
$url = "testx.dat";//Указываем адрес файла с данными для записи
$file = file($url);//Считываем файл в массив
$count = $file[0];//Первая строчка - наши данные, в php отсчет начинается с нуля
$count++;//Увеличиваем значение счетчика на 1
$handle = fopen($url, "w");//Открываем файл для записи
fwrite($handle, $count);//Записываем
fclose($handle);//Закрываем 
echo $count;
?>
Создаю новый чистый файл testx.dat.

Открываю страничку domen.ru/test.php - все работает. Итерации 1-2-3-4-5. Ни чего не скачит. Алилуя.
Открываю страничку domen.ru/index.php - Все по старому. 6-8-10. Но это не самое странное.
Теперь возвращаемся обратно в /test.php и там - 12-15-17-19-21

Вот как так)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2013, 14:34
Помогаю со студенческими работами здесь

Счетчик уникальных просмотров статьи
Здравствуйте. Можете подсказать как лучше реализовать счетчик уникальных просмотров статьи? В одной статье пишут хранить данные в БД,...

Не могу создать количество просмотров страницы
Уважаемые боги php, нужна ваша помощь, не знаю почему сам до сих пор не понял как, либо не знаю, либо не хочу знать, но дело вот в чем,...

счетчик просмотров
Здравствуйте у меня есть страница в которой есть видео из бд сразу же из страницы можно проигрывать видео в одной странице можно...

Не работает счетчик просмотров
Добрый день. Joomla 3.4.5. В главном меню сайта (http://151sp.eu/) не работает счетчик просмотров. В настройках пункта меню, категории и...

Счетчик просмотров записей
Доброго дня всем! :) Пытаюсь смастерить счетчик просмотра записей БД. Пока на элементарном уровне. Получаю IP, отправляю по ajax на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru