Перейти к содержимому


Пользователь месяца
OlgaGetman OlgaGetman 1-й за Декабрь
Очков активности: 2100 10 тем, 170 сообщений, 7 баллов репутации
ТОП самых активных за этот месяц
  • Фотография Ixman
    #1

    Ixman (o5cat.ru)
    Очков активности: 195 Вне конкурса за определение пользователя месяца

  • Фотография Андрей WPMasterKZ
    #2

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 153 Вне конкурса за определение пользователя месяца

  • Фотография BLIK
    #3

    BLIK
    Очков активности: 126 0 тем, 21 сообщение, 4 балла репутации

  • Фотография OlgaGetman
    #4

    OlgaGetman
    Очков активности: 88.5 Вне конкурса за определение пользователя месяца

  • Фотография Cheaplinks
    #5

    Cheaplinks
    Очков активности: 54 0 тем, 18 сообщений, 2 балла репутации

  • Фотография Mandarin
    #6

    Mandarin
    Очков активности: 52.5 0 тем, 35 сообщений, 1 балл репутации

  • Фотография TimurR
    #7

    TimurR
    Очков активности: 49.5 Вне конкурса за определение пользователя месяца

  • Фотография Ilya74
    #8

    Ilya74
    Очков активности: 48 0 тем, 16 сообщений, 2 балла репутации

  • Фотография Constantine
    #9

    Constantine
    Очков активности: 48 5 тем, 17 сообщений, 1 балл репутации

  • Фотография magnet
    #10

    magnet (rbfxdirect.com)
    Очков активности: 30 0 тем, 10 сообщений, 2 балла репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 25.12.2018
  • Яндекс выдача: 20.01.2019
Топ 5 участников по репутации


Как отследить перезагрузку WEB страницы в браузере?

#1 Ixman

Ixman
  • Пользователь PRO
  • 3025 сообщений
  • Репутация: 791
0

Отправлено 29 July 2017 - 16:38

Вот встала у меня такая задача, нужно как-то фиксировать перезагрузку страниц средствами php кода. И никак не могу придумать как, это сделать. Знаю что просто, так как ранее читал с примерами на куках, но вот не сохранил себе нигде и никак не могу вспомнить. Пару дней мудохался и ни чего путного не сделал :( Может кто-то натолкнёт как правильно всё это дело организовать?


 

 

  • 0


#2 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 863

Отправлено 31 July 2017 - 14:50

нужно как-то фиксировать перезагрузку страниц средствами php кода
Иван, а подробнее - понять что вкладывается в понятие "фиксировать"?

(Можешь образным примером в ЛС).

 

Я конечно самоучка и вряд-ли помогу с реализацией, но вдруг идея какая-то возникнет... :unsure:


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#3 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 3025 сообщений
  • Репутация: 791

Отправлено 31 July 2017 - 15:24

Михаил, напишу сюда. Задача состоит в сборе статистики посещений. Все данные на этом этапе сразу пишутся в базу, далее наверное буду использовать редис, а потом из него уже буду писать в базу. Но это не суть. Нужно определить, когда пользователь заходит на сайт или ходит по страницам, что это хост, хит, или перезагрузка страницы. Хост это понятно и легко проверяется. А вот отделить хит от простой перезагрузки страницы не могу.

 

что вкладывается в понятие "фиксировать"?

 

 

Когда пользователь переходит на конкретную страницу, допустим в куку пишем 0 в базу пишем как хит. Если этаже страница просто обновляется, то счётчик-куку увеличиваем на 1 и тут уже в базу нужно записать как перезагрузка. А если он с текущей страницы переходит на другу, счётчику опять нужно присвоить значение 0 и записать как хит. Вот встал на этом месте и ничего не могу придумать ((

 

Сборщик статистики на страницах выводится как картинка, которая формируется php скриптом, он же и является обработчиком всех данных. Понятно тут лучше бы всё это дело сделать на js, но пока задача реализовать всё на php


  • 0


#4 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 863

Отправлено 31 July 2017 - 15:37

Иван, теперь более-менее понятна задача...

 

А пхп-шными функциями на основе анализа реферера реализовать это нельзя? Вроде же реферер в системные переменные пишется...

Не анализировал какой реферер выдается после перезагрузки? Если он такой-же как и текущая страница, то это перезагрузка...

Нэ, не прокатит такой вариант?


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#5 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 863

Отправлено 31 July 2017 - 15:52

какой реферер выдается после перезагрузки?
Попробовал - походу реферер при перезагрузке страницы остается старый - не канает... (((

Но задача ясна: если какая мысль ещё посетит - черкану...


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#6 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 863

Отправлено 31 July 2017 - 16:10

@Ixman, кстати, а никак неполучится использовать факт что

реферер при перезагрузке страницы остается старый

Например:

если реферер тот же что и предыдущий, то это "перезагрузка"

  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#7 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 3025 сообщений
  • Репутация: 791

Отправлено 31 July 2017 - 16:25

Не очень это надёжный способ вроде как, так как не всегда передаётся реферер и что делать если страницы начнёт "крутить" бот или прокси, которые рефера не передают.


  • 0


#8 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 863

Отправлено 31 July 2017 - 17:19

не всегда передаётся реферер
А если создать свою куку-рефер и с ней работать?

Сорь если глупости леплю - матчастью владею со справочником, поэтому делюсь идеями  :mellow:


  • 1
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#9 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 3025 сообщений
  • Репутация: 791

Отправлено 31 July 2017 - 19:00

Михаил, в этом-то и проблема, как в свою куку записать рефер? Если все манипуляции производятся в конкретном файле и всякие штуки типа $_SERVER['SCRIPT_NAME'] или $_SERVER['REQUEST_URI'] содержат в себе данные именно о моём обработчике, а не о страницах, на которых он подключен ((

 

Сейчас вродь сообразил делать что типа такого

if ($_COOKIE['reload']) {echo 'Это перезагрузка';} else {echo 'Это хит';}
if (!isset($_COOKIE['reload'])) {
	setcookie('reload', TRUE, $TIME + SITE_ONLINE_TIME, '/', $_SERVER['SERVER_NAME']);
}

но чёт не могу придумать как загасить куку при переходе на другую страницу


  • 0


#10 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 863

Отправлено 31 July 2017 - 19:21

как в свою куку записать рефер?
Иван, мне с куками не доводилось глубоко разбираться в плане реализации, но пробовал бы реализовать след. алгоритм:
Если кука "my-referer" (например) не существует { // первый заход пользователя
    создаём куку с текущим адресом страницы и считаем хост
}
иначе { // если заход не первый
    если кука "my-referer" не совпадает с адресом текущей страницы {
         в куку "my-referer" записываем адрес текущей страницы и считаем хит
    }
    иначе { // если кука совпадает
        куку не трогаем и считаем перезагрузку
    }
}

Или опять "мимо"?


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#11 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 3025 сообщений
  • Репутация: 791

Отправлено 31 July 2017 - 19:28

@ShowPrint, оно примерно так и должно быть, только как мне URI определить? Тут я туплю походу


  • 0


#12 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 863

Отправлено 31 July 2017 - 19:41

только как мне URI определить?
SERVER["REQUEST_URI"] или SERVER["SCRIPT_NAME"] чем тебе не угодили?

Обычно из нас двоих туплю именно я, поэтому скорее всего это я не так тебя понимаю. ;)


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#13 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 3025 сообщений
  • Репутация: 791

Отправлено 31 July 2017 - 19:45

SERVER["REQUEST_URI"] или SERVER["SCRIPT_NAME"] чем тебе не угодили?
 

 

я уже писал выше, что эти штуки определяют постоянно один и тот же адрес, адрес обработчика статистики. Вне обработчика я их использовать не могу, потому как счётчик будет использоваться на разных сайтах


  • 0


#14 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 863

Отправлено 31 July 2017 - 19:59

Вне обработчика я их использовать не могу, потому как счётчик будет использоваться на разных сайтах
Говорю же - это я туплю, упустил "глобальность" и не догадался что подразумевается "сторонний" обработчик... А реферер в этом случае никак не заточить?  :wacko:

 

Вижу yury читает пост, думаю что подскажет решение...


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#15 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 3025 сообщений
  • Репутация: 791

Отправлено 31 July 2017 - 20:09

А реферер в этом случае никак не заточить?

 

всего скорее сейчас придётся ориентироваться на него, ибо других вариантов у меня нет. Да я уже понял, что всё это дело нужно реализовывать на js. Так как php это всё таки серверная штука 


Беда всей группы http заголовков в том, что их элементарно подделать можно. Ну да ладно, думаю вопрос исчерпан.


  • 0


#16 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 863

Отправлено 31 July 2017 - 20:15

всё это дело нужно реализовывать на js
В идеале наверное да... 
  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#17 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 3025 сообщений
  • Репутация: 791

Отправлено 31 July 2017 - 20:18

Да с это штукой $_SERVER['HTTP_REFERER'] работает как надо, жаль она не надёжная :)


  • 1


robot

robot
  • Пользователь PRO
  • 2652 сообщений
  • Репутация: 85


Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru