Счетчик кликов

RaftKorn
На сайте с 20.03.2007
Offline
166
1402

Подскажите, нужен php счетчик кликов по ссылке.

При нажатии на ссылку будет открываться та же страница, но на счетчике рядом с ссылкой будет прибавляться 1.

Есть какие-то готовые примеры?

Премиум верстка и дизайн под ключ ( https://searchengines.guru/ru/forum/1045270 )
NOX^
На сайте с 08.04.2010
Offline
56
#1

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

<?php session_start();

if(!$_SESSION['count']) $_SESSION['count']=0; //если переменной нет, создаем
if($_REQUEST['plusone']) $_SESSION['count']++;
?>
<html><body>
<a href="/counter.php?plusone=true">link</a> <!-- отображаем ссылку -->
- <? echo $_SESSION['count']; ?> <!-- выводим переменную -->
</body></html>

Можно так же набросать что б программа записывала этов файл на сервере или в базу данных mysql, и тогда все будут видеть одну и ту же цифру. Можно доработать что б при обновлении не срабатывала 2 раза. Или что б с одного ip можно было нажать определенное кол-во раз. Все в зависимости от назначения.

per aspera ad astra
RaftKorn
На сайте с 20.03.2007
Offline
166
#2

Вот так решил это дело:


<?php
if(!file_exists('counter.txt')){
file_put_contents('counter.txt', '0');
}
if($_GET['click'] == 'yes'){
file_put_contents('counter.txt', ((int) file_get_contents('counter.txt')) + 1);
header('Location: ' . $_SERVER['SCRIPT_NAME']);
die;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>counter example</title>
</head>
<body>
<h1><?php echo file_get_contents('counter.txt'); ?></h1>
<a href="?click=yes">clickMe</a>
</body>
</html>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий