الفكره ببساطه :
اللينك الذي ضغط عليه العضو يختفي
واذا حاول الذهاب الي اللينك تظهر هذه العباره فقط ولا يظهر شيء آخر (you already clicked this link)
في صفحة الرابط إذا تم الدخول إليها يتم حفظ session ، وإذا تم الدخول مرة أخرى يتم التحقق هل ال session موجودة
فإذا وجدت يتم طباعة (you already clicked this link) وعمل ;exit
الsession ليس خيارا جيدا ، لانه يمكنني حذفه بسهولة وإعادة الضغط على الرابط سواء من خلال مسح الHistorique أو Mode Navigation Privé
لذلك الحل الافضل هو للأخ @karim_harazin
جرب الدخول إلى Mode Navigation Privé في فايرفوكس أو كروم ، وسترى بنفسك :)
حسب ما فهمت، فأفترض أن لديك نظام تسجيل للأعضاء. إذا كان كذلك، فأفضل طريقة أنصح بها هي التالي،
1- قبل زيارة الرابط، التأكد أن المستخدم قد سجل دخول.
2- عندما يقوم المسنخدم بزيارة الرابط أول مرة، قم بتسجيل الحركة في جدول للحركات به رقم المستخدم والرابط وتاريخ الزيارة مثلا.
3- اذا حاول المستخدم زيارة الرابط مرة أخرى، تأكد أنه لم يزر الرابط من قبل من خلال فحص جدول الحركات.
هذا مثال جيد علي العلاقة الثلاثية بالداتا بيز يمكنك عمل ثلاث جدول
create table user{
user_id int,
primary key(id);
}
create table links{
link_id int,
primary key(id);
}
create table user_links{
user_id int,
link_id int,
primary key(user_id,link_id);
}
وتقوم بفحص الجدول الثالث إذا ما كان المستخدم ضغط اللينك من قبل أم لا
التعليقات