تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: Jan 2008-
#1 (permalink)  
كلاس : لحساب عدد زوار موقعك بالايبي و كذلك احصائيات زوار اليوم و الشهر و العام


بسم الله الرحمن الرحيم

وددت ان اعرض عليكم كلاس من برمجتى بالكامل لحساب عدد زوار موقعك بالايبي و كذلك احصائيات زوار اليوم و الشهر و العام و فكرته بسيطة جدا و مفيدة للمبتدئين امثالى بلغة php و ساشرحها لكم بالتفصيل على الكود

اولا : قم بتنفيذ هذا الامر لقاعدة البيانات و هو يمثل انشاء جدول يحوى ايبي الزائر و يوم و شهر و سنة و وقت دخوله للموقع الخاص بك كما يلي :

كود:
-----------------------------------------------------------------------------+
| Table   | Create Table                                                              |
+---------+------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
-----------------------------------------------------------------------------+
| counter | CREATE TABLE `counter` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(100) default NULL,
  `day` int(11) default NULL,
  `month` int(11) default NULL,
  `year` year(4) default NULL,
  `time` varchar(100) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  |
+---------+------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
-----------------------------------------------------------------------------+
ثانيا : الكلاس و شرحه موجود داخل اسطر الكلاس و يجب عليك ان تعدل بينات قاعدة البيانات الخاصة بك اولا قبل البدء فى تشغيله و سم الملف : count.class.php

كود PHP:

<?php

/**
 *
 * كلاس متقدم لحساب الزوار و الزيارات و احصائياتهما
 *
 * يقوم هذا الكلاس بحساب عدد زوار موقعك من خلال الايبي الخاص بهم 
 * و كذلك يقوم باستخراج احصائيات كاملة عنهم .
 *
 * @المبرمج    عبدالله محمد ضياء الدين
 * @الاصدارة   0,01 بيتا
 * @الترخيص  مجانى
 * @القسم   عداد زوار
 * @مثال   example.php
 * @أنشئ     17/5/2008 يوم السبت
 **/


class counter
{

    
/**
     * المعلومات الخاصة بالاتصال بقاعدة البيانات.
     *
     * @vars     string
     * @access  private
     **/
    
var $db_HOST "localhost"//ادخل المستضيف
    
var $db_USER "root"// ادخل اسم المستخدم لقاعدة البيانات
    
var $db_PASS ""// الرقم السري لقاعدة البيانات
    
var $db "counter"//اسم قاعدة البيانات
    
var $dbc;


    
/**
     * جلب أيبي الزائر
     *
     * @vars     string
     * @access  private
     **/
    
var $ip;


    
/**
     * جلب اليوم
     *
     * @vars     string
     * @access  public
     **/
    
var $day;


    
/**
     * جلب السنة
     *
     * @vars     string
     * @access  public
     **/
    
var $year;


    
/**
     * جلب الشهر
     *
     * @vars     string
     * @access  public
     **/
    
var $month;


    
/**
     * جلب الوقت
     *
     * @vars     string
     * @access  public
     **/
    
var $time;


    
///////////////////////////////////////////////////////////////////
    /**
     * Constructor
     * دالة البناء للكلاس
     * @access  public
     **/
    
function counter()
    {
        
$this->ip getenv('REMOTE_ADDR');
        
$this->day date('d');
        
$this->month date('m');
        
$this->year date('Y');
        
$this->time time();
        
// استدعاء لدالة الاتصال بقاعدة البيانات
        
$this->connect_db();
    }
    
///////////////////////////////////////////////////////////////////
    /**
     * دالة الاتصال بقاعدة البيانات
     *
     * @access  private
     **/
    
function connect_db()
    {
        
$this->dbc = @mysql_connect($this->db_HOST$this->db_USER$this->db_PASS) or
            die(
"open <b>count.class.php</b> and edit your database informaion ");
        
$m = @mysql_select_db($this->db$this->dbc);
        return (
$dbc);
    }
    
///////////////////////////////////////////////////////////////////
    /**
     * دالة للتحقق من ايبي الزائر و ادخال بياناته لقاعدة البيانات ليتم حسابها
     *
     * @access  public
     **/
    
function check_insert()
    {
        
//البحث داخل قادة البيانات للتاكد من ان اىبي الزائر لم يدخل مسبقا طوال هذا اليوم
        
$query "select * from counter;";
        
$result mysql_query($query$this->dbc);
        
$num mysql_num_rows($result);
        
$check "select * from counter where ip='$this->ip' and day ='$this->day' and month='$this->month' and year='$this->year';";
        
$result2 mysql_query($check$this->dbc);
        
$num2 mysql_num_rows($result2);
        
//ان كانت بيانات الزائر موجودة من قبل اغلق الاتصال بالقاعدة
        
if ($num2 != 0)
        {
            
mysql_close($this->dbc);
            exit();
        }
        
//ادخال بينات الزائر كاملة لقاعدة البيانات
        
$insert "insert into counter (ip,day,month,year,time) values('$this->ip','$this->day','$this->month','$this->year','$this->time')";
        
mysql_query($insert$this->dbc);
    }
    
///////////////////////////////////////////////////////////////////
    /**
     * دالة لحساب اجمالة زوار موقعك عن طريق الايبي الخاص بكل شخص
     *
     * @access  public
     **/
    
function all_visit()
    {
        
//اختيار الايبيهات المختلفة بقاعدة البيانات و حساب عددها
        
$select "SELECT DISTINCT * FROM counter GROUP BY ip;";
        
$result mysql_query($select$this->dbc);
        echo 
mysql_num_rows($result);
    }
    
///////////////////////////////////////////////////////////////////
    /**
     * دالة لحساب اجمالى زوار موقعك هذا اليوم
     *
     * @access  public
     **/
    
function visit_today()
    {
        
//اختيار الصفوف التى تطابق تاريخ اليوم
        
$select "select * from counter where day ='$this->day' and month='$this->month' and year='$this->year'";
        
$result mysql_query($select$this->dbc);
        echo 
mysql_num_rows($result);
    }
    
///////////////////////////////////////////////////////////////////
    /**
     * دالة لحساب احمالى زوار موقعك هذا الشهر
     *
     * @access  public
     **/
    
function visit_month()
    {
        
//اختيار الصفوف التى تطابق هذا الشهر و العام و مختلفة الايبي
        
$select "select DISTINCT * from counter where month ='$this->month' and year='$this->year' GROUP BY ip;";
        
$result mysql_query($select$this->dbc);
        echo 
mysql_num_rows($result);
    }
    
///////////////////////////////////////////////////////////////////
    /**
     * دالة لحساب اجمالى زوار موقعك هذا العام
     *
     * @access  public
     **/
    
function visit_year()
    {
        
//اختيار الصفوف التى تطابق العام و مختلفة الايبي
        
$select "select DISTINCT * from counter where year ='$this->year' GROUP BY ip;";
        
$result mysql_query($select$this->dbc);
        echo 
mysql_num_rows($result);
    }
    
///////////////////////////////////////////////////////////////////
    /**
     * دالة لحساب اجمالى زياراتك للموقع
     *
     * @access  public
     **/
    
function visit_u()
    {
        
//اختيار كافة الصفوف التى تحوى الايبي الخاص بالزائر
        
$select "select * from counter where ip ='$this->ip'";
        
$result mysql_query($select$this->dbc);
        echo 
mysql_num_rows($result);
    }
    
///////////////////////////////////////////////////////////////////
    /**
     * دالة لاغلاق الاتصال بقاعدة البيانات بعد تنفيذ الاستعلامات بالاعلى
     *
     * @access  public
     **/
    
function close_db()
    {
        
//اغلاق الاتصال بقاعدة البيانات
        
$this->dbc mysql_close($this->dbc);
    }
}


?>
ثالثا طريقة الاستعمال كما هو موضح بالكود التالى :

كود PHP:
<?php
//استدعاء كلاس الخاص بعداد الزوار
require_once('count.class.php');
// ادخال الكلاس داخل المتغير count
$count = new counter ;
// حساب اى من عدد الزوار فى اى وقت
echo "<html dir='rtl' encoding='windows-1256'>";
echo 
"<b>اجمالى الزوار</b> : ";
$count->all_visit();
echo 
"<br /><b>زوار اليوم</b> : ";
$count->visit_today();
echo 
"<br /><b>عدد زوار الشهر</b> : ";
$count->visit_month();
echo 
"<br /><b>عدد زوار السنة</b> : ";
$count->visit_year();
echo 
"<br /><b>عدد زياراتك</b> : ";
$count->visit_u();
echo 
"</html>";
// عمل فحص للقاعدة و ادخال بيانات الزائر
// ******* يجب ان يكون استدعاء هذه الدالة بعد الاحصائيات  و ليس قبلها
$count->check_insert();
// اغلاق الاتصال بقاعدة البيانات
$count->close_db();
?>
و الكلاس بالكامل مع المثال مرفق مع الموضوع
فى امان الرحمن






الملفات المرفقة
نوع الملف: zip counter.zip‏ (2.7 كيلوبايت, المشاهدات 170)

التعديل الأخير تم بواسطة : drabdalla بتاريخ 18-05-2008 الساعة 11:56 AM.
drabdalla غير متواجد حالياً   قديم 18-05-2008, 11:54 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jun 2005-
#2 (permalink)  

اولا تسلم الايادى - وبارك الله فيك - ثم جعلها الله فى ميزان حسناتك

سؤال : لو تكرمت طريقة التركيب يعنى انا هرفع الملفات عادى طيب اية الكود الى هحطة فى الصفحة علشان يعرض عدد زوار اليوم والشهر والعام ؟






__________________

GoThebest
أذهب للأفضل >>> قريباً

http://www.gothebest.net

Email : Sales@SolQin.com
tntawyhost غير متواجد حالياً   قديم 18-05-2008, 05:10 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jan 2008-
#3 (permalink)  

هذا هو الكود الذى تضعه فى الصفحة اخى الكريم لعرض كل البيانات و كذلك حساب دخول الزائر
كود PHP:
   <?php
//استدعاء كلاس الخاص بعداد الزوار
require_once('count.class.php');
// ادخال الكلاس داخل المتغير count
$count = new counter ;
// حساب اى من عدد الزوار فى اى وقت
echo "<html dir='rtl' encoding='windows-1256'>";
echo 
"<b>اجمالى الزوار</b> : ";
$count->all_visit();
echo 
"<br /><b>زوار اليوم</b> : ";
$count->visit_today();
echo 
"<br /><b>عدد زوار الشهر</b> : ";
$count->visit_month();
echo 
"<br /><b>عدد زوار السنة</b> : ";
$count->visit_year();
echo 
"<br /><b>عدد زياراتك</b> : ";
$count->visit_u();
echo 
"</html>";
// عمل فحص للقاعدة و ادخال بيانات الزائر
// ******* يجب ان يكون استدعاء هذه الدالة بعد الاحصائيات  و ليس قبلها
$count->check_insert();
// اغلاق الاتصال بقاعدة البيانات
$count->close_db();
?>
و الكود الذى تضعه بالصفحة او بالفوتر لحساب الزوار فقط

كود PHP:
   <?php
//استدعاء كلاس الخاص بعداد الزوار
require_once('count.class.php');
// ادخال الكلاس داخل المتغير count
$count = new counter ;
$count->check_insert();
// اغلاق الاتصال بقاعدة البيانات
$count->close_db();
?>






drabdalla غير متواجد حالياً   قديم 18-05-2008, 05:27 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
خدمة احصائيات موقعك من العداد العربي .. Mr.php-ar تطوير الويب 46 16-10-2005 04:54 PM
دليلك كيف تشهر موقعك على الإنترنت wael2 تطوير الويب 16 15-10-2005 01:11 AM
هاك (عدد الاعضاء اليوم ،عدد المواضيع اليوم ،عدد المشاركات اليوم ، عدد الزوار اليوم ) الصم إصلاح وصيانة المنتديات 2 18-01-2005 02:02 PM
مشكله اخلاقيه (مطلوب رأيكم) LATE قسم تبادل خبرات الاستضافة 30 12-05-2003 04:53 AM
هل تود الحصول على احصائيات حول حركة زوار موقعك بشكل دقيق ومفصل hamudi تطوير الويب 0 27-08-2002 11:10 PM


الساعة الآن: 09:27 AM بتوقيت المملكة العربية السعودية