Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PHP обучение на примерах - Кухарчик А..pdf
Скачиваний:
135
Добавлен:
24.05.2014
Размер:
23.87 Mб
Скачать

Счетчикперсональной посещаемости

103

$со = file($adds);

$а = count($li);

Этот код нам уже знаком. Он практически ничем не отличается от такого же в файле log.phtml. Мы узнали адреса файлов базы данных и ввели информацию в массивы. Осталось ее только вывести, вставив нужные теги HTML:

$i = 0; $w = 0; while ($i < $a): echo "<tr><td>.

<a href=$li[$i]>$li[$i]</a> </td><td>$co[$i]</td></tr>"; $i++;

endwhile;

?></table>

Теперь наши результаты будут выведены в таблице. Вот и вся работа!

В заключение хочу еще раз напомнить, что вызов скрипта статистики осуществляется следующей командой:

<? include ($DOCUMENT_ROOT. "/count/log.phtml") ; ?>

Достаточно вставить этот код в любое место любого файла (но только с расширением для РНР), и он будет проиндексирован в базе данных, и в дальнейшем каждое посещение этой страницы будет учитываться.

Счетчик персональной посещаемости

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

104

 

Программирование на РНР

Эту

задачу мы реализуем

при помощи технологии cookie

(см, приложение 4).

Итак, попробуем реализовать персональный счетчик. В первых строках файла, еще до вывода любых тегов и сообщений, пишем:

$у = mktime(0,0,0,1,1,2022);

if (isset ($name)) { setcookie ("name "', "0", $y) ; } else { $name++; setcookie("name ", $name, $y); }

?>

Смысл кода очень прост. Если cookie с именем $name установлен, его значение считывается и увеличивается на единицу. Если нет — в cookie записывается ноль. В дальнейшем он будет считан и учтен. В любом месте страницы теперь можно вывести результаты:

<р>Персональный счетчик - <? echo $name; ?></p>

Как видите, очень просто, весь код буквально поместился в одну строку.

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

Подсчет переходов по ссылкам

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

Итак, приступим. Первым делом создадим себе две ссылки: http://virtual.brest.by/php/ и http://20404 0.com.

Подсчетпереходов по ссылкам

105

Вторая ссылка — это интересный сайт одной неплохой фирмы в моем городе. Кто очень интересуется, как извлекать информацию с файла Excel, может посмотреть, как это там сделано. Но это к слову. Теперь о деле.

Эти ссылки мы должны заменить одной своей. Допустим, у вас есть сайт http://home.name (нет такого сайта, не ищите, это

япридумал). Сайт расположен на сервере, поддерживающем РНР.

Втаком случае вы, например, можете заменить указанные выше ссылки (http://virtual.brest.by/php/ и http://204040.com) такими: http://home.name/reg.phtml?id=l и http://home.name/ reg.phtml?id=2.

Уловили суть? Вы направляете посетителя не сразу на выбранные им ресурсы, а сначала к себе на специальную страницу, на которой можно, проанализировав переменную $id, узнать, куда именно решил уйти ваш посетитель. Учесть этот переход в заранее созданном файле и потом без вопросов перенаправить этого непутевого посетителя на тот ресурс, который он выбрал. Обратите внимание, что ни в коем случае нельзя выводить ничего на экран, иначе переход не состоится, потому что функция перенаправления на другую страницу не сработает.

Приступим к реализации задуманного:

<?

$u[0] = "http://home.name";

$u[1] = "http://virtual.brest.by/php/"; $u[2] = "http://204040.com";

В этой части кода определяемся с адресами, на которые будут происходить перенаправления. Тестовые адреса у нас уже есть, вот их и будем использовать. Если произойдет ошибка с переменной $id, посетитель попадет на главную страницу вашего сайта — home.name. А можно и не на главную, достаточно задать адрес нужной страницы в первой строке.

Следующие действия:

$add = "log.txt"; $sl = file($add);

106

 

Программирование на РНР

При помощи этого кода в массив считывается содержимое базы данных со статистикой переходов. Проверяем содержимое переменной $id на ошибку:

if ($id < 1 or $id >= count ($u) ) { $id = 0; }

Если ошибка присутствует, то присваиваем переменной ноль.

Дальше:

 

$ u r l = $ u [ $ i d ] ;

 

$temp = t r i m ( s t r _ r e p l a c e

{"\n","", $ s l [ $ i d ] ) ) ;

if (!$temp) { $temp = 0;

}

$temp++;

 

$ s l [ $ i ] = $ t e m p . " \ n " ;

 

Тут немного сложнее, но сейчас попробуем вместе разобраться. Нужный нам адрес задан в массиве $u, который мы описали в начале, поэтому считываем оттуда адрес, на который сделаем переход. Потом считываем в переменную $temp число, соответствующее количеству переходов по этому адресу. Увеличиваем полученное число на один и добавляем к нему символ перевода строки — для удобочитаемости результата.

Объединяем массив в одну переменную:

$ s a v = i m p l o d e ( $ s l , " " ) ;

и записываем в файл учета:

$fp = @fopen($add, "w+");

if ($fp) { $fw = fwrite($fp, $sav); fclose($fp); }

header ("Location: ".$url); ?>

Осталось только перейти по считанному адресу. Наш скрипт, кстати, умеет сам заполнять пустые поля, т.е. файл со статистикой не нужно заполнять нулями, он будет заполняться сам.

Вот и все. Теперь у вас есть возможность узнать, куда пропали ваши посетители, и убрать эту вредную ссылку. Шутка.

Соседние файлы в предмете Программирование