С нами с 08.03.05
Сообщения: 109
Рейтинг: 27
|
Добавлено: 15/01/07 в 16:36 |
возможно ли как - то подсчитать клики сделаные на странице по выбранным ссылкам ?
тоесть получить такую статистику: ссылка 1 - xxx кликов
ссылка 2 - xxx кликов и.т.д
как вариант в голову лезит только создать промежуточные страницы с счетчиком и дальше редиректить яваскриптом по направлению..
только почемуто мне кажется что такой выриант будет несовсем правильный так как счетчик может неуспевать подгружатся....
|
|
|
|
С нами с 08.10.04
Сообщения: 667
Рейтинг: 710
|
Добавлено: 15/01/07 в 17:47 |
мысль правильная но счетчик желательно локальный /т.е. прямо на твоем хосте/. фришных счетчиков в сети - море. осталось найти только нужный тебе ).
а редирект лучше пхп-шный. Тогда 100% все будет работать )
|
|
|
|
С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144
|
Добавлено: 15/01/07 в 18:20 |
vashman писал: | а редирект лучше пхп-шный. Тогда 100% все будет работать ) |
Что такое "пхп-шный редирект"?
|
|
|
|
С нами с 08.03.05
Сообщения: 109
Рейтинг: 27
|
Добавлено: 15/01/07 в 18:58 |
to vashman
подскажи по счетчикам плз, просто несталкивался с этим,
|
|
|
|
С нами с 13.09.05
Сообщения: 747
Рейтинг: 478
|
Добавлено: 16/01/07 в 15:48 |
Может я чего-то неправильно понял, но довольно легко организовать сабж на пхп+mysql. А можно взять готовый скрипт, их полно.
А пхп-шный редирект это что-то типа:
<?
header("Location: $url");
?>
|
|
|
|
С нами с 27.10.06
Сообщения: 55
Рейтинг: 54
|
Добавлено: 16/01/07 в 16:00 |
Вариант: ссылка http://www.yourdomain.com/link.php?link=http://www.link.com
Соурс link.php может быть таким:
Код: |
<?php
//получаем линк
$link = $_REQUEST['link'];
//добавляем символ окончания строки
$link_to_write = "$link\n";
//открываем файл
$handle = fopen('clicks.txt', 'a');
//запираем файл
flock($handle, LOCK_EX);
//пишем в файл
fwrite ($handle, $link_to_write);
//отпираем файл и закрываем его
flock($handle, LOCK_UN);
fclose($handle);
//сам редирект на ссылку
header("LOCATION: $link");
//умираем...
die;
?>
|
Тогда, допустим проверить статистику кликов можно так:
Код: |
//открываем файл и помещаем каждую его строку как элемент массива
$file = file('clicks.txt');
//подсчитываем количество каждого элемента
$file = array_count_values($file);
//сортируем в обратном порядке
arsort ($file);
//выводим массив (для кустомизации лучше пользоваться foreach)
print_r($file);
|
Можно сразу подсчитывать количество кликов и уже писать в файл, а потом его хоть через вэб открывать. Можно писать в базу данных. Можно Редиректить спустя 5 секунд, а перед этим показать какую-нибудь херню типо "сейчас я вас перемещу на супер-пупер сайт". Можно ещё и время вписывать, чтоб потом по времени глядеть. Можно дохера чего.
Поэтому если изложенный вариант не подходит, говори... думаю доделаем!
п.с. в изложенном варианте старался только натолкнуть на мысль как делается, и намеренно не добавлял всякие возможные обработки ошибок.
|
|
|
|
С нами с 21.06.05
Сообщения: 1788
Рейтинг: 1579
|
Добавлено: 16/01/07 в 18:13 |
Ronald Wild писал: | Может я чего-то неправильно понял, но довольно легко организовать сабж на пхп+mysql. А можно взять готовый скрипт, их полно.
А пхп-шный редирект это что-то типа:
<?
header("Location: $url");
?> |
А где mysql?
Видел на блогах блоггер.ком - показывает на каком месте популярность ссылки.
|
|
|
|
С нами с 29.12.06
Сообщения: 62
Рейтинг: 84
|
Добавлено: 16/01/07 в 18:38 |
Aquizz писал: | Вариант: ссылка http://www.yourdomain.com/link.php?link=http://www.link.com
Соурс link.php может быть таким:
Код: |
<?php
//получаем линк
$link = $_REQUEST['link'];
//добавляем символ окончания строки
$link_to_write = "$link\n";
//открываем файл
$handle = fopen('clicks.txt', 'a');
//запираем файл
flock($handle, LOCK_EX);
//пишем в файл
fwrite ($handle, $link_to_write);
//отпираем файл и закрываем его
flock($handle, LOCK_UN);
fclose($handle);
//сам редирект на ссылку
header("LOCATION: $link");
//умираем...
die;
?>
|
|
Хмм, не есть хорошо, потому, что записывать в файл можно будет только 1-м потоком, на нормальном траффе во-первых винт загнется, во-вторых если апач наткнется на лоченый файл, то значение он просто потеряет.
Идея правильная, но нужно писать в мускуль.
|
|
|
|
С нами с 27.10.06
Сообщения: 55
Рейтинг: 54
|
Добавлено: 16/01/07 в 18:54 |
дык...
есть же люди которые не хотят заморачиваться с мускулем
а если с мускулём, то примерно так:
создаём таблицу links с полями например:
name (varchar) (ну где храним имя ссылки)
link (varchar)
clicks (int)
Предварительно заносим туда все нужные ссылки...
прописываем код обновления линка в базе:
Код: |
$link = $_REQUEST['link'];
mysql_query("UPDATE link SET clicks=clicks+1 WHERE link='$link'");
header("LOCATION: $link");
|
потом при необходимости (напр. при выводе топлистика) выполняем что-то вроде:
Код: |
$result = mysql_query("SELECT * FROM links ORDER BY clicks DESC");
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$name = $row['name'];
$clicks = $row['clicks'];
$link = $row['link'];
echo "<a href='$link'>$name ($clicks)</a><br>";
}
|
ну что-то в этом роде...
ну и не забываем про защиту от SQL инъекций...
|
|
|
|
С нами с 12.05.06
Сообщения: 132
Рейтинг: 29
|
Добавлено: 17/01/07 в 15:20 |
Есть впринципе вообще гениальное решения учета кликов (http://www.faqts.com/knowledge_base/view.phtml/aid/6636). Там реализовано на ЖаваСкрипте он отслеживает координаты клика!
Я этим слежу за гугловксими блоками
|
|
|
|