التصميم
حسنا فكرة صناعة عداد بسيطة نوعا ما و انت لا تحتاج إلى برامج خيالية و معقدة لتقوم بذلك يمكنك تصميم برنامجك الخاص .
ما سنقوم به عداد يحدد الزائر .. فلا يمكننا الاعتماد على عدد مرات عرض الصفحات فمثلا يمكن لنفس الزائر ان يدخل عدد من الصفحات في موقعك و يعود إلى الصفحة الرئيسية و في كل مرة يتم احتسابه كزائر منفصل . قد تبدو الفكرة جذابةلبعض مدراء المواقع و الذين يريدون أن يعتقد الناس أن موقعهم مشهور لكن واجه الأمر الغرض أن تعرف أن عدد زوار موقعك الحقيقين و ليس الوهمين..
لذلك سنعتمد على نظام الجلسات 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"); } ?>
استخدمنا هذا الاستعلام لنعلم السيرفر أننا سنبدأ جلسة جديدة Session و تأكد من وضع الكود هذا في بداية الملف و أن لا يسبقه شئ آخر و إلا سيظهر لك رسالة خطأ و لن يبدأكود PHP:<? session_start(); ?>
كود 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 زائر "; ?>
تحياتى للجميع ؛؛


رد مع اقتباس
