Счетчик ссылок

  • Автор темы nws
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

nws

Гость
#1
Надо посчитать сколько раз юзер нажал на ссылку

Код:
<?php

checkLoggedIn("yes");

@$c = $_GET['cat'];
$login = $_SESSION["login"];

echo "Добро пожаловать,<b>" . $_SESSION["login"] . "</b>";
echo "<a href=\"logout.php?" . session_name() . "=" . session_id() . "\">Выйти</a><br>";
$count = 0;
if (isset($c))
{

switch ($c)
{
case "politika":
$count += 1;
case "economika":
$count += 1;
case "nauka":
$count += 1;
case "kino":
$count += 1;
case "sport":
$count += 1;

}
setcookie("stats[$c]", $count, 0x7FFFFFFF);
}

$q = mysql_query("SELECT categoria as categ FROM categoria");
while ($rez = mysql_fetch_array($q))
{
echo "<a href=show.php?cat=$rez[categ]>$rez[categ]</a><br>";
}

if (isset($_COOKIE['stats']))
{
foreach ($_COOKIE['stats'] as $key => $value)
{
echo "$key: $value<br>";
}
}
else
{
echo "Cookie должны быть включены";
exit();
}

?>
Выводит это:
kino: 2
economika: 4
politika: 5
nauka: 3
sport: 1
 
N

nws

Гость
#3
Стараюсь =))

С break тоже не идет

Я нашел другое решение:
Создаю еще 1 таблицу с полями user,link,count,date
Заношу инфу туда и селектом показываю
 
M

MajestiC

Гость
#4
По идее вместо

$count = 0;
if (isset($c))
{

сделать

if (isset($c))
{
$count = isset($_COOKIE['stats'][$c]) ? $_COOKIE['stats'][$c] : 0;

и сделать break-и после каждого case.
 
Статус
Закрыто для дальнейших ответов.