Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Счетчик ссылок
Форум программистов > Интернет и сети > Web-программирование > PHP программирование
nws
Надо посчитать сколько раз юзер нажал на ссылку

Код
<?php

checkLoggedIn("yes");

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

echo "Добро пожаловать,<b>" . $_SESSION["login"] . "</b>&nbsp;&nbsp;";
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
MajestiC
Цитата
@$c = $_GET['cat'];

Мощно! =)


Почему в case нет break?
nws
Цитата
Мощно! =)

Стараюсь =))

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

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

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

сделать

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

и сделать break-и после каждого case.
nws
Цитата
if (isset($c))
{
$count = isset($_COOKIE['stats'][$c]) ? $_COOKIE['stats'][$c] : 0;

и сделать break-и после каждого case.


Заработало biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.