السلام عليكم
كيف اقوم بعمل عداد زوار؟
وماهو الكود الذي يعرض عدد الزوار الحاليين؟
شكرا لكم
السلام عليكم
كيف اقوم بعمل عداد زوار؟
وماهو الكود الذي يعرض عدد الزوار الحاليين؟
شكرا لكم
abo_alzobaer@hotmail.com
جربت محرك البحث في المنتدى ؟
إذا لم تخرج منه بنتيجة اخبرني
خرجت بالبحث في هذا القسم بنتيجة واحده ولم تفيد انها بالasp وتتعلق بقواعد البيانات
اريد عداد زوار بدون قاعدة بيانات
واريد معرفة عدد الزوار الحاليين
لم اجد شيئا بممحرك البحث
شكرا
abo_alzobaer@hotmail.com
::::التوقيع::::
موقع ممتاز
وان شاء الله يفيد الجميع
وشكرا
؟؟لماذا لا يصل الايميل المرسل من صفحتي الي الهوتميل؟؟
مستوي الجدية في المواضيع المطروحة
لا اله الا الله محمد رسول الله
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله
مسألة عداد زوار بدون قاعدة بيانات مسألة لا أرجحها بالمرة لأنك هنا ستعتمد ربما على ملف نصي أليس كذلك ؟ هذا الملف قد يتلف إذا كان لديك زوار كثيرون أو ضغط في لحظة معينة ، وتجد أن العداد أصبح صفراً ونعود للبداية من جديد ، لذا أنصحك بقواعد البيانات
بالنسبة لسؤال عدد المتواجدين حالياً
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Application("intActiveUserNumber") = 0
End Sub Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
Session.Timeout = 1
Application.Lock()
Application("intActiveUserNumber") = Application("intActiveUserNumber") + 1
Application.UnLock()
End Sub Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
Application.Lock()
Application("intActiveUserNumber") = Application("intActiveUserNumber") - 1
Application.UnLock()
End Subهذه الأكواد كما هو واضح تكتب في ملف ال Global
والآن يمكنك استدعاء هذه القيمة Application("intActiveUserNumber") من أي جزء داخل برنامجك ، مثال :
lblCounter.Text = Application("intActiveUserNumber")أعانك الله على الحق والخير
تم تعديل هذه المشاركة بواسطة محمد النحراوي في 11 مايو 2005 في 23:38
عفوا اخ محمد بس طلع لي هالخطأ قت ال run
'System.Web.HttpApplication.Application' denotes a 'property' where a 'method' was expected
مع العلم اني استخدم كود السي شارب
وجزاك ربي كل خير
abo_alzobaer@hotmail.com
عند التعامل مع ال Application Object فأنت تتعامل مع Collection و ليس Method و للوصول لأي Index داخل ال Collection يجب أن تستخدم الأقواس المربعة [ ]
مثال :
Application["intActiveUserNumber"] = ........... // what ever u like
You can fly while you can touch the sky
معلومة مهمة ..... عندما تتعامل مع ال Application Object فإن القيمة المخزنة خلالها تكون قيد المشاركة لجميع مستخدمي التطبيق و توضيحا لكلام الأخ العزيز "محمد النحراوي" فإن مجرد إعادة تشغيل نظام التشغيل أو خادم صفحاتا لويب IIS ستكون كافية كي تعيد القيم المخزنة داخل الكائن Application إلى الصفر و بالتالي فهي عقيمة و يجب إستخدام قواعد البيانات أو الملفات النصية أو حتى ملف XML .. فكرة ملف Global.asax تكون عملية في موضوع عداد الزيارات فقط في حالة معرفة عدد المتواجدين الحاليين كما ذكر الأخ النحراوي في مثاله بالأعلى.
والله الموفق
You can fly while you can touch the sky
وجزاك الله خيراً أخي الكريم ، واعذرني فلقد كتبت الكود VB.NET
وجزى الله خيراً أخي الحبيب محمد صلاح ، بارك الله له في وقته حتى يخرج لنا من الكنوز الكثير ;)
اخي محمد
اشكرك على شرحك الوافي
لكن للاسف
لم تنجح الطريقه بالسي شارب
هناك اكثر من خطأ
هل ممكن توضح اكثر
سامحني تعبتك معاي
abo_alzobaer@hotmail.com
ممكن انت تكتب الكود والخطأ الذي تواجهه؟
انا الان بالعمل لكن ربما لو نظرت للكود سوف أجد المشكلة عندك :)
لكن بداية أتوقع ان المشكلة او رسالة الخطأ هي
can not convert from object to int
لو كانت هي فالمشكلة سببها هو محاولة جمع القيمة 1 للكائن Application و الحل هو تحويلها لرقم قبل إضافة الواحد
Application["hits"]=(int)Application["hits"] + 1;
عموما لو استمرت المشكلة سوف أكتب لك مثالا من البيت مساءا.
You can fly while you can touch the sky
والله احنا بخير مادام عندنا بالمنتدى واحد مثلك
صحيح طلع لي نفس الخطأ
لكن العداد ما اشتغل
ياليت تكتب المثال
وكثر الله من امثالك
abo_alzobaer@hotmail.com
هذا مثال بال #C لملف Global.asax
protected void Application_Start(Object sender, EventArgs e)
{
this.Application["hits"]=0;
}
protected void Session_Start(Object sender, EventArgs e)
{
this.Session.Timeout=1;
this.Application.Lock();
this.Application["hits"]=(int)this.Application["hits"]+1;
this.Application.UnLock();
}
protected void Session_End(Object sender, EventArgs e)
{
this.Application.Lock();
this.Application["hits"]=(int)this.Application["hits"]-1;
this.Application.UnLock();
}
// Default Page
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
Response.Write(this.Application["hits"].ToString());
}
}جربت المثال واشتغل معي :)
تم تعديل هذه المشاركة بواسطة محمد خليل أبو صلاح في 11 مايو 2005 في 23:41
You can fly while you can touch the sky
اشكرك اخي العزيز
ولو كان عندنا 2 مثلك بالمنتدى
ماكنا احتجنا شي ابدا
شكرا جزيلا
abo_alzobaer@hotmail.com
هذا الموضوع مغلق.