منتديات مدينة الاحلام

فيس بوك مدينة الاحلام twitter RSS 

 
 

 

 

معجبو مدينة الاحلام علي الفيس بوك

  #1  
قديم 20 - 12 - 2007, 18:43
الصورة الرمزية البرق
البرق غير متصل
..:: خدمة العملاء ::..
 


البرق is on a distinguished road
إرسال رسالة عبر مراسل MSN إلى البرق إرسال رسالة عبر مراسل Yahoo إلى البرق
افتراضي برمجة المتواجدون الآن خطوة خطوة










قبل أن نتحدث عن الأكواد، يجب أن نفهم كيفية برمجة المتواجدون الآن، على الأقل سنحتاج في درسنا اليوم إلى جدول يحتوي على حقلين فقط:

الحقل الأول لتخزين عناوين IP
الحقل الثاني لتخزين "وقت الزيارة ناقص خمس دقائق"
إذا دخل الزائر إلى الصفحة يقوم البرنامج بمسح صف من الحقل إذا كان يطابق رقم IP الخاص بالزائر لعدم تكرار الصفوف في القاعدة، وذلك لأننا سنحسب عدد الصفوف في الجدول لكي تعيد لنا نتيجة المتواجدون الأن. إذا كان الوقت المسجل في صف أو عدة صفوف تخزين الوقت أصغر من "الوقت الآن ناقص خمس دقائق" سيمسح تلك الصفوف جميعاً لعدم تكرار الصفوف بدون زوار.

ماذا فهمت من "الوقت الآن ناقص خمس دقائق"
مثال فقط:
الوقت الآن 200 ناقص 5 يساوي 195 ، سيتم إدخال هذا الرقم إلى القاعدة. لن يتم مسح صف هذا الزائر ما دام الوقت المحفوظ في القاعدة أكبر من "الوقت الآن ناقص 5 دقائق". ستقول لي ما هذا!، أنا لم أفهم هذا الشيء ومنطقياً لا يمكن حفظ أي صف، ولكن أقول لك سأكتب السطر البرمجي الذي يمسح الوقت إذا كان الوقت المحفوظ في القاعدة أصغر من "الوقت الآن ناقص 5 دقائق" أولاً وبعده أضيف سطر إدخال عنوان IP و"الوقت الآن ناقص خمس دقائق" يعني حتى لو تم مسح الصف، فالزائر إذا زار الصفحة مرة أخرى ستتم إضافة صف جديد له وبذلك تحتسب زيارة.

مثال برمجي :

1-إذا كان الوقت المسجل في الصفوف أصغر من "الوقت الآن ناقص خمس دقائق" أو عنوان IP يطابق عنوان هذا الزائر قم بمسحها
2-أدخل "الوقت الآن ناقص خمس دقائق" ورقم IP الخاص بهذا الزائر
3-استخرج عدد الصفوف الموجودة في الجدول
4-اطبع عدد الصفوف
الآن ننتقل إلى البرمجة:
نحتاج إلى هذا الجدول:

[PHP]CREATE TABLE `nad_online` (
`nad_ip` VARCHAR( 100 ) NOT NULL ,
`nad_time` VARCHAR( 15 ) NOT NULL
);[/PHP]


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

[PHP]$dbserver="localhost"; // رابط السرفر
$dbuser="root"; // اسم الدخول
$dbpass=""; // كلمة المرور
$dbname="online"; // اسم القاعدة
// الاتصال بالقاعدة
mysql_connect($dbserver,$dbuser,$dbpass) or die (mysql_error());
mysql_select_db($dbname) or die (mysql_error());[/PHP]

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

[PHP]include('config.php');
$install=mysql_query("
CREATE TABLE `nad_online` (
`nad_ip` VARCHAR( 100 ) NOT NULL ,
`nad_time` VARCHAR( 15 ) NOT NULL
);
");
if($install){
echo"تم تركيب البرنامج بنجاح <br /><span style="color: red;">يجب عليك مسح هذا الملف</span>";
}else{
echo"<span style="color: red;">لم يتم تركيب البرنامج لسبب مجهول</span>";
}[/PHP]


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

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

قمت بعمل كل ما ذكرته في سكربت بسيط يمكنك تحميله: [online.zip]

أتمنى أن يكون الدرس مفهوماً،


fvl[m hglj,h[],k hgNk o',m

 
 
 
 
 





رد مع اقتباس
قديم 21 - 12 - 2007, 16:01   رقم المشاركة : [2]
..:: من سكان المدينة ::..
 

Spider Man is on a distinguished road
افتراضي

مشكور اخوي البرق

علي الدرس المفيد

يعطيك العافية يارب


Spider Man غير متصل   رد مع اقتباس
قديم 21 - 12 - 2007, 16:47   رقم المشاركة : [3]
مراقب عام
الصورة الرمزية الجرئ2006
 

الجرئ2006 is on a distinguished road
افتراضي

يسلمووووووووووو

اخي البرق على الخطوات الجميلة

ونتمنى ان نرى منك المزيد


الجرئ2006 غير متصل   رد مع اقتباس
قديم 21 - 12 - 2007, 20:35   رقم المشاركة : [4]
الادارة
 

مدينة الاحلام is on a distinguished road
افتراضي

مشكور والله يابرق على مجهودك في تقديم كل مايفيد زوار المدينة
لاعدمناك


مدينة الاحلام غير متصل   رد مع اقتباس
قديم 29 - 12 - 2007, 22:44   رقم المشاركة : [5]
..:: زائر جديد ::..
 

كاكاروت is on a distinguished road
افتراضي

مشكور على كل هذه المعلومات


كاكاروت غير متصل   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن 16:41.

    Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd
ترقية وتطوير: مجموعة الدعم العربى
  

SEO by vBSEO