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


Пользователь месяца
Ixman Ixman 1-й за Октябрь
Очков активности: 693 0 тем, 33 сообщения, 14 баллов репутации
Сайт: o5cat.ru
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

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

  • Фотография yuran
    #2

    yuran (yurbol.ru)
    Очков активности: 81 0 тем, 54 сообщения, 1 балл репутации

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

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

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

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

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

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

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

    WGN (worldgamenews.com)
    Очков активности: 39 Вне конкурса за определение пользователя месяца

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

    pozitron123
    Очков активности: 31.5 2 темы, 15 сообщений, 1 балл репутации

  • Фотография алексс
    #8

    алексс
    Очков активности: 27 2 темы, 12 сообщений, 1 балл репутации

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

    Mariko
    Очков активности: 16.5 1 тема, 8 сообщений, 1 балл репутации

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

    RosenRot (abuzov.com)
    Очков активности: 13.5 1 тема, 6 сообщений, 1 балл репутации

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


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

#1 Ixman

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

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

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


 

 

  • 0


#2 ShowPrint

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

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

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

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

 

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


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


#3 Ixman

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

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

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

 

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

 

 

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

 

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


  • 0


#4 ShowPrint

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

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

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

 

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

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

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


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


#5 ShowPrint

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

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

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

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


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


#6 ShowPrint

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

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

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

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

Например:

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

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


#7 Ixman

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

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

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


  • 0


#8 ShowPrint

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

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

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

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


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


#9 Ixman

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

Отправлено 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
  • 3072 сообщений
  • Репутация: 844

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

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

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


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


#11 Ixman

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

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

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


  • 0


#12 ShowPrint

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

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

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

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


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


#13 Ixman

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

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

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

 

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


  • 0


#14 ShowPrint

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

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

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

 

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


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


#15 Ixman

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

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

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

 

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


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


  • 0


#16 ShowPrint

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

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

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


#17 Ixman

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

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

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


  • 1


robot

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


Похожие темы

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

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