Помогите подправить счетчик просмотров

Тема в разделе "PHP", создана пользователем Forvator, 10 окт 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Forvator

    Forvator Создатель

    Регистр.:
    30 авг 2010
    Сообщения:
    12
    Симпатии:
    3
    Есть такой скрипт счетчика просмотров, который показывает колличество просмотров за сегодня. Нужно подправить и сделать, чтоб данные не обнулялись и показывалось общее колличество просмотров за весь период.
    PHP:
    if ($QUERY_STRING != "vote")
    {
    //0
    if (isset($link) and $link != '') {
    unset(
    $result);
    $result = @mysql_query("SELECT ID,today FROM $textable WHERE ID = '$link'");
    while (
    $myrow=mysql_fetch_array($result)) 
    {
    $today=$myrow["today"];
    }
    $daynow=date("Y-m-d");
    if (
    $today=='0000-00-00' or $today != $daynow)
    {
    $sql="update $textable SET count='1',today='$daynow' WHERE ID='$link'";
    $result=mysql_query($sql,$db);
    }
    elseif (
    $today == $daynow)
    {
    $sql="update $textable SET count=count+1 WHERE ID='$link'";
    $result=mysql_query($sql,$db);
    }
     
  2. propovednik

    propovednik Постоялец

    Регистр.:
    16 май 2008
    Сообщения:
    104
    Симпатии:
    21
    PHP:
    if ($today=='0000-00-00' or $today != $daynow)
    {
    $sql="update $textable SET count='1',today='$daynow' WHERE ID='$link'";
    $result=mysql_query($sql,$db);
    }
    elseif (
    $today == $daynow)
    {
    $sql="update $textable SET count=count+1 WHERE ID='$link'";
    $result=mysql_query($sql,$db);
    }  
    замени на
    PHP:
    $sql="update $textable SET count=count+1 WHERE ID='$link'";
    $result=mysql_query($sql,$db);
      
    столбец daynow тебе уже не пригодится, если хочешь хранть общее количетсво просмотров
     
    Forvator нравится это.
  3. Forvator

    Forvator Создатель

    Регистр.:
    30 авг 2010
    Сообщения:
    12
    Симпатии:
    3
    А как можно сделать, чтоб не накручивались просмотры одного и того же пользователя?
     
  4. B0nuse

    B0nuse Постоялец

    Регистр.:
    6 июн 2009
    Сообщения:
    106
    Симпатии:
    21
    Кинь ему куку и при накрутке счетчика проверяй ее наличие.
    Можно еще по Ip проверять
    Или в паре.
     
  5. DenisK

    DenisK

    Регистр.:
    8 фев 2007
    Сообщения:
    206
    Симпатии:
    14
    Можно только поставить защиту от ламеров, как описано постом выше. Кому очень надо будет, все это легко обойдет.
    Например голосуя через анонимайзер, где ip постоянно меняется (например OperaTor) и с отключенными cookie
     
  6. Kloster

    Kloster

    Регистр.:
    22 июн 2009
    Сообщения:
    216
    Симпатии:
    12
    Речь о просмотрах, а не голосоаниях.
    На 100% точную статистику все равно не получить. Кто-то куки потер, кто-то без кук гуляет, а то и поисковый бот зашел :)
     
Статус темы:
Закрыта.