برمجة المتواجدون الأن خطوة خطوة

دروس برمجية أضف تعليق

بسم الله الرحمان الرحيم
قبل ان نتكلم عن الأكود لازم نفهم كيفية برمجة المتواجدون الأن
على الأقل سنحتاج في درسنا اليوم جدول يحتوي على حقلين فقط
الحقل الأول لتخزين عناوين الأيبي
الحقل الثاني لتخزين 'وقت الزيارة ناقص خمس دقائق'
اذا دخل الزائر الى الصفحة يتم البرنامج بمسح صف من الحقل اذا كان يطابق رقم الأيبي الخاص بالزائر لعدم تكرار الصفوف في القاعدة لاننا سنحب عدد الصفوف في الجدول لكي ترجع لنا نتيجة المتواجدون الأن
واذا كان الوقت المسجل في صف او عدة صفوف تخزين الوقت اصغر من 'الوقت الأن ناقص خمس دقائق' سيمسح تلك الصفوف جميعا لعدم تكرار الصفوف بدون زوار
ما ذا فهمت من 'الوقت الأن ناقص خمس دقائق'
مثال فقط :
الوقت الأن 200 ناقص 5 يساوي 195 سيتم ادخال هذا الرقم الى القاعدة


لن يتم مسح صف هذا الزائر ما دام الوقت المحفوظ في القاعدة اكبر من 'الوقت الأن ناقص 5 دقائق'
ستقول لي ما هذا انا لم افهم هذا الشيء ومنطقيا لا يمكن حفظ اي صف
ولكن اقول لك سأكتب السطر البرمجي الذي يمسح الوقت اذا كان الوقت المحفوظ في القاعدة اصغر من 'الوقت الأن ناقص 5 دقائق' اولا
وبعده اضافة سطر ادخال عنوان الأيبي و'الوقت الأن ناقص خمس دقائق ' يعني حتى لو تم مسح الصف الزائر اذا زار الصفحة مرة اخرى سيتم اضافة صف جديد له وبذلك تحتسب زيارة
مثال برمجي :
* اذا كان الوقت المسجل في الصفوف اصغر من 'الوقت الأن ناقص 5 دقائق' او عنوان الأيبي يطابق عنوان هذا الزائر قم بمسحها
* ادخل 'الوقت الأن ناقص 5 دقائق' ورقم الأيبي الخاص بهذا الزائر
* استخرج عدد الصفوف الموجود ة في الجدول
* طباعة عدد الصفوف

الأن نمر الى البرمجة

نحتاج الى هذا الجدول

PHP:
  1. CREATE TABLE `nad_online` (
  2. `nad_ip` VARCHAR( 100 ) NOT NULL ,
  3. `nad_time` VARCHAR( 15 ) NOT NULL
  4. );

كما سنحتاج الى ملف الاتصال بالقاعدة اسمه config.php ويحتوي على هذه الأكواد

PHP:
  1. $dbserver="localhost"; // رابط السرفر
  2. $dbuser="root";      // اسم الدخول
  3. $dbpass="";         // كلمة المرور
  4. $dbname="online"// اسم القاعدة
  5. // الاتصال بالقاعد
  6. mysql_connect($dbserver,$dbuser,$dbpass) or die (mysql_error());
  7. mysql_select_db($dbname) or die (mysql_error());

وملف تنصيب البرنامج اسمه install.php بعد التنصيب امسحه فورا

PHP:
  1. include('config.php');
  2. $install=mysql_query("
  3. CREATE TABLE `nad_online` (
  4. `nad_ip` VARCHAR( 100 ) NOT NULL ,
  5. `nad_time` VARCHAR( 15 ) NOT NULL
  6. );
  7. ");
  8. if($install){
  9. echo"تم تركيب البرنامج بنجاح <br /><font color=red>يجب عليك مسح هذا الملف </font>";
  10. }else{
  11. echo"<font color=red>لم يتم تركيب البرنامج لسبب مجهول</font>";
  12. }

والأن وصلنا الى الملف المهم الذي يحتوي على جميع ما تم ذكره في المقدمة

PHP:
  1. $time=time()// الوقت الأن
  2. $ip=$_SERVER['REMOTE_ADDR']// عنوان الايبي للزائر
  3. $limitsec=$time-300; // 5 دقائق
  4. $update=mysql_query("DELETE from  nad_online where nad_ip='$ip' OR  nad_time<'$limitsec'");
  5. $insert=mysql_query("INSERT INTO nad_online (nad_ip,nad_time) VALUES ('$ip','$limitsec')");
  6. $sql=mysql_fetch_array(mysql_query("SELECT count(*) as nad_ip from nad_online "));
  7. echo $sql['nad_ip'].'عدد المتواجدون الأن';

تحميل السكريبت

اتمنى ان يكون الدرس مفهوم واي استفسار انا موجود باذن الله

الأن سأضيف المتواجدون الأن مع احتساب الأعضاء وذلك بعد استفسار احد الاخوة في منتدى بي اتش بي
اولا سنحتاج الى اضافة حقلين وهما
u_name ويكون varchar 255
u_id ويكون من نوع int لتخزين رقم العضو

ونأتي الى البرمجة

غالبا ما يتم حفظ معلمومات العضو بعد التحقق منها في الكوكيز او في الجلسات

لكني سأحفظ معلومات العضو في متغير عادي وهي
اسم العضو
رقم العضو

مثال

PHP:
  1. $user='Nadorino';
  2. $user_id='5698';

وبعدها اتحقق ان كان العضو سجل الدخول اي متغير العضو يحمل قيمة ام لا... لكنني سأختصر الكود البرمجي الى

اذا كان متغير العضو لا يحمل قيمة اعطيه قيمة افتراضية وهي

PHP:
  1. if( !isset($user) AND !isset($user_id) ) {
  2. $user='ضيف';
  3. $user_id='0';
  4. }

بمعنى لا يتم اعطاء المتغير قيمة افتراضية الا اذا كان العضو غير مسجل الدخول
وعكس ذلك يكون المتغير يحمل قيمة العضو المسجل للدخول

اعتقد هذا الكود مفهوم

PHP:
  1. $update=mysql_query("DELETE from  nad_online where nad_ip='$ip' OR  nad_time<'$limitsec' OR u_name='$user'");

وهذا كذلك

PHP:
  1. $insert=mysql_query("INSERT INTO nad_online (nad_ip,nad_time,u_name,u_id) VALUES ('$ip','$limitsec','$user','$user_id')");

والأن نأتي الى جلب عدد الصفوف الخاصة بالأعضاء ويكون المتغير باسم $user

نستعلم عن عدد الصفوف الموجودة في الجدول بشرط حقل قيمة حقل u_id اكبر من الصفر بمعنى ان العضو يحمل رقم اكبر من صفر

PHP:
  1. $user=mysql_fetch_array(mysql_query("SELECT count(*) AS nad_ip   from nad_online  where u_id>0"));

ونقوم بجلب عدد صفوف الزوار بشرط قيمة حقل u_id تساوي صفر عكس الاستعلام السابق ويكون المتغير باسم $guest
واعتقد ان هذه الجزئية مفهومة

PHP:
  1. $guest=mysql_fetch_array(mysql_query("SELECT count(*) AS nad_ip   from nad_online  where u_id=0"));

الأن نقوم باستخراج عدد جميع الصفوف ونسمي المتغير $total

PHP:
  1. $total=mysql_fetch_array(mysql_query("SELECT count(*) AS nad_ip   from nad_online "));

وتقوم بطباعة عدد الأعضاء بهذا الشكل

PHP:
  1. echo $user['nad_ip']

الزوار

PHP:
  1. echo $guest['nad_ip']

المجموع

PHP:
  1. echo $total['nad_ip']

ولاستخراج اسماء الأعضاء والروابط

يكفيك هذا الكود

PHP:
  1. $show_user=mysql_query("select u_name,u_id from nad_online where u_id>0");
  2. while($row=mysql_fetch_array($show_user)){
  3. echo '<a href="user.php?uid='.$row['u_id'].'">'.$row['u_name'].'</a>';
  4. }

تحميل الملف

10 عدد التعليقات على “برمجة المتواجدون الأن خطوة خطوة”

  1. RedMan يعلق:

    شرح جميل و مبسط … بارك الله فيك

  2. aspirant3 يعلق:

    سبق وأن اطلعت على الموضوع في منتدى php
    موضوع أكثر من رائع عزيزي ..

    أطلب منك طلب بسيط أخوي .. لدي مدونة وأنا الآن متعطل بخصوص اضافة لسلسلة تعليمة إن شاء الله .. المهم اني اريد كتابة اكواد html واكواد php وغيره في الموضوع .. بحثت كثيرا عن هذه الاضافة التي تسمح بكتاة الاكود مثل مو موجود في موضوعك هذا ولكن للاسف وجدت بعضها ولم تفلح محاولاتي في جلعه مثل مو موجود لديك … هلا تفضلت علي وأخبرتني بالطريقة أو تعطيني رابط تحميل الاضافة مع شرح بسيط ..

    آسف على الفضول أخي وأتمنى أن تتقبلها مني بصدر رحب كما هي عادتك ..
    في حفظ الله ..

  3. عبد الواحد البشيري يعلق:

    RedMan :
    شكرا لك اخي الكريم على زيارة مدونتي والتعليق

    aspirant3:
    بكل سرور اخي
    تفضل هذا الرابط ستجد ما تبحث عنه بالضبط
    http://www.swalif.net/softs/swalif54/softs205333/

  4. aspirant3 يعلق:

    الله يخليك يارب
    تسلم عزيزي على الرابط .. سأجربه وان شاء الله تنجح معي هذه المرة ..

    بارك الله فيك

  5. سفيان يعلق:

    موضوع رائع أخي، وأنا إن شاء الله من المتابعين لمدونتك. في انتظار الجديد :)

  6. عبد الواحد البشيري يعلق:

    مرحبا بك معنا

  7. abdallh يعلق:

    مبدع ماشاء الله عليك ربي يوفقك

  8. sultan يعلق:

    شكرا جزيلا عزيزي

  9. سعد رياضي يعلق:

    و الله لم أفهم شيئا هذه المرة
    كيفيمكنني أن أضيف الحقول في الاكسس

  10. John747 يعلق:

    Very nice site!

أضف تعليق.

مدونة مبرمج مغربي © 2010 WP Theme & Icons by N.Design Studio | b4udecide | تعريب قياسي
التدويناتRSS | التعليقاتRSS | تسجيل الدخول