PHP: مرة وحيدة / يضرب على بنود محددة باستخدام ملفات الكوكيز / الملكية الفكرية

StackOverflow https://stackoverflow.com/questions/1213932

  •  06-07-2019
  •  | 
  •  

سؤال

وأنا استخدم الجدول الخلية بسيط لحساب اليوم يضرب لصفحات / بنود محددة في موقع على شبكة الانترنت. باستخدام العمود "معرف" لهويات صفحة / البند، "التاريخ" لليوم مرة / الزيارات، وعمود "يضرب" لعدد من الزيارات.

ويتم تحديث كل مرة شخص زيارة صفحة قيمة يضرب لذلك موعد محدد ل+1.

ولكن، يتم تحديث قيمة واحدة لمزيد من الوقت في كل مرة يتم فيها تحديث الصفحة أو إعادة النظر، وأنا بحاجة إلى وسيلة لحفظ الهوية صفحة في ملف تعريف الارتباط أو الزائر IP في قاعدة البيانات لتحديث يضرب مرة واحدة فقط.

وأنا لم يسبق لهم العمل مع الكوكيز لذلك أنا لا أعرف حقا كيف نفعل ذلك وأوجه القصور في البيانات مما يمكن تخزينها في ملف تعريف الارتباط.

وأعتقد أن ينقذ عناوين IP من الزوار في قاعدة البيانات هو حقا مضيعة للqueires وbandwitch وقرأت أن ليس من الممكن دائما للحصول على IP الحقيقي، وهذا يمكن أن يجعل بعض المشاكل وبعض الضربات لا المحدثة.

وقرأت أيضا أن على نحو أفضل عدم استخدام المتغيرات العالمية كثيرا ...

ويمكن للشخص الرجاء شرح لي أفضل طريقة للقيام بذلك وكيف نفعل ذلك؟

وشكرا!

هل كانت مفيدة؟

المحلول

إذا كنت تفضل التعامل مع الكوكيز كمتغيرات PHP، وهو ما كنت على دراية على الأرجح، فما استقاموا لكم فاستقيموا استخدام جلسة عمل.

session_start()
$page = 1; // Page ID
if(isset($_SESSION[$page]))
{
    // Do something if the person refreshed
}
else
{
     $_SESSION[$page] = time();
     // record hit.
}

والحصول على ID الصفحة في المتغير الصفحة $، وسوف حفظه في الدورة. جلسة مثل الكعكة، باستثناء يتم حفظه على جانب الملقم.

والأساس، وإذا كان هناك متغير مع ID من تلك الصفحة، انها لن تفعل شيئا، وإلا فإنه يسجل نجاحا ويحدد المتغير.

ويمكنك التحقق من هذا البرنامج التعليمي لمعرفة المزيد عن الدورات: http://www.tizag.com /phpT/phpsessions.php

ومثل الكوكيز، جلسات تستمر فقط لفترة معينة من الزمن. لذلك سوف يسجل الزيارة بعد بضعة أيام.

وحتى انك قد ترغب في، والتحقق يدويا لمعرفة متى زار آخر مرة كان. إذا كان أكثر من ساعة، تسجيل ضربة جديدة، لأنها ربما ليس فقط منعش.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top