العودة   .: Neolgy Network :. > @ نيولجي تطوير المواقع @ > نيولجي لدروس تصميم مواقع الويب

نيولجي لدروس تصميم مواقع الويب القسم يهتم بدروس HTML, XHTML, HTML5, CSS, CSS3


جديد منتدى نيولجي لدروس تصميم مواقع الويب
إضافة رد
 
أدوات الموضوع إبحث في الموضوع انواع عرض الموضوع
رقم المشاركة : ( 1 )
الصورة الرمزية Neolgy
 
Neolgy
.: مؤسس شبكة Neolgy :.

Neolgy غير متواجد حالياً

       
رقم العضوية : 1
تاريخ التسجيل : Jul 2017
مكان الإقامة : Neolgy.com
عدد المشاركات : 505
عدد النقاط : 10
قوة التقييم :
جهات الاتصال :
Awt6 شرح معرفة بيانات زوار موقعك وتتبع حركة تصفحهم للموقع وعمل صفحة المتواجدون في المنتدى

كُتب : [ 12-22-2017 - 04:39 PM ]



إليكم الشرح الحصري والمفصل لكيفية معرفة بيانات زوار موقعك و تتبع حركة تصفحهم للموقع و عمل صفحة ( المتواجد في الموقع )

هذا الشرح حصري لشبكة البعداني ( وغرد قلبي ) Albadani Network
أرجوا أن ينال هذا الشرح المتواضع اعجابكم .. ولنبدأ على بركة الله

في البداية يجب أن نفهم ماذا نريد أن نفعله بالضبط.
من خلال هذا الشرح اهدف إلى أن أوفر البيانات التالية:
1- البيانات الكاملة للزائر ( الأيبي , الدولة , بيانات التصفح ).
2- توفير قاعدة بيانات تحتوي على احصائيات زوار موقعي.
3- معرفة الزوار المتصفحون لموقعي حالياً ( حالياً ساعتبرها من تواجد خلال الـ 10 دقائق الأخيرة )


التخطيط للعمل:
لتنفيذ الأهداف المذكورة أعلاه , فإننا سنحتاج إلى القيام بالأمور التالية:
1- بناء جدول في قاعدة البيانات لحفظ بيانات المتصحفين للموقع.
2- جلب بيانات المتصفحين وحفظها في الجدول.
3- تحليل بيانات المتصحفين وعرضها بالطرق التي نريدها .
4- بناء صفحة online.php


والآن ندخل في المضمون والقيام بالخطوات الأربع السابقة خطوة خطوة
أولاً : بناء الجدول في قاعدة البيانات
لبناء الجدول في قاعدة البيانات , يجب أن نحدد في البداية ماهي البيانات التي سأحتاجها ومبدأياً .. سأقوم بحفظ البيانات التالية , علماً بأنه يمكنك حفظ أي بيانات أخرى تريدها حسب حاجتك:
- الآيبي أدريس ip address
- وقت الزيارة , أخر وقت تواجد فيه الزائر.
- بلد الزائر
- الصفحة التي يستعرضها الزائر حالياً .
- بيانات المستعرض ( المتفصح ).


لعمل الجدول قم بانشاء الحقول التالية :



كود:
id ->>  int ip_address ->> varchar country_code ->> varchar  country_name ->> varchar date ->> varchar time ->>  varchar last_time ->> varchar current_place ->> longtext  system_info ->> longtext

أو قم باستيراد الجدول عبر sql من الكود التالي:

كود:
   -- phpMyAdmin SQL Dump -- version 2.11.2.1 -- http://www.phpmyadmin.net  -- -- المزود: localhost -- أنشئ في: 26 فبراير 2014 الساعة 17:26 --  إصدارة المزود: 5.0.45 --  PHP إصدارة: 5.2.5  SET  SQL_MODE="NO_AUTO_VALUE_ON_ZERO";  -- -- قاعدة البيانات: `test` --  --  --------------------------------------------------------  -- -- بنية  الجدول `visits_info` --  CREATE TABLE `visits_info` (   `id` int(11) NOT  NULL auto_increment,   `ip_address` varchar(20) NOT NULL,    `country_code` varchar(20) NOT NULL,   `country_name` varchar(50) NOT  NULL,   `date` varchar(20) NOT NULL,   `time` varchar(20) NOT NULL,    `last_time` varchar(20) NOT NULL,   `current_place` longtext NOT NULL,    `system_info` longtext NOT NULL,   PRIMARY KEY  (`id`) ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;  -- -- إرجاع أو إستيراد بيانات  الجدول `visits_info` -- 


في النهاية سيكون الجدول كما في الشكل التالي:



يتبع الخطوة التالية...


( منقووول )

رد مع اقتباس
 
 رقم المشاركة : ( 2 )
Neolgy
.: مؤسس شبكة Neolgy :.
الصورة الرمزية Neolgy
رقم العضوية : 1
تاريخ التسجيل : Jul 2017
مكان الإقامة : Neolgy.com
عدد المشاركات : 505
عدد النقاط : 10
قوة التقييم :
جهات الاتصال :

Neolgy غير متواجد حالياً

   

افتراضي رد: شرح معرفة بيانات زوار موقعك وتتبع حركة تصفحهم للموقع وعمل صفحة المتواجدون في المن

كُتب : [ 12-22-2017 - 04:56 PM ]


ثانياً: جلب بيانات المتصفحين وحفظها في الجدول.

في هذه المرحلة سنقوم بجلب بيانات المتصفحين وحفظها في الجدول المخصص لذلك ..
قمت بتقسيم الكود الخاص بهذه المرحلة إلى 4 أقسام رئيسية , بحيث يقوم كل قسم بعمل خطوة معينة من خطوات هذه المرحلة وهي كالتالي:

1- المرحلة 1 جلب رقم الأيبي و تحليل الدولة
الكود لهذه المرحلة هو



كود:
  //====== Part 1 : check and get ip details of the visitor======== if(!isset($_SESSION['IpAddress'])){     //*******************************************First get the Real IP Address of the visitors==== $useragent = $_SERVER['HTTP_USER_AGENT'];// get system info  function getRealIPAddress(){        if(!empty($_SERVER['HTTP_CLIENT_IP'])){         //check ip from share internet         $ip = $_SERVER['HTTP_CLIENT_IP'];     }else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){         //to check ip is pass from proxy         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];     }else{         $ip = $_SERVER['REMOTE_ADDR'];     }     return $ip; }  $_SESSION['IpAddress']=getRealIPAddress(); //====================================// //***************************************** get the details of the IP address function getCountryFull(){     $ip= getRealIPAddress(); // call the function of Geiting The Ip to get the IP real one     $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));         if($ip_data && $ip_data->geoplugin_countryName != null){     $country= $ip_data->geoplugin_countryName;     }     return $country; } //___---+++ Because some servers doesn't support the pervious code, the next one may work better function getLocationInfoByIp($ipaddress){         $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ipaddress));         if($ip_data && $ip_data->geoplugin_countryName != null){             $country= $ip_data->geoplugin_countryName;         }        return $country;     }  function getCountry(){     $ip= getRealIPAddress(); // call the function of Geiting The Ip to get the IP real one     $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));         if($ip_data && $ip_data->geoplugin_countryName != null){     $country= $ip_data->geoplugin_countryCode;     }     return $country; }   //====================================// if (getCountryFull() != null){     $_SESSION['CountryName']=getCountryFull(); } else{     if (getLocationInfoByIp($ip) != null){         $_SESSION['CountryName']=getLocationInfoByIp($ip);         } else{             echo "
Oooh No the 2 second code is Null"; } } if (getCountry() != null){ $_SESSION['CountryCode']=getCountry(); } else{ if (getLocationInfoByIp2($ip) != null){ $_SESSION['CountryCode']=getLocationInfoByIp2($ip); } else{ echo "
Oooh No the 2 second code is Null"; } } } /// end of checking of Session ipaddress //================= End of Part 1 : Albadani Network =====================
وشرح الكود كالتالي:

أولا نقوم بمعرفة الأيبي للزائر , ومعرفة هل هو أيبي حقيقي أم لا عبر الكود هذا


كود:
if(!isset($_SESSION['IpAddress'])){      //*******************************************First get the Real IP  Address of the visitors==== $useragent = $_SERVER['HTTP_USER_AGENT'];//  get system info  function getRealIPAddress(){         if(!empty($_SERVER['HTTP_CLIENT_IP'])){         //check ip from share  internet         $ip = $_SERVER['HTTP_CLIENT_IP'];     }else  if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){         //to check ip is  pass from proxy         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];      }else{         $ip = $_SERVER['REMOTE_ADDR'];     }     return $ip; }   $_SESSION['IpAddress']=getRealIPAddress();
ثم نقوم بتحليل هذا الأيبي
ملاحظة: عملية التحليل ليست بهذه السهولة , لذا تقدم الكثير من المواقع خدمة تحليل الأيبي لمن يرغب بذلك , وهذه المواقع كثيرة وانا قد اخترت لكم احدها , ولكم الحق في اختيار أي موقع اخر أو طرق أخرى حسب رغبتكم
الموقع المستخدم لهذه العملية هو geoPlugin to geolocate your visitors

وللقيام بالتحليل تم اضافة functions لجلب بيانات الدولة , الأولى لجلب الاسم الكامل للدولة , والآخر لجلب الكود الخاص بالدولة , مثلا اليمن اسمها الكامل Yemen والكود تبعها هو Ye وهكذا


كود:
//***************************************** get the details of the IP  address function getCountryFull(){     $ip= getRealIPAddress(); // call  the function of Geiting The Ip to get the IP real one     $ip_data =  @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));          if($ip_data && $ip_data->geoplugin_countryName !=  null){     $country= $ip_data->geoplugin_countryName;     }      return $country; } //___---+++ Because some servers doesn't support the  pervious code, the next one may work better function  getLocationInfoByIp($ipaddress){         $ip_data =  @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ipaddress));          if($ip_data && $ip_data->geoplugin_countryName !=  null){             $country= $ip_data->geoplugin_countryName;          }        return $country;     }  function getCountry(){     $ip=  getRealIPAddress(); // call the function of Geiting The Ip to get the IP  real one     $ip_data =  @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));          if($ip_data && $ip_data->geoplugin_countryName !=  null){     $country= $ip_data->geoplugin_countryCode;     }      return $country; }   //====================================//
وأخيراً .. يتم تنفيذ الفانكشنز و حفظ البيانات في الجسلة , كما يلي

كود:
if (getCountryFull() != null){      $_SESSION['CountryName']=getCountryFull(); } else{     if  (getLocationInfoByIp($ip) != null){          $_SESSION['CountryName']=getLocationInfoByIp($ip);         } else{              echo "
Oooh No the 2 second code is Null"; } } if (getCountry() != null){ $_SESSION['CountryCode']=getCountry(); } else{ if (getLocationInfoByIp2($ip) != null){ $_SESSION['CountryCode']=getLocationInfoByIp2($ip); } else{ echo "
Oooh No the 2 second code is Null"; } } } /// end of checking of Session ipaddress //================= End of Part 1 : Albadani Network =====================
2- المرحلة الثانية هي لحفظ المتغيرات المطلوبة كما يلي

كود:

كود:
 //====== Part 2 : make var to save the data that you want ================ $date=date("d/m/Y"); $time=date("H:i:s"); $ipaddress=$_SESSION['IpAddress']; $CountryName=$_SESSION['CountryName']; $CountryCode=$_SESSION['CountryCode']; echo $date."
".$time."
".$ipaddress."
".$CountryName."
".$CountryCode; //================= End of Part 2 : Albadani Network =====================
أما الثالثة فهي للاتصال بالقاعدة عبر ملف الاتصال cinfg.php كما يلي , مع ملاحظة تغيير مسار المجلد للوصول إلى الملف الصحيح..
كود:
//======  Part 3 : call confg file to make connection to db ===============  require_once("include/confg.php"); //================= End of Part 3 :  Albadani Network =====================


وأخيراً الحفظ في قاعدة البيانات .. حيث في البداية يتم التأكد من الآيبي , هل قد تم حفظ بياناته لهذا اليوم في القاعدة سابقاً .. فإذا كان كذلك فيتم الاكتفاء بتعديل بيانات أخر وقت للزيارة و أيضاً عدد الصفحات التي تم تصفحها, وأخر صفحة تم زياراتها , كما في الكود التالي:
كود:
//====== Part 4 : save the process to the database ===============  if($connect){     $sql="select * from visits_info where date='$date' and  ip_address='$ipaddress'";//check does the ip visi us today?      $query=mysqli_query($connect,$sql);     $rows=mysqli_num_rows($query);          if($rows==0 ){         $sql="INSERT INTO visits_info  (ip_address,system_info,country_name,country_code,date,time,last_time,pages_view,day,month,year,current_place)   values('$ipaddress','$useragent','$CountryName','$CountryCode','$date','$time','$time','1','$dd','$mm','$yy','$what_page')";          $query=mysqli_query($connect,$sql);     }         else{              $sql="update visits_info set pages_view=pages_view+1 ,  last_time='$time' , user_id='$userId' , pervious_place=current_place ,  current_place='$what_page' where date='$date' and  ip_address='$ipaddress'";              $query=mysqli_query($connect,$sql);             } } //=================  End of Part 4 : Albadani Network =====================
ملاحظة : يمكن ولغرض توفير بيانات أكثر عن الصفحات التي تم زيارتها لمعرفة الصفحات الأكثر زيارة , يمكن تحقيق ذلك عن طريق إنشاء جدول أخر لحفظ البيانات الخاصة بذلك , بحيث يتم حفظ البيانات المطلوبة ومثال لها ( الأيبي , التاريخ , الوقت , الصفحة ,وأية بيانات تريدها ) .

في النهاية يصبح الكود الكامل لهذه العملية كما يلي


كود:
geoplugin_countryName != null){     $country= $ip_data->geoplugin_countryName;     }     return $country; } //___---+++ Because some servers doesn't support the pervious code, the next one may work better function getLocationInfoByIp($ipaddress){         $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ipaddress));         if($ip_data && $ip_data->geoplugin_countryName != null){             $country= $ip_data->geoplugin_countryName;         }        return $country;     }  function getCountry(){     $ip= getRealIPAddress(); // call the function of Geiting The Ip to get the IP real one     $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));         if($ip_data && $ip_data->geoplugin_countryName != null){     $country= $ip_data->geoplugin_countryCode;     }     return $country; }   //====================================// if (getCountryFull() != null){     $_SESSION['CountryName']=getCountryFull(); } else{     if (getLocationInfoByIp($ip) != null){         $_SESSION['CountryName']=getLocationInfoByIp($ip);         } else{             echo "
Oooh No the 2 second code is Null"; } } if (getCountry() != null){ $_SESSION['CountryCode']=getCountry(); } else{ if (getLocationInfoByIp2($ip) != null){ $_SESSION['CountryCode']=getLocationInfoByIp2($ip); } else{ echo "
Oooh No the 2 second code is Null"; } } } /// end of checking of Session ipaddress //================= End of Part 1 : Albadani Network ===================== //====== Part 2 : make var to save the data that you want ================ $date=date("d/m/Y"); $time=date("H:i:s"); $ipaddress=$_SESSION['IpAddress']; $CountryName=$_SESSION['CountryName']; $CountryCode=$_SESSION['CountryCode']; echo $date."
".$time."
".$ipaddress."
".$CountryName."
".$CountryCode; //================= End of Part 2 : Albadani Network ===================== //====== Part 3 : call confg file to make connection to db =============== require_once("include/confg.php"); //================= End of Part 3 : Albadani Network ===================== //====== Part 4 : save the process to the database =============== if($connect){ $sql="select * from visits_info where date='$date' and ip_address='$ipaddress'";//check does the ip visi us today? $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); if($rows==0 ){ $sql="INSERT INTO visits_info (ip_address,system_info,country_name,country_code,date,time,last_time,pages_view,day,month,year,current_place) values('$ipaddress','$useragent','$CountryName','$CountryCode','$date','$time','$time','1','$dd','$mm','$yy','$what_page')"; $query=mysqli_query($connect,$sql); } else{ $sql="update visits_info set pages_view=pages_view+1 , last_time='$time' , user_id='$userId' , pervious_place=current_place , current_place='$what_page' where date='$date' and ip_address='$ipaddress'"; $query=mysqli_query($connect,$sql); } } //================= End of Part 4 : Albadani Network ===================== ?>

يتبع الشرح

رد مع اقتباس
 
 رقم المشاركة : ( 3 )
Neolgy
.: مؤسس شبكة Neolgy :.
الصورة الرمزية Neolgy
رقم العضوية : 1
تاريخ التسجيل : Jul 2017
مكان الإقامة : Neolgy.com
عدد المشاركات : 505
عدد النقاط : 10
قوة التقييم :
جهات الاتصال :

Neolgy غير متواجد حالياً

   

Awt6 رد: شرح معرفة بيانات زوار موقعك وتتبع حركة تصفحهم للموقع وعمل صفحة المتواجدون في المن

كُتب : [ 12-22-2017 - 05:06 PM ]


ثالثاً: تحليل بيانات المتصحفين وعرضها بالطرق التي نريدها :

في هذه المرحلة سنحاول عرض البيانات التي حصلنا عليها بعدة طرق , وذلك لتوفر لمدير الموقع البيانات التي يريدها عن متصفحي الموقع الخاص به , علماً بأن الطرق التي سأذكرها ليست جديدة وإنما من باب الإرشاد , ويمكنكم توفير البيانات وعرضها بطرق اخرى بما يلبي احتياجاتكم.
على بركة الله نبدأ..

سأقوم بشرح طريقة توفير البيانات التالية:
1- عدد زوار الموقع إجمالاً , وزوارنا لهذا اليوم وللأمس ,زوارنا لهذا الشهر , ولأخر عشر دقائق .
2- تحليل الزيارات إلى زيارات فعلية , وزيارات محركات البحث .
3- عدد الزوار بحسب الدولة.

لنبدأ بذلك..
عدد زوار الموقع إجمالاً ..
نقوم بالاستعلام التالي وطباعة النتيجة التي سيتم حفظها في متغير .. كما في الكود التالي:



كود:
//===1=== our visitors  $sql="select * from visits_info";     $query=mysqli_query($connect,$sql);     $rows=mysqli_num_rows($query); echo "زوارنا :".$rows."
";




عدد الزوار لهذا اليوم وفق الكود التالي


كود:
//===2=== who has visited us today $date_today=date("d/m/Y"); $sql="select * from visits_info where date='$date_today'";     $query=mysqli_query($connect,$sql);     $rows=mysqli_num_rows($query); echo "زوارنا لهذا اليوم:".$rows."
";



عدد زوارنا البارحة
في البداية يجب أن نعرف ما هو تاريخ البارحة , حيث يتم الاخذ بعين الاعتبار عدة اعتبارات هامة عند تحديد التاريخ كما يلي
- هل البارحة هو في نفس هذا الشهر أم في شهر مختلف
- هل هذا الشهر يقع في نفس هذه السنة أم لا
- وهل الشهر السابق عدد أيامه 30 أو 31 أم 28 أو حتى 29 ..
ولحل هذه المشكلة يتم معرفة تاريخ البارحة وفق الكود التالي:



كود:
//===3=== who did visit us yesterday //get the date of yesterday $d=date("d"); $d=$d+1-1; $m=date("m"); $m=$m+1-1; $y=date("Y"); //$d=1; //$m=5; //$y=2032;  if($d==1){//هل التاريخ 1     if($m==1){//هل الشهر 1         $m=12;         $d=31;         $y=$y-1;         } else{//الشهر ليس 1             if($m==3){//هل الشهر الحالي هو مارس                 if($y=='2012' or $y=='2016' or $y=='2020' or $y=='2024' or $y=='2028' or $y=='2032' ){// هل السنة كبيسه                     $d=29;                     $m=2;                     } else{// السنة ليست كبيسة                         $d=28;                         $m=2;                         }                 } else {//الشهر الحالي ليس مارس                     if($m=='2' or $m=='4' or $m=='6' or $m=='8' or $m=='9' or $m=='11'){//هل الشهر الحالي قبله شهر أيامه 31 يوم                         $d=31;                         $m=$m-1;                         } else{//الشهر الحالي قبله شهر أيامه 30 يوم فقط                             $d=30;                             $m=$m-1;                             }                     }             }     } else{//التاريخ ليس 1         $d=$d-1;         } if($d<10){     $d="0".$d;     } if($m<10){     $m="0".$m;     } $yesterday=$d."/".$m."/".$y; //echo "Yesterday is:".$yesterday."
"; $sql="select * from visits_info where date='$yesterday'"; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "زوارنا البارحة:".$rows."
";



ولمعرفة زوارنا لهذا الشهر


كود:
$pervious_month="/".$m."/".$y; $sql="select * from visits_info where date like '%$pervious_month'";     $query=mysqli_query($connect,$sql);     $rows=mysqli_num_rows($query); echo "زوارنا هذا الشهر:".$rows."
";



أما اخر من زارنا خلال العشر الدقائق الماضية فالكود التالي يتولى المهمة .. مع ملاحظة ضرورة الاخذ بعين الاعبتار ان العشر الدقائق قد تكون في ضمن الساعة الحالية أو الساعة السابقة .. ( الله يعين )



كود:
//===4=== who did visit us 10 miniutes earlier $date=date("d/m/Y"); $H_=date("H"); $M_=date("i"); if($M_<10){     $lost=10-$M_;     if(!$H_<1){         $new_m=60-$lost;         if($H_<11){//finding the correct Hour form             $new_h=$H_-1;             $new_h="0".$new_h;             }else{                 $new_h=$H_-1;                 }//end H<11                  $last_time=date("$new_h:$new_m:00");         } else{//else H_>1             $last_time=date("H:00:00");             }//End H_>1               } else{//else $M_<10         $new_m=$M_-10;         $last_time=date("H:$new_m:00");         }// end $M_<10 //echo $last_time."
"; $sql="select * from visits_info where date='$date' and last_time>'$last_time'"; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "
عدد الزوار خلال العشر الدقائق الأخيرة:".$rows;



وهنا كيف نعرف هل الزائر هو زائر حقيقي أو بوت ( عناكب ) .. مع ملاحظة أنه يمكنك جعل البحث أكثر دقة بإضافة بياناات العناكب التي لم أذكرها باضافة متغيرات لكل عناكب و اضافتها أيضاً في كود الاستعلام ..


كود:
//===5=== our visitors are bot or real visitors $type1="msnbot"; $type2="bot"; $type3="google"; $type4="facebookexternalhit"; $type5="bingbot";  $sql="select * from visits_info where system_info like '%$type1%' or system_info like '%$type2%' or system_info like '%$type3%' or system_info like '%$type4%' or system_info like '%$type5%' "; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "
محركات البحث:".$rows;



وهنا معرفة عدد الزوار من دولة معينة



كود:
//===6=== from specific country $country_code="YE"; $sql="select * from visits_info where country_code='$country_code'"; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "
دولة معينة:".$rows;



وأخيراً .. اظهار الدولة وعدد الزوار من تلك الدولة كما في الكود التالي:


كود:
//===7=== from all country $sql="select DISTINCT country_name from visits_info"; $query=mysqli_query($connect,$sql);     while($rows=mysqli_fetch_array($query)){         $scountry=$rows['country_name'];         $sql2="select * from visits_info where country_name='$scountry'";         $query2=mysqli_query($connect,$sql2);         $h_rows=mysqli_num_rows($query2);         echo "
".$scountry." -->>".$h_rows; }



رابعاً : تصميم صفحة المتواجدون الآن ..
فيمكن ووفق الأكواد اعلاه , يمكن إضافة بعض التأثيرات كما يلي
1- وضع الأكواد اعلاه في داخل div ولنسميه result مثلاً:
اضافة كود css أعلى الصفحة كما يلي



كود:



في النهاية ستكون النتيجة كما في الصورة



والكود النهائي والكلي للملف كما يلي



كود:
?php session_start(); ?>      Online.php | Albadani Network     geoplugin_countryName != null){     $country= $ip_data->geoplugin_countryName;     }     return $country; } //___---+++ Because some servers doesn't support the pervious code, the next one may work better function getLocationInfoByIp($ipaddress){         $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ipaddress));         if($ip_data && $ip_data->geoplugin_countryName != null){             $country= $ip_data->geoplugin_countryName;         }        return $country;     }  function getCountry(){     $ip= getRealIPAddress(); // call the function of Geiting The Ip to get the IP real one     $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));         if($ip_data && $ip_data->geoplugin_countryName != null){     $country= $ip_data->geoplugin_countryCode;     }     return $country; }   //====================================// if (getCountryFull() != null){     $_SESSION['CountryName']=getCountryFull(); } else{     if (getLocationInfoByIp($ip) != null){         $_SESSION['CountryName']=getLocationInfoByIp($ip);         } else{             echo "
Oooh No the 2 second code is Null"; } } if (getCountry() != null){ $_SESSION['CountryCode']=getCountry(); } else{ if (getLocationInfoByIp2($ip) != null){ $_SESSION['CountryCode']=getLocationInfoByIp2($ip); } else{ echo "
Oooh No the 2 second code is Null"; } } } /// end of checking of Session ipaddress //================= End of Part 1 : Albadani Network ===================== //====== Part 2 : make var to save the data that you want ================ $date=date("d/m/Y"); $time=date("H:i:s"); $ipaddress=$_SESSION['IpAddress']; $CountryName=$_SESSION['CountryName']; $CountryCode=$_SESSION['CountryCode']; //echo $date."
".$time."
".$ipaddress."
".$CountryName."
".$CountryCode."
"; //================= End of Part 2 : Albadani Network ===================== //====== Part 3 : call confg file to make connection to db =============== require_once("include/confg.php"); //================= End of Part 3 : Albadani Network ===================== //====== Part 4 : save the process to the database =============== if($connect){ $sql="select * from visits_info where date='$date' and ip_address='$ipaddress'";//check does the ip visi us today? $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); if($rows==0 ){ $sql="INSERT INTO visits_info (ip_address,system_info,country_name,country_code,date,time,last_time,pages_view,day,month,year,current_place) values('$ipaddress','$useragent','$CountryName','$CountryCode','$date','$time','$time','1','$dd','$mm','$yy','$what_page')"; $query=mysqli_query($connect,$sql); } else{ $sql="update visits_info set pages_view=pages_view+1 , last_time='$time' , user_id='$userId' , pervious_place=current_place , current_place='$what_page' where date='$date' and ip_address='$ipaddress'"; $query=mysqli_query($connect,$sql); } } //================= End of Part 4 : Albadani Network ===================== ?>
"; //===2=== who has visited us today $date_today=date("d/m/Y"); $sql="select * from visits_info where date='$date_today'"; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "زوارنا لهذا اليوم:".$rows."
"; //===3=== who did visit us yesterday //get the date of yesterday $d=date("d"); $d=$d+1-1; $m=date("m"); $m=$m+1-1; $y=date("Y"); //$d=1; //$m=5; //$y=2032; if($d==1){//هل التاريخ 1 if($m==1){//هل الشهر 1 $m=12; $d=31; $y=$y-1; } else{//الشهر ليس 1 if($m==3){//هل الشهر الحالي هو مارس if($y=='2012' or $y=='2016' or $y=='2020' or $y=='2024' or $y=='2028' or $y=='2032' ){// هل السنة كبيسه $d=29; $m=2; } else{// السنة ليست كبيسة $d=28; $m=2; } } else {//الشهر الحالي ليس مارس if($m=='2' or $m=='4' or $m=='6' or $m=='8' or $m=='9' or $m=='11'){//هل الشهر الحالي قبله شهر أيامه 31 يوم $d=31; $m=$m-1; } else{//الشهر الحالي قبله شهر أيامه 30 يوم فقط $d=30; $m=$m-1; } } } } else{//التاريخ ليس 1 $d=$d-1; } if($d<10){ $d="0".$d; } if($m<10){ $m="0".$m; } $yesterday=$d."/".$m."/".$y; //echo "Yesterday is:".$yesterday."
"; $sql="select * from visits_info where date='$yesterday'"; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "زوارنا البارحة:".$rows."
"; $pervious_month="/".$m."/".$y; $sql="select * from visits_info where date like '%$pervious_month'"; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "زوارنا هذا الشهر:".$rows."
"; //===4=== who did visit us 10 miniutes earlier $date=date("d/m/Y"); $H_=date("H"); $M_=date("i"); if($M_<10){ $lost=10-$M_; if(!$H_<1){ $new_m=60-$lost; if($H_<11){//finding the correct Hour form $new_h=$H_-1; $new_h="0".$new_h; }else{ $new_h=$H_-1; }//end H<11 $last_time=date("$new_h:$new_m:00"); } else{//else H_>1 $last_time=date("H:00:00"); }//End H_>1 } else{//else $M_<10 $new_m=$M_-10; $last_time=date("H:$new_m:00"); }// end $M_<10 //echo $last_time."
"; $sql="select * from visits_info where date='$date' and last_time>'$last_time'"; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "
عدد الزوار خلال العشر الدقائق الأخيرة:".$rows; //===5=== our visitors are bot or real visitors $type1="msnbot"; $type2="bot"; $type3="google"; $type4="facebookexternalhit"; $type5="bingbot"; $sql="select * from visits_info where system_info like '%$type1%' or system_info like '%$type2%' or system_info like '%$type3%' or system_info like '%$type4%' or system_info like '%$type5%' "; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "
محركات البحث:".$rows; //===6=== from specific country $country_code="YE"; $sql="select * from visits_info where country_code='$country_code'"; $query=mysqli_query($connect,$sql); $rows=mysqli_num_rows($query); echo "
دولة معينة:".$rows; //===7=== from all country $sql="select DISTINCT country_name from visits_info"; $query=mysqli_query($connect,$sql); while($rows=mysqli_fetch_array($query)){ $scountry=$rows['country_name']; $sql2="select * from visits_info where country_name='$scountry'"; $query2=mysqli_query($connect,$sql2); $h_rows=mysqli_num_rows($query2); echo "
".$scountry." -->>".$h_rows; } ?>


أتمنى انكم استفدتم من الشرح
وفي الاخير لا تنسوني من صالح دعائكم
والسلام عليكم ورحمة الله وبركاته
منقول من الأخ /محمد البعداني .. اليمن

رد مع اقتباس
 
 رقم المشاركة : ( 4 )
medo
.: نيولجي مشارك :.
الصورة الرمزية medo
رقم العضوية : 24
تاريخ التسجيل : Dec 2017
مكان الإقامة :
عدد المشاركات : 35
عدد النقاط : 10
قوة التقييم :
جهات الاتصال :

medo غير متواجد حالياً

   

افتراضي رد: شرح معرفة بيانات زوار موقعك وتتبع حركة تصفحهم للموقع وعمل صفحة المتواجدون في المن

كُتب : [ 01-22-2018 - 09:43 AM ]


فكرة جبارة والله


رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
نيولجي , المواقع , تطوير , شرح


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع إبحث في الموضوع
إبحث في الموضوع:

البحث المتقدم
انواع عرض الموضوع

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

BB code is متاحة
كود [IMG] متاحة
كود HTML متاحة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
foxpush وداعاً لخسارة زوار موقعك جرب الآن تنبيهات المواقع Neolgy نيولجي تطوير المواقع 2 01-26-2018 09:21 PM
[ Product ] هاك اظهار الضيوف مع المتواجدون الآن Neolgy نيولجي تطوير منتديات vBulletin 1 01-11-2018 08:53 PM
التنمية البشرية وعلم الاجتماع مع الدكتور ابراهيم الفقي Madara King نيولجي العام هنا نلتقي لنرتقي 0 01-04-2018 09:23 PM
foxpush وداعاً لخسارة زوار موقعك جرب الآن تنبيهات المواقع Neolgy @ نيولجي تطوير المواقع @ 0 12-14-2017 03:35 PM
[اشهر موقعك]اضف موقعك في جميع محركات البحث العالميه .. مجانا Neolgy.com @ نيولجي تطوير المواقع @ 0 12-06-2017 02:45 AM


الساعة الآن 11:16 AM


Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. TranZ By Almuhajir
حقوق النشر محفوظة .: Neolgy Network :.
جميع الحقوق محفوظة لشبكة نيولجي تصميم النور اونلاين لخدمات الويب المتكاملة
Free promotion
Submit Your Site To The Web's Top 50 Search Engines for Free!