Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Контроль аудитории посредством COOKIE
 
 автор: Владимир55   (19.02.2009 в 15:19)   письмо автору
 
 

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

Предполагаю использовать такой код:
$t_pos1 = $_COOKIE['metka']; 

setcookie("metka", time (), time () + 2500000); 

$t_pos2 = $_COOKIE['metka']; 

echo "t_pos1 $t_pos1 <br> t_pos2 $t_pos2 <br>";

if (($t_pos1) & ($t_pos2))  echo "<br> Этот посетитель уже был <br>";
if ((!$t_pos1) & ($t_pos2)) echo "<br> Это новый  посетитель <br>";
if (!$t_pos2) echo "<br> У этого посетителя запрещены  кукисы<br>";


Но получается, что в ситуации, когда кукисы разрешены, значения $t_pos1 и $t_pos2 всегда одинаковы. Стало быть, скрипт работает неверно.

А что в нем не так?

  Ответить  
 
 автор: cheops   (19.02.2009 в 15:28)   письмо автору
 
   для: Владимир55   (19.02.2009 в 15:19)
 

Дело в том, что массив $_COOKIE заполняется только после того, как от пользователя получен HTTP-заголовок Cookie, поэтому сосотояние "У этого посетителя запрещены" у вас не кооректно определяется. Чтобы получить оперативный простор - лучше немного переработать структуру приложения и отталкиваться от следующей
<?php
  
if(isset($_COOKIE['metka']))
  {
     
$text "<br> Этот посетитель уже был <br>";
  }
  else
  {
     
$text "<br> Это новый  посетитель <br>";
  }
  
// Устанавливаем метку
  
setcookie("metka"time (), time () + 2500000);
  echo 
$text;
?>

  Ответить  
 
 автор: Владимир55   (19.02.2009 в 15:43)   письмо автору
 
   для: cheops   (19.02.2009 в 15:28)
 

Понятно.

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

Так и попробую...

Спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования