|
|
|
| Хочу собрать сведения о том, каков процент посетителей, приходящих на сайт повторно.
Для этого предполагается использовать 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 всегда одинаковы. Стало быть, скрипт работает неверно.
А что в нем не так? | |
|
|
|
|
|
|
|
для: Владимир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;
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(19.02.2009 в 15:28)
| | Понятно.
А проверить разрешение записи кукисов можно на другой странице, если пользователь её откроет.
Связав результаты через сессию, можно будет внести корректировку в количество новых посетителей, исключив из них пришедших с компьютеров, в которых куки запрещены.
Так и попробую...
Спасибо! | |
|
|
|