شمارنده آمار بازديد

نظر شما درباره اين آموزش

  • متوسط

    رای: 0 0.0%
  • ضعيف

    رای: 0 0.0%
  • بد

    رای: 0 0.0%

  • مجموع رای دهندگان
    3

MMSHFE

Active Member
با سلام، دوستان گرامي خواستم بعد از اينهمه آموزش ساخت كد شمارنده سايت كه هر كدوم يك روش رو پيشنهاد ميكنن، من هم روش خودم رو بگم كه چند ساله دارم استفاده ميكنم و علاوه به انعطاف پذيري بالايي كه داره، حجم ديتابيس رو هم بالا نميبره. خوب مستقيم ميريم سراغ كد:
PHP:
<?php
require_once("config.php");
$agent=$_SERVER["HTTP_USER_AGENT"];
if((ereg("Nav",$agent)
    || ereg("Gold",$agent)
    || ereg("X11",$agent)
    || ereg("Netscape",$agent))
    && !ereg("MSIE",$agent)
    && !ereg("Mozilla",$agent)
    && !ereg("Konqueror",$agent)) $browser = "Netscape";
elseif(ereg("Mozilla",$agent)
    || eregi("FireFox",$agent)
    || eregi("Bon.Echo",$agent)
    && !ereg("MSIE",$agent)) $browser = "FireFox";
elseif(ereg("MSIE",$agent)) $browser = "MSIE";
elseif(ereg("Lynx",$agent)) $browser = "Lynx";
elseif(ereg("Opera",$agent)) $browser = "Opera";
elseif(ereg("WebTV",$agent)) $browser = "WebTV";
elseif(ereg("Konqueror",$agent)) $browser = "Konqueror";
elseif(eregi("google",$agent)) $browser = "Chrome";
elseif(eregi("bot",$agent)
    || ereg("Slurp",$agent)
    || ereg("Scooter",$agent)
    || eregi("Spider",$agent)
    || eregi("Infoseek",$agent)) $browser = "Bot";
else $browser = "Other";
if(ereg("Win",$agent)) $os = "Windows";
elseif((ereg("Mac",$agent))
    || (ereg("PPC",$agent))) $os = "Mac";
elseif(ereg("Linux",$agent)) $os = "Linux";
elseif(ereg("FreeBSD",$agent)) $os = "FreeBSD";
elseif(ereg("SunOS",$agent)) $os = "SunOS";
elseif(ereg("IRIX",$agent)) $os = "IRIX";
elseif(ereg("BeOS",$agent)) $os = "BeOS";
elseif(ereg("OS/2",$agent)) $os = "OS/2";
elseif(ereg("AIX",$agent)) $os = "AIX";
else $os = "Other";
try
{
    mysql_connect($host,$user,$pass);
    mysql_select_db($db);
    $query="UPDATE `counter` SET `count`=`count`+1"
    $query.=" where (`type`='Total' AND `var`='Hits')"
    $query.=" OR (`type`='Browser' AND `var`='$browser')"
    $query.=" OR (`type`='OS' AND `var`='$os')";
    $result=mysql_query($query);
}
catch(Exception $error)
{
    die($error->getMessage()."\n");
}
توي كد بالا، همونطور كه ميبينيد، هم تعداد كلي بازديد و هم آمار تفكيكي برحسب نوع مرورگر و نوع سيستم عامل استخراج ميشه و به ركوردهاي مربوطه اضافه ميشه. تنها كار باقيمانده، كد MySQL مربوط به جداول هست:
کد:
CREATE TABLE `counter` (
  `ID` int(11) NOT NULL,
  `Type` longtext collate utf8_bin NOT NULL,
  `Var` longtext collate utf8_bin NOT NULL,
  `Count` int(11) NOT NULL,
  PRIMARY KEY  (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

INSERT INTO `counter` (`ID`, `Type`, `Var`, `Count`) VALUES
(1, 'Total', 'Hits', 0),
(2, 'Browser', 'Netscape', 0),
(3, 'Browser', 'FireFox', 0),
(4, 'Browser', 'MSIE', 0),
(5, 'Browser', 'Lynx', 0),
(6, 'Browser', 'Opera', 0),
(7, 'Browser', 'WebTV', 0),
(8, 'Browser', 'Konqueror', 0),
(9, 'Browser', 'Chrome', 0),
(10, 'Browser', 'Bot', 0),
(11, 'Browser', 'Other', 0),
(12, 'OS', 'Windows', 0),
(13, 'OS', 'Mac', 0),
(14, 'OS', 'Linux', 0),
(15, 'OS', 'FreeBSD', 0),
(16, 'OS', 'SunOS', 0),
(17, 'OS', 'IRIX', 0),
(18, 'OS', 'BeOS', 0),
(19, 'OS', 'OS/2', 0),
(20, 'OS', 'AIX', 0),
(21, 'OS', 'Other', 0);
اميدوارم كه خوشتون بياد. ضمناً خوشحال ميشم نظراتتون رو بدونم.
موفق و مؤيد باشيد.
 

جدیدترین ارسال ها

بالا