08.04.2014 JQuery - селектор по тексту без учета регистра 05.04.2014 PHP сортировка массива по значению - array_multisort 02.04.2014 Ошибка php undefined symbol php_json_encode 22.07.2013 Как открыть Excel файл с помощью PHP 10.04.2013 jQuery редактирование таблиц 13.12.2012 jScrollPane 2 - прокрутка контента вниз (autoReinitialise и scrollToBottom) 12.12.2012 jQuery 1.7 метод on - замена bind, live, delegate 16.03.2012 Мгновенный поиск результатов на JQUERY
#124

JQUERY: как вести логи действий пользователя

Как отслеживать действия пользователей на сайте.

Для работы необходима библиотека JQUERY.

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

Сам JS в данном случае будет следующим, если вынести код в отдельный .js файл:

  1. $(function(){
  2. // Допустим у нас есть кнопка с классом submit, 
  3. // и нам надо отслеживать клики по ней
  4.    $(".submit").click(function() {
  5.  
  6. // Плюс будем отслеживать какие-то значения которые 
  7. // вводит к примеру пользователь в форме.
  8. // (можно отслеживать изменяющиеся значения атрибутов элементов)
  9. // Пускай это будет текст, и title какого-нибудь изображения.
  10. // val() - указывает на значение value элемента формы
  11.      var text_form = $("#text").val();
  12.      var title_image = $("#image").attr("title");
  13. // Проверяем существует ли значение title у нашего изображения
  14. // и если нет, то зададим ему false
  15.      if (title_image === undefined) {
  16.          title_image = 'false';
  17.      }
  18. // Далее через ajax передаем наши значения PHP скрипту
  19.      $.ajax({
  20.          type: 'post',
  21.          dataType: 'json',
  22.          url: '/ajax.php',
  23.          data: {
  24.                 text_form: text_form,
  25.                 title_image: title_image
  26.          },
  27.      });
  28.    });
  29. });

PHP скрипт, который будет составлять лог-файл:

  1. // Указываем файл для логов (перед этим его необходимо создать и дать права на запись.
  2. $file="click_log.html";
  3. // Укажем полную дату
  4. $date = date("c");
  5. // Через POST получаем значения переданные аяксом
  6. $text_form = $_POST['text_form'];
  7. $title_image = $_POST['title_image'];
  8. // Если файла нету тогда ничего не происходит, 
  9. // т.к. скорей всего прав на создание файла в директории нет
  10. // то его будем создавать вручную, а не скриптом.
  11. if(file_exists($file)){
  12. // Открываем файл ("r" - считывать "w" - создавать "a" - добавлять к тексту)
  13. 	$fp = fopen($file, "a");
  14. // Записываем в него наши данные
  15. 	fwrite($fp, $date.' | '.$text_form.' | '.$title_image.'<br>');
  16. // Закрываем файл
  17. 	fclose($fp);
  18. }

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



29.02.2012 Увеличение изображения по клику jQuery 29.02.2012 Замена стандартного ALERT с помощью JQUERY 29.02.2012 Как проверить пустой массив или нет? 29.02.2012 JQUERY: как вести логи действий пользователя 29.02.2012 JQUERY: как вести логи действий пользователя 29.02.2012 JQUERY: раскрывающийся список 29.02.2012 PHP: Как через POST передать множественный SELECT 30.10.2011 Модальное окно как вконтакте
О сайте