تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#1 (permalink)  
مسابقة برمجة (2) عدد المتواجدين الآن


مقدمة
من أكثر السكريبتات طلبا سكريبت عدد المتواجدين الآن بالموقع .. وأعتقد أننا جميعا استخدمنا اسكريبتات جاهزة في البدايات لكن حان الوقت لنفكر ونبرمج اسكريبتا يؤدي الغرض من عملنا نحن ..

المطلوب
عرض عدد الموجودين الآن بالموقع .. طريقة التخزين غير محددة (ملف - قواعد بيانات - بدون تخزين) .. طريقة الحساب غير محددة (الأي بي - كوكيز - جلسات - بالتقريب - بدون حساب)
فقط نريد سكريبت يقول لك: عدد المتواجدين الآن كذا وكذا ..

ملاحظات
أهم شيء في المسابقة هذه المرة (بما أننا نتحدث عن سكريبت يتم تنفيذه مع كل زيارة لكل صفحة) هو الاقتصاد في استخدام موارد السيرفر .. بما يعني استخدام أقل عدد من الدوال وأقل تعامل ممكن مع قواعد البيانات أو الملفات أو خلافه .. وطبعا أقل وقت تنفيذ للسكريبت ..
وطبعا الشرح مهم .. والتجربة عندك أولا قبل نشر السكريبت مهمة ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 23-03-2005, 11:41 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2002-
#2 (permalink)  



السكربت بيأخذ زمن ........
على العموم ..... سأحاول فيها






PHP-Master02 غير متواجد حالياً   قديم 24-03-2005, 02:34 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#3 (permalink)  

ابدأ و حتلاقي نفسك مش محتاج غير نص ساعة تركييييييييييييييييييييييييييز
بس اهم حاجة: جرب قبل ما ترسل سكريبتك






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 24-03-2005, 02:47 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2002-
#4 (permalink)  

أكيد ........






PHP-Master02 غير متواجد حالياً   قديم 24-03-2005, 03:28 AM
رد مع اقتباس
-
#5 (permalink)  

هل يمكن المشاركة لكن بتطوير سكريبت موجود مسبقا ؟






  قديم 24-03-2005, 01:11 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#6 (permalink)  

إذا قمت فيه بمجهود برمجي ليس أقل من 30% فيمكنك أن تشارك به طبعا مع الإشارة إلى أنه منقول من المكان الفلاني إذا استطعت ..
وشكرا لأمانتك ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 24-03-2005, 01:16 PM
رد مع اقتباس
-
#7 (permalink)  

أخي أظن أن سكريبت عدد المتصلين يجب أن يعتمد على قواعد البيانات + الجلسات ليكون صادقا ؟
ما رأيك ؟






  قديم 24-03-2005, 01:30 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#8 (permalink)  

انت وشطارتك عن نفسي انا ح استخدم اسلوب مقارب يعني مش بالضبط ..
انما اذا اردت فيمكنك وضع اشتراطات للاستخدام يعني مثلا تقول للمستخدم انه لازم يضع هذا الجزء من الكود في الهيد والجزء الاخر في المكان اللي ح يظهر فيه ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 24-03-2005, 01:42 PM
رد مع اقتباس
-
#9 (permalink)  

شكرا على التوضيح






  قديم 24-03-2005, 02:06 PM
رد مع اقتباس
مشرف قسم PHP
تاريخ التسجيل: Nov 2001-
#10 (permalink)  

أووووه مشكلة أنا المجرب الأول أخشى أن تكوووون هناك أخطاء

يالله حبيبي إنترنت بلس شووف تجربتي ..

أنشأ قاعدة بيانات باسم available وضع فيها :
كود PHP:
CREATE TABLE available (
      
BRa INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
      
time_entry int(20NOT NULL default'0' 
..

ثم جرب هذه البرمجة ..

كود PHP:
<?php
###################################################
//           برمجة عبدالعزيز السعيد            //
//        Email : bar3_sa(at)hotmail.com         //
//  Powered By (Pri بارع ncE) Copyright © 2005   //
###################################################

//======================config.php====================//
// === خاص بقاعدة البيانات === //
$dbserver "localhost"// اسم السيرفر  //
$dbname "available"// اسم قاعدة البيانات //
$dbuser "root"// اسم المستخدم لقاعدة البيانات //
$dbpss ""// كلمة المرور لقاعدة البيانات //

// === هذه البرمجه هي طريقة الدخول لقاعدة البيانات === //
$DBC = @mysql_connect("$dbserver""$dbuser""$dbpss");
if (!
$DBC) {
    echo 
"يوجد خطأ في سيرفر الموقع !!";
    exit();
}

$DBS = @mysql_select_db("$dbname");
if (!
$DBS) {
    echo 
"يوجد خطأ في قاعدة البيانات !!";
    exit();
}
//====================End config.php==================//


//======================class.php=====================//
// تسجيل اسم class بالمتغير Bar3
$Bar3 = new available;

// بداية class
class available {

    
// متغيرات .. الرسالة - التوقيت
    
var $msg,$time_guest_bar3,$number_guest_bar3;

    
// دالة الحسابات
    
function audit(){
    
        
// تعريف المتغيرات الوقت والرقم
        
$this->time_guest $GLOBALS['time_guest_bar3'];
        
$this->number_guest $GLOBALS['number_guest_bar3'];

        
// تعريف متغير بالوقت
        
$this->time time();
        
        
// حذف الزوار الذين خرجوا أو مضى عليهم وقت
        
@mysql_query("DELETE FROM available WHERE time_entry<".$this->time);

        
// يتم التدخول إلى هنا إذا كان الزائر جديد أو مضى عليه وقت
        
IF ($this->time_guest == "" OR $this->time_guest $this->time){

            
// إضافة زائر جديد
            
@mysql_query("INSERT INTO available SET time_entry=".$this->time."+300");

            
// إستدعاء رقم الزائر
            
$this->result = @mysql_query("select max(BRa) from available");
            
$this->row mysql_fetch_array($this->result);
            
$this->BRa $this->row[0];

            
// تسجيل وقت الدخول و رقم الزائر
            
setcookie ('time_guest_bar3'$this->time+300time() + 300);
            
setcookie ('number_guest_bar3'$this->BRatime() + 300);

        }
        
// يتم دخوله إلى هنا إذا لم يدخل في الأعلى
        
ElseIF ($this->time_guest != "" And $this->number_guest != "") {
            
// تجديد الوقت لزائر سابق
            
@mysql_query("UPDATE available SET time_entry=".$this->time."+300 WHERE BRa=".$this->number_guest);

            
// تسجيل وقت دخول جديد للزائر
            
setcookie ('time_guest_bar3'$this->time+300time() + 300);
        }
        
        
// إستعاء دالة حساب الموجودين
        
$this->num();
    }

    
// دالة حساب الموجودين
    
function num(){

        
// متغير لحساب الموجودين
        
$this->result = @mysql_query("Select * From available");
        
$this->guests = @mysql_num_rows($this->result);
    }

    
// دالة النتيجة النهائية
    
function viewers(){

        
// تعريف متغير محتوى الرسالة
        
$this->msg $GLOBALS['msg'];
    
        
// إستعاء دالة الحسابات
        
$this->audit();

        
// طباعة العدد النهائي للموجودين حالياً
        
echo "
             <div align='center'>
                  <font face='Tahoma' size='2'>\n"
;
        print 
$this->msg." ".$this->guests;
        echo 
"\n
                  </font>
             </div>"
;
    }
}
//====================End class.php===================//


//====================example.php=====================//
// الرسالة التي تظهر لزائر
$msg "مرحباً بك أخي الزائر .. المتواجدين حالياً";

// طلب الدالة النهائية
$Bar3->viewers();
//==================End example.php===================//

?>
و للتــــــــــــــجــــــــــــــربــــــــــــــــ ة إضغط هنا ..

وتقبلوا تحياتي .. عبدالعزيز






__________________

ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

ncE بارع Pri غير متواجد حالياً   قديم 25-03-2005, 04:37 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#11 (permalink)  

شكرا بارك الله فيك وماشاء الله سرعة السكريبت في التنفيذ ممتازة ..
ملاحظة عامة (لنا جميعا - أعتقد مهم أن نذكر التالي): هل هناك اشتراطات معينة أو طريقة استخدام؟ يعني مثلا يجب عمل إنكلود للملف في أول الصفحة أو ما شابه؟ أقصد ملاحظات لمن سيستخدم البرنامج






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 25-03-2005, 09:47 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jan 2005-
#12 (permalink)  

اسف على المداخله الخارجه عن الموضوع
الاستاذ انترنت بلس كيف اقدر اضيف عدد المتواجدين الى سكربت مثل سكربت دليل الموقع
من غير الفريمات






__________________
www.dooem.net
-----------------------------------------
الشبكه العقاريه للتسويق الاعلاني
seifss غير متواجد حالياً   قديم 26-03-2005, 04:25 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#13 (permalink)  

حسب سكريبت المتواجدين الذي تريد استخدامه .. لأن كل من يصنع سكريبت يكون له طريقة استخدام مختلفة .. ولهذا السبب اقترحت من المبرمجين وضع طريقة الاستخدام ..
مثلا طريقة بارع:
احفظ الكود كله في ملف بأي اسم وشيل من الملف السطور من أول السطر اللي فيه example.php ..
وضع في ملفات الدليل التي عندك أول سطر انكلود للملف الجديد ..
وفي المكان الذي تريد إظهار العدد فيه ضع الموجود في كود بارع بعد سطر example.php

أخي بارع: لم أنتبه إلى أنك مسمي أجزاء الكود بأسماء الملفات .. شكرا لك يا أخي






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 26-03-2005, 04:51 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2005-
#14 (permalink)  

عفوأً أخي انترنت والاخ المبدعين في سوالف

يعني هل البرمجة الي قدمه الاخ بارع يمكن تنفع يعني أريد أفعل طريقة عدد المتواجدين الان بالموقع هلا تنصحوني بطريقة الاخ بارع

وتقبلو خالص تحياتى لكم






البـ أحمد ـرنس غير متواجد حالياً   قديم 26-03-2005, 09:09 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#15 (permalink)  

كود بارع بارع للمواقع العادية .. لم أجربه ولكنه هو جربه وعمل معه بنجاح ..
ملاحظتي الوحيدة فقط: إذا كان عدد زوار موقعك كبيرا (30 ألف زائر يوميا) فلا تستخدمه .. وذلك بسبب تنفيذ أمر DELETE مع كل زيارة وتأثيرها على تراكم الفوقيات في قواعد البيانات بعد فترة ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 26-03-2005, 09:20 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Mar 2005-
#16 (permalink)  

أخ ncE بارع Pri
انا استخدمت الكود الي أنت عملته
ولكنه عند كل تحديث يزيد عدد الزوار ؟؟

انا سأحاول برمجة واحد ,,
وشكرا






__________________
حينما يموت الحل ... يولد الإبداع
شباب القمر
سجن البرمجة
أحد مستخدمي : MySmartBB
Dr.Nabhan غير متواجد حالياً   قديم 27-03-2005, 01:38 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Mar 2005-
#17 (permalink)  

السلام عليكم ،،
ممكن نستخدم هذه الطريقة

كود PHP:
CREATE TABLE moonps_online (
   
ID int(9not null auto_increment,
   
timein int(15not null ,
   
onlinep varchar(200not null,
   
title varchar(200not null,
   
PRIMARY KEY (ID),
); 
و php

كود PHP:
<?php
//including config
include("includes/config.php");
$timeout1 300;


// the time
$times time();
$timeout $times-$timeout1;

setcookie("test" 'test' time()+300);
if (
$_COOKIE['test'])
{
        
# Don't do any thing
}
if (!
$_COOKIE['test'])
{
        
$mm mysql_query("insert into moonps_online values('null','$timestamp','null','null')");
        }
        
//delete values when users leaves !!
$delete mysql_query("DELETE FROM moonps_online WHERE timein<'$timeout'");
if(!(
$delete)) {
print 
"Con't delete";
}

$good mysql_query("Select ID from moonps_online");
$on mysql_num_rows($good);

//The results

if($on == 1)
{
        echo 
"one user online";
}
else
{
        echo 
"$user users online";
}
mysql_close();
?>
الشرح : زراعة كوكي حتى لا يتم تحديث الزوار لنفس الزائر !!
وعن طريق هذا الكود يمكنك ان تدخل مكان التواجد وصفحة التواجد و عنوان صفحة التواجد
بتغيير قيمة المدخلات اذا لاحظت انا واضع اغلبها null

شكرا






__________________
حينما يموت الحل ... يولد الإبداع
شباب القمر
سجن البرمجة
أحد مستخدمي : MySmartBB
Dr.Nabhan غير متواجد حالياً   قديم 27-03-2005, 02:49 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2002-
#18 (permalink)  

السلام عليكم،

قمت بكتابة الملف التالي:
كود PHP:
<?php
/*
الملف: mCounter.php
الوصف: ملف لحساب عدد المتواجدين الآن.
المبرمج: MOBARMEG <mobarmeg[at]mobarmeg[dot]com>
*/
// ####### انشاء الجلسة #######
// اسم الجلسة: mCounter
session_name('mCounter');
// بدء الجلسة
session_start();

// ####### بدء السكربت #######
// انشاء تواجد للكائن mCounter
/*
تم تمرير:
   mCount.tmp.folder  كمجلد للملفات المؤقتة
   60                 التحديث كل 1 دقيقة
*/
$mCounter =& new mCounter('mCount.tmp.folder'60);

// طباعة عدد الزوار
echo $mCounter->getVisitors();

// ####### الكائن mCounter #######
class mCounter
{
 
// متغيرات داخلية
 
var $_SESSION;
 var 
$_file;
 var 
$_time;
 var 
$_fp;
 var 
$_add;

 
// الـ Constructer
 /*
 البارامترات:
             +$file: المجلد المؤقت    الزامي
             -$time: الوقت            غير الزامي
 */
 
function mCounter($file$time=60)
 {
  
// جعل قيمة المتغير الداخلي _add تساوي 0
  
$this->_add 0;

  
// جعل قيمة المتغير المحلي _SESSION هي نفسها قيمة مصفوفة الجلسات $_SESSION
  
$this->_SESSION =& $_SESSION;

  
// جعل قيمة المتغير المحلي _time قيمة البارامتر $time
  
$this->_time $time;

  
// التحقق من الملف المؤقت السابق
  
if(file_exists($file.'/'.date('i'time()-$time)))
  {
   
// حذف الملف المؤقت السابق
   
@unlink($file.'/'.date('i'time()-$time));
  }

  
// وضع قيمة ملف مؤقت في المتغير المحلي _file
  
$this->_file $file.'/'.date('i'time());

  
// استدعاء _Count()
  
$this->_Count();

  return 
true;
 }

 function 
_Count()
 {
  
// التحقق من عدم تسجيل قيمة في الجلسة أو أن القيمة المسجلة أقدم من وقت التحديث أو أن الملف المؤقت غير موجود
  
if(!$this->_getSession('mCount') || ((time()-$this->_getSession('mCount')) > $this->_time) || !file_exists($this->_file))
  {
   
// استدعاء _AddCount
   
$this->_AddCount();

   
// جعل قيمة متغير الجلسة mCount تساوي الوقت الحالي
   
$this->_setSession('mCount'time());
  }

  return 
true;
 }

 function 
_AddCount()
 {
  
// فتح الملف المؤقت للقراءة والكتابة كملف ثنائي والبداية من نهاية الملف
  
$this->_fp fopen($this->_file'a+b');
  
// ترك مسافة 1 بايت
  
fseek($this->_fpfilesize($this->_file)+1SEEK_CUR);
  
// كتابة في مكان البايت الحالي
  
fwrite($this->_fpchr(1));
  
// اغلاق الملف
  
fclose($this->_fp);

  
// جعل قيمة المتغير الداخلي _add تساوي 1
  
$this->_add 1;
 }

 function 
_getSession($INDEX)
 {
  
// ارجاع قيمة متغير الجلسة إن وجد
  
return (isset($this->_SESSION[$INDEX]) ? $this->_SESSION[$INDEX] : false);
 }

 function 
_setSession($INDEX$VALUE)
 {
  
// تغيير قيمة متغير الجلسة المفهرس بالبارامتر $INDEX وجعل قيمته تساوي البارامتر $VALUE
  
$this->_SESSION[$INDEX] = $VALUE;

  return 
true;
 }

 function 
getVisitors()
 {
  
// ارجاع حجم الملف المؤقت الحالي
  
return ($this->_add == 1) ? filesize($this->_file)+filesize($this->_file);
 }
}
?>
طريقة الإستخدام: في الملف تم تحديد المجلد mCount.tmp.folder كمجلد مؤقت .. حيث يجب أن يكون تصريح هذا المجلد 777

في الملف الذي وضعته جعلته يقوم بطباعة عدد الزوار.. تستطيع التحكم بالمخرجات .. مثلاً جعلها على شكل JavaScript لكي تستدعى من ملف html !

عيب السكربت: ان السكربت يعتمد في انشاء الملفات على عدد الدقائق.. حيث ينشىء لكل دقيقة ملف مؤقت.. وهو يقوم بحساب عدد الزوار بحيث يضيف 1 بايت لكل زائر جديد!

مثال:
http://me.mobarmeg.com/mCounter.php

الملف المصدر:
http://me.mobarmeg.com/mCounter.phps






__________________
ArabBB ... SoooooN!
Al Mobarmeg المبرمج غير متواجد حالياً   قديم 27-03-2005, 04:32 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2004-
#19 (permalink)  

ما يصح الي الصحيح

مثال:
http://me.mobarmeg.com/mCounter.php

الملف المصدر:
http://me.mobarmeg.com/mCounter.phps






cxcxc غير متواجد حالياً   قديم 27-03-2005, 04:39 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2005-
#20 (permalink)  

أرجوكم الان قولو لي ايش الكود الصح الذي استخدمه

لانه عدد الزورا أسبوعياً لايقل عن 10000 زائر

ايش الحل يا انترنت بلس






البـ أحمد ـرنس غير متواجد حالياً   قديم 27-03-2005, 08:09 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#21 (permalink)  

أحمد انتظر شوية بس ندرس السكريبتات الموجودة واحد واحد وننقحهم ونصل إن شاء الله لأفضل الطرق .. أوكي؟

عاشق القمر
لو عندك عنوان لتجربتك لاسكريبت بارع ياريت تنشره .. لأنه أنا شايف انه مش بيزود واحد مع كل رفرش ..
ملاحظاتي السريعة على سكريبتك:
1- لماذا تستخدم 2 if؟ استخدم if و else .. هذا أفضل للسيرفر من ناحية ويعتبر إضافة أمر دون جدوى من ناحية أخرى ..
2- إذا لم يتم الحذف فلماذا ستظهر رسالة خطأ؟ بعد استخدام delete وupdate إذا كانت النتيجة عدم وجود $delete فهذا ممكن يعني أنه لم توجد صفوف لحذفها .. إذن لا داعي لإظهار رسالة ..
3- أعجبني جدا استخدامك لجملة السيليكت مع id ثم حساب العدد بدالة قواعد البيانات mysql_num_rows .. هذا أخف على السيرفر 100 مرة من استخدام count في السيليكت ..
4- برضو زي ما قلت من قبل كده استخدام delete مع كل زائر رهيبة على السيرفر إذا كان عدد الزيارات كبيرا ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 27-03-2005, 11:27 PM
رد مع اقتباس
مشرف قسم PHP
تاريخ التسجيل: Nov 2001-
#22 (permalink)  

بإذن الله البرمجه هذه فيها الحل لجميع المشاكل ..

الأخ البـ أحمد ـرنس : مع التعديلات الاخيرة لن يكون هناك اي مشاكل .. تجد في المرفقات السكربت مجهز .. فقط قم بتشغيل الملف example.php ..

** والمصدر موجود أمامكم لمن كان له تعليق ..

أنشأ قاعدة بيانات باسم available وضع فيها :

كود PHP:
CREATE TABLE available 
      
BRa INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
      
time_entry int(20NOT NULL default'0' 
المصدر كاملاً :

كود PHP:
<?php
###################################################
//            سكربت عدد المتواجدين             //
//           برمجة عبدالعزيز السعيد            //
//        Email : bar3_sa(at)hotmail.com         //
//  Powered By (Pri بارع ncE) Copyright © 2005   //
###################################################

//======================config.php====================//

// === خاص بقاعدة البيانات === //
$dbserver "localhost"// اسم السيرفر  //
$dbname "available"// اسم قاعدة البيانات //
$dbuser "root"// اسم المستخدم لقاعدة البيانات //
$dbpss ""// كلمة المرور لقاعدة البيانات //

// === هذه البرمجه هي طريقة الدخول لقاعدة البيانات === //
$DBC = @mysql_connect("$dbserver""$dbuser""$dbpss");
if (!
$DBC) {
    echo 
"يوجد خطأ في سيرفر الموقع !!";
    exit();
}

$DBS = @mysql_select_db("$dbname");
if (!
$DBS) {
    echo 
"يوجد خطأ في قاعدة البيانات !!";
    exit();
}
//====================End config.php==================//


//======================class.php=====================//

// بداية class
class available {

    
// متغيرات داخلية .. الرسالة - التوقيت
    
var $msg$timerec$time_guest$number_guest;

    
// دالة الحسابات
    
Function available($msg,$timerec){
    
        
// تعريف المتغيرات الوقت والرقم
        
$this->msg $msg;
        
$this->timerec intval($timerec);
        
$this->time_guest intval($_COOKIE['time_guest_bar3']);
        
$this->number_guest intval($_COOKIE['number_guest_bar3']);

        
// تعريف متغير بالوقت
        
$this->time time();
        
        
// حذف الزوار الذين خرجوا أو مضى عليهم وقت
        
@mysql_query("DELETE FROM available WHERE time_entry<".$this->time);

        
// إفراغ الجدول إذا كان الزوار صفر
        
IF ($this->num() == 0){
            @
mysql_query("TRUNCATE `available`");
        }

        
// يتم التدخول إلى هنا إذا كان الزائر جديد أو مضى عليه وقت
        
IF ($this->time_guest == "" OR $this->time_guest $this->time){

            
// إضافة زائر جديد
            
@