PDA

View Full Version : سوال: نشون دادن آمار بازدید در سایت آپلود شده



davidrobert
یک شنبه 09 مهر 1391, 13:14 عصر
سلام
خسته نباشید
من کد آمار بازدید از سایت شما دریافت کردیم و روی سایتم قرار دادیم وقتی روی localhost سیستم من قرار داشت آمار بازدید رو نشون میداد ولی آمار بازدید رو روی سایتم آپلود کردیم نشون نمیده دیتابیس هم و یوزر نیم پسورد هم به هش معرفه کردیم ولی خطا میگیری و وقتی connection شو روی localhost میزاریم فقط اطلاعات روز رو نشون میده که چند نفر در روز وارد شدن و باقی اطلاعات رو نشون نمیده و وقتی رو connection رو روی sdvp1991 یعنی نام سایتم میزاری تمام خطا ها رو که خط به خط هستش نشون میده و آمار بازدید من رو نشون نمیده ممنون مکنیم من رو کمک کنید تا بتونیم آمار سایتم رو ببنیم این هم کد آمار بازید که از صفحه دیگه به صفحه اصلی من وصل شده
کد نوشته شده برای آمار بازدید

<?PHP
//Copyright محمد مصطفي شهركي @ http://www.ncis.ir
class Visits
{
private $now;

public function Visits()
{
$this->Today();
}

private function Today()
{
$this->now = new DateTime('now');
}

private function Connect()
{
mysql_connect('localhost','***_root','رمز عبور');
mysql_select_db('پایگاهداده_آدرس سایت');
mysql_query('SET NAMES \'utf8\'');
}

public function Count()
{
$this->Connect();
$this->Today();
$now = $this->now;
$now = $now->format('Y-m-d');
$result = mysql_query("SELECT * FROM `counter` WHERE (`vdate`='$now') ORDER BY `id`");
switch(mysql_num_rows($result))
{
case -1:
echo '<P dir="ltr" align="left">'.mysql_error().'</P>'."\n";
break;
case 0:
$result = mysql_query('SELECT * FROM `counter` ORDER BY `id` DESC LIMIT 1');
$id = 0;
if(mysql_num_rows($result) > 0)
{
$id = mysql_result($result, 0, 0);
}
$id++;
mysql_query("INSERT INTO `counter` VALUES ('$id','$now','1')");
break;
default:
while($row = mysql_fetch_assoc($result))
{
$id = $row['id'];
mysql_query("UPDATE `counter` SET `count`=`count`+1 WHERE (`id`='$id')");
}
break;
}
}

public function GetAll()
{
$this->Connect();
$result = mysql_query('SELECT * FROM `counter` ORDER BY `id`');
$visits = 0;
if(mysql_num_rows($result) > 0)
{
while($row=mysql_fetch_assoc($result))
{
$visits += $row['count'];
}
}
return $visits;
}

public function GetLastDays($days)
{
$this->Connect();
$this->Today();
$now = $this->now;
$result = mysql_query('SELECT * FROM `counter` ORDER BY `id`');
$visits = 0;
if(mysql_num_rows($result) > 0)
{
while($row=mysql_fetch_assoc($result))
{
$vdate = new DateTime($row['vdate']);
$interval = -1;
while($vdate <= $now)
{
$vdate->add(new DateInterval('P1D'));
$interval++;
}
if($interval < $days)
{
$visits += $row['count'];
}
}
}
return $visits;
}

public function GetLastDay($day)
{
$this->Connect();
$this->Today();
$now = $this->now;
$result = mysql_query('SELECT * FROM `counter` ORDER BY `id`');
$visits = 0;
if(mysql_num_rows($result) > 0)
{
while($row=mysql_fetch_assoc($result))
{
$vdate = new DateTime($row['vdate']);
$interval = -1;
while($vdate <= $now)
{
$vdate->add(new DateInterval('P1D'));
$interval++;
}
if($interval == $day)
{
$visits += $row['count'];
}
}
}
return $visits;
}

public function GetToday()
{
$this->Connect();
$this->Today();
$now = $this->now;
$now = $now->format('Y-m-d');
$result = mysql_query("SELECT * FROM `counter` WHERE (`vdate`='$now') ORDER BY `id`");
$visits = 0;
if(mysql_num_rows($result) > 0)
{
while($row=mysql_fetch_assoc($result))
{
$visits += $row['count'];
}
}
return $visits;
}
}
?>

کد برای نشون دادن که در صفحه اصلی هستش

<?php require_once('Visits.php');
$visits = new Visits();
$visits->Count();
echo 'امروز :&nbsp;'.$visits->GetToday().'<BR/>'."\n";
echo 'ديروز :&nbsp;'.$visits->GetLastDay(1).'<BR/>'."\n";
echo 'پس پي روز :&nbsp;'.$visits->GetLastDay(2).'<BR/>'."\n";
echo 'جمع بازديد امروز و ديروز :&nbsp;'.$visits->GetLastDays(2).'<BR/>'."\n";
echo 'هفته قبل :&nbsp;'.$visits->GetLastDays(7).'<BR/>'."\n";
echo 'ماه قبل :&nbsp;'.$visits->GetLastDays(30).'<BR/>'."\n";
echo 'سال قبل :&nbsp;'.$visits->GetLastDays(365).'<BR/>'."\n";
echo 'جمع كل بازديد :&nbsp;'.$visits->GetAll().'<BR/>'."\n";

?>

ممنون میشیم من رو کمک کنید
آدرس سایتم http://www.sdvp1991.ir

kartuf
دوشنبه 10 مهر 1391, 10:13 صبح
دوست عزیز پی اچ پی هاست شما فکر کنم ورژن پایین باشه وبعضی از متد و توابع این کلاس رو پشتیبانی نمیکنه