عداد للزوار يعتمد على Php و mysql
عداد Counter
حسنا فكرة صناعة عداد بسيطة نوعا ما و انت لا تحتاج إلى برامج خيالية و معقدة لتقوم بذلك يمكنك تصميم برنامجك الخاص .
ما سنقوم به عداد يحدد الزائر .. فلا يمكننا الاعتماد على عدد مرات عرض الصفحات فمثلا يمكن لنفس الزائر ان يدخل عدد من الصفحات في موقعك و يعود إلى الصفحة الرئيسية و في كل مرة يتم احتسابه كزائر منفصل . قد تبدو الفكرة جذابةلبعض مدراء المواقع و الذين يريدون أن يعتقد الناس أن موقعهم مشهور لكن واجه الأمر الغرض أن تعرف أن عدد زوار موقعك الحقيقين و ليس الوهمين..
لذلك سنعتمد على نظام الجلسات Session و لن نستخدم السكاكر Cookies لانها تسبب المشاكل مع بعض المتصفحات و يمكن التحايل عليها .
تصميم الجدول
سننشأ جدول واحد سيحتوي على خانتين
mycounter
ID : varchar (255)
Count : varchar(25)
وسنضع قيمة أولية ل ID نضع 1 , ل count نضع 0
session_start();
$con = mysql_connect( "localhost" , "username","password");
mysql_select_db("mydbname")or die("خلل لم نتمكن من الاتصال في قاعدة البيانات ");
if (!session_is_registered("was_counted")){
mysql_query("UPDATE mycounter SET count=(count + 1) WHERE ID=1");
session_register("was_counted");
}
?>
لتفصيل الكود السابق
session_start();
استخدمنا هذا الاستعلام لنعلم السيرفر أننا سنبدأ جلسة جديدة Session و تأكد من وضع الكود هذا في بداية الملف و أن لا يسبقه شئ آخر و إلا سيظهر لك رسالة خطأ و لن يبدأ
$con = mysql_connect( "localhost" , "username","password");
mysql_select_db("mydbname")or die("خلل لم نتمكن من الاتصال في قاعدة البيانات ");
السطرين السابقين للإتصال بقاعدة البيانات السطر الأول يحمل
if (!session_is_registered("was_counted")){
في الجملة الشرطية نريد التأكد من إن كنا قد عددنا هذا الزائر من قبل أم لا نستخدم session_is_registered هل سجلنا من قبل في جهاز المستخدم المتغير was_counted و هذا المتغير نحن نختاره يمكنك استخدام الاسم الذي تريد
mysql_query("UPDATE mycounter SET count=(count + 1) WHERE ID=1");
استعلام لزيادة شخص في قاعدة البيانات ..
session_register("was_counted");
و الآ سنسجل المستخدم أو جهاز المستخدم كزائر و بالتالي لن يقوم البرنامج بعده مرة أخرى
عرض النتيجة
لعرض عدد الزوار في الموقع يمكنك وضع الكود التالي مع التذكير أن الكود السابق يجب أن يكون في بداية الصفحة قبل أي شي آخر
$res=mysql_query("select count from mycounter where ID=1");
$total = mysql_result($res,0,0);
echo "عدد الزوار : $total زائر ";
?>
ننفذ استعلام و نستخرج النتائج منه و نطبعها
بقلم : فاطمة العمادي
أم و زوجة .. مصممة حرة و مصورة .. عرف الناس كتاباتي التقنية من خلال شخصية خيالية هي الدكتور نت . اصمم المواقع منذ العام ١٩٩٩م .





![Happy National Day.. Qatar [1]](http://farm8.static.flickr.com/7018/6521087103_dd47d6ff67_s.jpg)





