بسم الله الرحمان الرحيم
قبل ان نتكلم عن الأكود لازم نفهم كيفية برمجة المتواجدون الأن
على الأقل سنحتاج في درسنا اليوم جدول يحتوي على حقلين فقط
الحقل الأول لتخزين عناوين الأيبي
الحقل الثاني لتخزين 'وقت الزيارة ناقص خمس دقائق'
اذا دخل الزائر الى الصفحة يتم البرنامج بمسح صف من الحقل اذا كان يطابق رقم الأيبي الخاص بالزائر لعدم تكرار الصفوف في القاعدة لاننا سنحب عدد الصفوف في الجدول لكي ترجع لنا نتيجة المتواجدون الأن
واذا كان الوقت المسجل في صف او عدة صفوف تخزين الوقت اصغر من 'الوقت الأن ناقص خمس دقائق' سيمسح تلك الصفوف جميعا لعدم تكرار الصفوف بدون زوار
ما ذا فهمت من 'الوقت الأن ناقص خمس دقائق'
مثال فقط :
الوقت الأن 200 ناقص 5 يساوي 195 سيتم ادخال هذا الرقم الى القاعدة
لن يتم مسح صف هذا الزائر ما دام الوقت المحفوظ في القاعدة اكبر من 'الوقت الأن ناقص 5 دقائق'
ستقول لي ما هذا انا لم افهم هذا الشيء ومنطقيا لا يمكن حفظ اي صف
ولكن اقول لك سأكتب السطر البرمجي الذي يمسح الوقت اذا كان الوقت المحفوظ في القاعدة اصغر من 'الوقت الأن ناقص 5 دقائق' اولا
وبعده اضافة سطر ادخال عنوان الأيبي و'الوقت الأن ناقص خمس دقائق ' يعني حتى لو تم مسح الصف الزائر اذا زار الصفحة مرة اخرى سيتم اضافة صف جديد له وبذلك تحتسب زيارة
مثال برمجي :
* اذا كان الوقت المسجل في الصفوف اصغر من 'الوقت الأن ناقص 5 دقائق' او عنوان الأيبي يطابق عنوان هذا الزائر قم بمسحها
* ادخل 'الوقت الأن ناقص 5 دقائق' ورقم الأيبي الخاص بهذا الزائر
* استخرج عدد الصفوف الموجود ة في الجدول
* طباعة عدد الصفوف
الأن نمر الى البرمجة
نحتاج الى هذا الجدول
-
CREATE TABLE `nad_online` (
-
`nad_ip` VARCHAR( 100 ) NOT NULL ,
-
`nad_time` VARCHAR( 15 ) NOT NULL
-
);
كما سنحتاج الى ملف الاتصال بالقاعدة اسمه config.php ويحتوي على هذه الأكواد
-
$dbserver="localhost"; // رابط السرفر
-
$dbuser="root"; // اسم الدخول
-
$dbpass=""; // كلمة المرور
-
$dbname="online"; // اسم القاعدة
-
// الاتصال بالقاعد
وملف تنصيب البرنامج اسمه install.php بعد التنصيب امسحه فورا
-
include('config.php');
-
CREATE TABLE `nad_online` (
-
`nad_ip` VARCHAR( 100 ) NOT NULL ,
-
`nad_time` VARCHAR( 15 ) NOT NULL
-
);
-
");
-
if($install){
-
echo"تم تركيب البرنامج بنجاح <br /><font color=red>يجب عليك مسح هذا الملف </font>";
-
}else{
-
echo"<font color=red>لم يتم تركيب البرنامج لسبب مجهول</font>";
-
}
والأن وصلنا الى الملف المهم الذي يحتوي على جميع ما تم ذكره في المقدمة
-
$ip=$_SERVER['REMOTE_ADDR']; // عنوان الايبي للزائر
-
$limitsec=$time-300; // 5 دقائق
اتمنى ان يكون الدرس مفهوم واي استفسار انا موجود باذن الله
الأن سأضيف المتواجدون الأن مع احتساب الأعضاء وذلك بعد استفسار احد الاخوة في منتدى بي اتش بي
اولا سنحتاج الى اضافة حقلين وهما
u_name ويكون varchar 255
u_id ويكون من نوع int لتخزين رقم العضو
ونأتي الى البرمجة
غالبا ما يتم حفظ معلمومات العضو بعد التحقق منها في الكوكيز او في الجلسات
لكني سأحفظ معلومات العضو في متغير عادي وهي
اسم العضو
رقم العضو
مثال
-
$user='Nadorino';
-
$user_id='5698';
وبعدها اتحقق ان كان العضو سجل الدخول اي متغير العضو يحمل قيمة ام لا... لكنني سأختصر الكود البرمجي الى
اذا كان متغير العضو لا يحمل قيمة اعطيه قيمة افتراضية وهي
بمعنى لا يتم اعطاء المتغير قيمة افتراضية الا اذا كان العضو غير مسجل الدخول
وعكس ذلك يكون المتغير يحمل قيمة العضو المسجل للدخول
اعتقد هذا الكود مفهوم
-
$update=mysql_query("DELETE from nad_online where nad_ip='$ip' OR nad_time<'$limitsec' OR u_name='$user'");
وهذا كذلك
-
$insert=mysql_query("INSERT INTO nad_online (nad_ip,nad_time,u_name,u_id) VALUES ('$ip','$limitsec','$user','$user_id')");
والأن نأتي الى جلب عدد الصفوف الخاصة بالأعضاء ويكون المتغير باسم $user
نستعلم عن عدد الصفوف الموجودة في الجدول بشرط حقل قيمة حقل u_id اكبر من الصفر بمعنى ان العضو يحمل رقم اكبر من صفر
ونقوم بجلب عدد صفوف الزوار بشرط قيمة حقل u_id تساوي صفر عكس الاستعلام السابق ويكون المتغير باسم $guest
واعتقد ان هذه الجزئية مفهومة
الأن نقوم باستخراج عدد جميع الصفوف ونسمي المتغير $total
وتقوم بطباعة عدد الأعضاء بهذا الشكل
الزوار
المجموع
ولاستخراج اسماء الأعضاء والروابط
يكفيك هذا الكود
-
}
2 ديسمبر, 2007 في الساعة 9:10 م
شرح جميل و مبسط … بارك الله فيك
5 ديسمبر, 2007 في الساعة 2:43 م
سبق وأن اطلعت على الموضوع في منتدى php
موضوع أكثر من رائع عزيزي ..
أطلب منك طلب بسيط أخوي .. لدي مدونة وأنا الآن متعطل بخصوص اضافة لسلسلة تعليمة إن شاء الله .. المهم اني اريد كتابة اكواد html واكواد php وغيره في الموضوع .. بحثت كثيرا عن هذه الاضافة التي تسمح بكتاة الاكود مثل مو موجود في موضوعك هذا ولكن للاسف وجدت بعضها ولم تفلح محاولاتي في جلعه مثل مو موجود لديك … هلا تفضلت علي وأخبرتني بالطريقة أو تعطيني رابط تحميل الاضافة مع شرح بسيط ..
آسف على الفضول أخي وأتمنى أن تتقبلها مني بصدر رحب كما هي عادتك ..
في حفظ الله ..
7 ديسمبر, 2007 في الساعة 12:11 ص
RedMan :
شكرا لك اخي الكريم على زيارة مدونتي والتعليق
aspirant3:
بكل سرور اخي
تفضل هذا الرابط ستجد ما تبحث عنه بالضبط
http://www.swalif.net/softs/swalif54/softs205333/
9 ديسمبر, 2007 في الساعة 10:36 ص
الله يخليك يارب
تسلم عزيزي على الرابط .. سأجربه وان شاء الله تنجح معي هذه المرة ..
بارك الله فيك
24 ديسمبر, 2007 في الساعة 10:08 م
موضوع رائع أخي، وأنا إن شاء الله من المتابعين لمدونتك. في انتظار الجديد
26 ديسمبر, 2007 في الساعة 9:45 ص
مرحبا بك معنا
24 يناير, 2008 في الساعة 12:10 م
مبدع ماشاء الله عليك ربي يوفقك
15 مارس, 2008 في الساعة 12:51 م
شكرا جزيلا عزيزي
13 أكتوبر, 2008 في الساعة 6:22 م
و الله لم أفهم شيئا هذه المرة
كيفيمكنني أن أضيف الحقول في الاكسس
14 مارس, 2009 في الساعة 3:57 ص
Very nice site!