السلام عليكم ورحمة الله وبركاته ..
اريد إذا دخل العضو للموقع يظهر لي هل موجود او غير موجود ..
نفس الخاصية الموجودة في المنتديات تقريبا ..
من لم يكن لديه وقت لوضع سكربت فلفيدني بفكرة واكون له من الشاكرين ..
السلام عليكم ورحمة الله وبركاته ..
اريد إذا دخل العضو للموقع يظهر لي هل موجود او غير موجود ..
نفس الخاصية الموجودة في المنتديات تقريبا ..
من لم يكن لديه وقت لوضع سكربت فلفيدني بفكرة واكون له من الشاكرين ..
اقتباسمن لم يكن لديه وقت لوضع سكربت فلفيدني بفكرة واكون له من الشاكرين ..
فكرة ليست كسكريبت :D .
أضف حقلا في جدول دخول الأعضاء بإسم stat يكون short int ،حيث مع كل دخول عضو تجعل قيمة stat=1 أما العكس تكون stat=0 في نفس الوقت الذي تفعل هذا ستقوم أنت بعمل إحصاء عن الأعضاء الحاليين كالآتي :
select user from login where stat=1
أخير تطبع النتيجة في الصفحة .
''اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل بلية''
'اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء منهم و الأموات'
www.it-scoop.com
تكميل لفكرة أخينا SIEF
و أضف حقل أيضا للوقت وليكن مثلا LastTimeIn
عند قيام العضو بتسجيل الدخول اعمل
تعديل على الحقلين
stat بتحويله الى قيمة 1
LastTimeIn باضافة الوقت الحالي اليه
و عند عمل LogOff
تعديل على حقل واحد وهو
stat تحويله الى قيمة 0
و عند عرض قائمة المتواجدين الان
يتم البحث عن طريق حقل stat
و عند عرض ملف العضو يتم البحث عن طريق ال ID وحدد ما تريد عرضه من حقول
----------------------------
نقطة هامة :ـ
اعمل Funuction خاص بحساب الوقت مهمته الاتي
ايجاد قيمة الوقت الحالي
استيراد من قاعدة البيانات لحقل LastTimeIm
ايجاد الفرق بين الاثنين
إذا كان الفرق أكبر من 5 دقائق مثلا يقوم بالتعديل على حقل stat لتكون القيمة 0
تم تعديل هذه المشاركة بواسطة HhH-PROGRAMMER في 5 أكتوبر 2009 في 00:51
كما قال أخي سيف وأخي HhH-PROGRAMMER ولدي طريقه أخرى شبيه
تقوم بعمل جدول فيه ثلاث حقول
session_id
time
stat
# هنا متغير يحمل وقت هذه اللحظه
$tm = time();
# هنا وقت بعد نصف ساعه من الآن ويمكنك تغييرها فعدد الدقائق هي الثلاثين
$timeout = $tm - (30*60);
# هنا متغير يحمل رقم الجلسة
$Session_id=session_id();
mysql_query("Update `table` set stat=1, session_id='' WHERE time < $timeout");
# في السطر السابق جمله سيكول تعمل على جعل المتغير stat يصبح واحد للجلسات التي مضى عليها أكثر من نصف ساعه ويتم إفراغ قيمة رقم الجلسه
# عمليه التأكد من وجود هذه الجلسه حاليا في حال وجودها لن يتم عمل شيء , غير ذلك يتم تخزين الجلسه
$insert_or_not = @mysql_num_rows(mysql_query("SELECT COUNT(*) FROM `table` where stat=0 and session_id='$Session_id' "));
if(!$insert_or_not){
# هنا يتم تعبئة الحقول
mysql_query("INSERT INTO `table` (`session_id` ,`stat` ,`time`)
VALUES ('$Session_id', 0 , '$tm');");
}
# لعرض عدد المتواجدين الآن من الأعضاء
$count = @mysql_num_rows(mysql_query("SELECT COUNT(*) FROM `table` where stat=0 "));
# عدد الذين تواجدوا اليوم من الأعضاء
$count_day = @mysql_num_rows(mysql_query("SELECT COUNT(*) FROM `table` where time> '".strtotime(date("d-m-Y"))."'"));*لم يتم تجربة هذا الكود فقد تم كتابته الآن ....
* هنا يقوم بحساب عدد الزوار بغض النظر هل هو من الأعضاء أم لا , ولكي تقوم بجعله يحسب الأعضاء فقط قم بتغيير هذا السطر
if(!$insert_or_not){إلى
if(!$insert_or_not && $is_member){هنا المتير is_member هو من خلال الكود الخاص بك يتم تعريفه عندما يكون صاحب الجلسه عضو مسجل لديك
تم تعديل هذه المشاركة بواسطة bastr3 في 5 أكتوبر 2009 في 11:09
روعة أخي الكريم باسم
و لكن أود أن يتم اضافة UserID إذا كان عضو مسجل
وإذا كان Guest نضيف في الحقل رقم 0
ما رأيك أخي الفاضل
جزاكم الله خير ..
والله ما قصرتوا ..
الفكرة واضحة 100% الآن
قم بعملها :) وأضفها هنا لكي يستفيد الجميع
اقتباسروعة أخي الكريم باسمو لكن أود أن يتم اضافة UserID إذا كان عضو مسجل
وإذا كان Guest نضيف في الحقل رقم 0
ما رأيك أخي الفاضل
فهمت قصدك .. يمكنك إضافة حقل جديد في الجدول بإسم type وعندما يكون عضو يتم تخزين رقم واحد وفي حالة الزائر يتم تخزين الرقم صفر وبذلك يتم معرفة عدد الزوار وعدد الأعضاء من خلال هذا الحقل :)
ربما أدمج هذا الكود مع مجلة blood التي أقوم بإعطاء دورة من خلالها تابعنا :)
إضافه : الظاهر كنت نعسان لما جاوبت على هذا السؤال :) الأخ طالب إنو العضو موجود أو لا مش عدد الأعضاء المتواجدين , إذن نقوم بتخزين رقم المعرف للعضو في حقل stat ومن ثم نقوم بالتأكد هل العضو موجود أو لا من خلال استعراض الجدول , الحل نفسه يعني مارحت بعيد كثير :)
على كل الكود السابق تم دمجه مع مجلة blood التي يتم شرحها كدورة في هذا المنتدى على هذا الرابط :
تم تعديل هذه المشاركة بواسطة bastr3 في 6 أكتوبر 2009 في 07:04
ما شاء الله عليكم
فعلا مبدعين يا شباب
هي الافكار ولا بلاش
دمتم للمنتدى بكل خير