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