هلدینگ وهام



دریافت آمار وب سایت با PHP، jQuery و MySQL


Rate this sourcecode

دریافت آمار وب سایت با استفاده از PHP، jQuery و MySQL ، مشاهده اطلاعات بازدید کنندگان و اطلاعات یک سایت با کدنویسی و برنامه نویسی … آمار وب‌ سایت‌ ها مانند کل بازدیدکنندگان، کل بازدیدکنندگان آنلاین، کل بازدید از صفحه و غیره داده‌های بسیار مفیدی هستند که هر صاحب وب‌سایت باید از همه این‌ها سابقه داشته باشد تا بداند سایت شما چگونه کار می‌کند، چه تعداد بازدیدکننده آنلاین هستند، چه تعداد بازدیدکننده از وب‌سایت شما به ازای هر کدام دریافت می‌کند. روز یا ماه

معمولاً صاحبان وب سایت از کتابخانه های خارجی یا سایر وب سایت های آمار وب برای به دست آوردن رکورد وب سایت استفاده می کنند و برخی از آنها از روش خود برای به دست آوردن آمار وب سایت استفاده می کنند اگر شما نیز می خواهید آمار وب سایت را با استفاده از روش خود به دست آورید پس این آموزش قطعاً برای شما مفید خواهد بود.

در این آموزش به شما نشان خواهیم داد که چگونه می توانید آمار وب سایت را با استفاده از PHP، jQuery و MySQL بدست آورید. همچنین ممکن است بخواهید جزئیات بازدیدکنندگان را با استفاده از PHP دریافت کنید.

برای دریافت آمار وب سایت فقط دو مرحله طول می کشد:

  1. یک فایل PHP بسازید و نشانه گذاری و اسکریپت را تعریف کنید.
  2. یک فایل CSS بسازید و یک استایل تعریف کنید.

مرحله 1. یک فایل PHP بسازید و نشانه گذاری و اسکریپت را تعریف کنید.
یک فایل PHP درست می کنیم و با نام statistics.php ذخیره می کنیم.

				
					// Database Structure 
CREATE TABLE 'total_visitors' (
 'id' int NOT NULL,
 'session' text NOT NULL,
 'time' int NOT NULL,
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

CREATE TABLE 'pageviews' (
 'id' int NOT NULL,
 'page' text NOT NULL,
 'ip' text NOT NULL,
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

CREATE TABLE 'articles' (
 'id' int NOT NULL,
 'title' text NOT NULL,
 'link' int NOT NULL,
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

<?php
session_start();
$_SESSION['session']=session_id();

$host="localhost";
$username="root";
$password="";
$databasename="sample";
$connect=mysql_connect($host,$username,$password);
$db=mysql_select_db($databasename);

function total_online()
{
 $current_time=time();
 $timeout = $current_time - (60);

 $session_exist = mysql_query("SELECT session FROM total_visitors WHERE session='".$_SESSION['session']."'");
 $session_check = mysql_num_rows($session_exist);

 if($session_check==0 && $_SESSION['session']!="")
 {
  mysql_query("INSERT INTO total_visitors values ('','".$_SESSION['session']."','".$current_time."')");
 }
 else
 {
  $sql = mysql_query("UPDATE total_visitors SET time='".time()."' WHERE session='".$_SESSION['session']."'");
 }

 $select_total = mysql_query("SELECT * FROM total_visitors WHERE time>= '$timeout'");
 $total_online_visitors = mysql_num_rows($select_total);
 return $total_online_visitors;
}

if(isset($_POST['get_online_visitor']))
{
 $total_online=total_online();
 echo $total_online;
 exit();
}
?>

<html>
<head>
<link href="statistics_style.css" type="text/css" rel="stylesheet"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
setInterval(function()
{ 
 $.ajax
 ({
 type:'post',
 url:'',
 data:{
  get_online_visitor:"online_visitor",
 },
 success:function(response) {
 if(response!="")
 {
  $("#online_visior_val").html(response);
 }
 }
 });
}, 10000)
}); 
</script>
</head>
<body>
<div id="wrapper">

<?php

// To Get Total Online Visitors
$total_online_visitors=total_online();

// To Get Total Visitors
$total_visitors = mysql_query("SELECT * FROM total_visitors");
$total_visitors = mysql_num_rows($total_visitors);

// To Insert Page View And Select Total Pageview
$user_ip=$_SERVER['REMOTE_ADDR'];
$page=$_SERVER['PHP_SELF'];
mysql_query("insert into pageviews values('','$page','$user_ip')");
$pageviews = mysql_query("SELECT * FROM pageviews");
$total_pageviews = mysql_num_rows($pageviews);

//To Get Total Articles
$articles = mysql_query("SELECT * FROM articles");
$total_articles = mysql_num_rows($articles);
?>

<div id="stat_div">
<li><p>Total Visitors</p><br><span><?php echo $total_visitors;?></span></li>
<li><p>Visitors Online</p><br><span id="online_visior_val"><?php echo $total_online_visitors;?></span></li>
<li><p>Total Pageviews</p><br><span><?php echo $total_pageviews;?></span></li>
<li><p>Total Articles</p><br><span><?php echo $total_articles;?></span></li>
</div>

</div>
</body>
</html>
				
			

در این مرحله ما سه جدول پایگاه داده ‘total_visitors’، ‘pageviews’ و ‘articles’ ایجاد می کنیم.

مجموع بازدیدکنندگان و کل بازدیدکنندگان آنلاین را از پایگاه داده اول دریافت می کنیم، کل بازدید از صفحه را از پایگاه دوم دریافت می کنیم و کل مقالات منتشر شده در وب سایت را از پایگاه سوم با وارد کردن تمام داده های مورد نیاز مقالات خود در جدول مقالات دریافت می کنیم.

همچنین ممکن است دوست داشته باشید زمان بارگذاری صفحه را با استفاده از PHP دریافت کنید.

برای به دست آوردن مجموع بازدیدکنندگان آنلاین، تابع “total_online” را در زیر این تابع ایجاد می کنیم، زمان فعلی را می گیریم و 60 را از زمان فعلی کم می کنیم، زیرا می خواهیم بازدیدکنندگان آنلاین دقیقی داشته باشیم، هر چه زمان کوچکتر دقیق تر باشد، سپس از تابع session_id() استفاده می کنیم. برای ایجاد یک جلسه برای کاربر و درج متغیر session برای استفاده بیشتر.

اکنون پایگاه داده را پرس و جو می کنیم و بررسی می کنیم که آیا این شناسه جلسه در پایگاه داده ما وجود دارد یا خیر و اگر شناسه جلسه در پایگاه داده وجود ندارد، به این معنی است که کاربر فقط صفحه وب ما را باز کرده است، سپس شناسه کاربر را با زمان فعلی در پایگاه داده ‘total_visitors’ خود وارد می کنیم. جدول، اگر شناسه جلسه در پایگاه داده ما وجود داشته باشد به این معنی است که کاربر از قبل آنلاین است، سپس زمان را به زمان فعلی به روز می کنیم.

اکنون برای به دست آوردن همه بازدیدکنندگان آنلاین، از منطق بسیار ساده استفاده می کنیم، تمام جلساتی را انتخاب می کنیم که بین زمان فعلی و زمان درج شده کمتر از 60 ثانیه اختلاف دارند تا دقیق ترین بازدیدکنندگان آنلاین را به دست آوریم.

ما از این منطق استفاده می کنیم زیرا اگر زمان بیش از 60 ثانیه باشد به این معنی است که کاربر به احتمال زیاد وب سایت را ترک می کند.

ما از تابع ajax برای فراخوانی این تابع استفاده می‌کنیم و بازدیدکننده آنلاین را در هر 10 ثانیه بررسی می‌کنیم و همیشه این تابع زمان جلسه را به زمان فعلی به‌روزرسانی می‌کند، بنابراین اگر اختلاف بیش از 60 ثانیه باشد، به این معنی است که کاربر آنلاین نیست.

همچنین ممکن است دوست داشته باشید کاربر را از وب سایت با استفاده از PHP مسدود کنید.

مرحله 2. یک فایل CSS بسازید و یک استایل تعریف کنید
یک فایل CSS می سازیم و با نام statistics_style.css ذخیره می کنیم.

				
					body
{
 margin:0 auto;
 padding:0px;
 text-align:center;
 width:100%;
 font-family: "Myriad Pro","Helvetica Neue",Helvetica,Arial,Sans-Serif;
 background-color:#A9BCF5;
}
#wrapper
{
 margin:0 auto;
 padding:0px;
 text-align:center;
 width:995px;
}
#stat_div li
{
 list-style-type:none;
 display:inline-block;
 color:#084B8A;
 margin:20px;
 font-weight:bold;
}
#stat_div li p
{
 font-size:30px;
}
#stat_div li span
{
 padding:40px;
 background-color:#084B8A;
 color:white;
 border-radius:50%;
 font-size:30px;
}
				
			

این همه چیز است، این نحوه دریافت آمار وب سایت با استفاده از PHP، jQuery و MySQL است. شما می توانید این کد را بر اساس نیاز خود بیشتر سفارشی کنید. و لطفاً نظرات خود را در مورد این آموزش بیان کنید.

دسته بندی پروژه :



دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *