|
|
#1
| |||||||
| |||||||
برمجة المتواجدون الآن خطوة خطوة قبل أن نتحدث عن الأكواد، يجب أن نفهم كيفية برمجة المتواجدون الآن، على الأقل سنحتاج في درسنا اليوم إلى جدول يحتوي على حقلين فقط: الحقل الأول لتخزين عناوين 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<'$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] | |||
| مشكور اخوي البرق علي الدرس المفيد يعطيك العافية يارب | |||
21 - 12 - 2007, 16:47 | رقم المشاركة : [3] | |||
| يسلمووووووووووو اخي البرق على الخطوات الجميلة ونتمنى ان نرى منك المزيد | |||
21 - 12 - 2007, 20:35 | رقم المشاركة : [4] | |||
| مشكور والله يابرق على مجهودك في تقديم كل مايفيد زوار المدينة لاعدمناك | |||
29 - 12 - 2007, 22:44 | رقم المشاركة : [5] | ||
| مشكور على كل هذه المعلومات | ||
مواقع النشر (المفضلة) |
| |
Powered by vBulletin Version 3.8.7 Copyright ©2000 - 2024, Jelsoft Enterprises Ltd ترقية وتطوير: مجموعة الدعم العربى |