السلام عليكم و رحمة الله و بركاته
اخوانى الاعزاء كل عام و انتم بالف صحة و خير
انا استفت كثير جدا جدا من هذا المنتدى و من لغة البرمجة الى بعشقها asp Classic و تعلمت الكثير و الكثير هنا
حبيت انت اضع بعض الدروس المتقدمة و ذات الافكار الجميلة و التى تجعل من برمجتك داينميكية و تفاعلية اكثر ما بين الزائر و السيرفر
الدروس التى سوف اضعها باذن الله تعالى
1- كيفية عمل نظام الردود و التعليقات على الاخبار
2- كيفية عمل نظام بريد الاكترونى شامل لموقعك
3- كيفية برمجة المتواجدون الان مثل الموجود فى الكثير من المواقع و المنتديات التى تم برمجتها ب asp
---------------------------
1- برمجة المتواجدون الان
فكرة العمل تعتمد على ip الزائر + وقت دخول الموقع و يتم تسجيلهم فى قاعدة البيانات و عند دخول نفس الزائر بعد مدة معينة من الوقت يتم مسح ip الخاص به القديم و اضفاته من جديد بحيث لا يكرر نفس الزائر و يحسبه مرتين......
تم تنفيذ الفكرة من برمجة هالك ب php و حولتها ل asp Classic
الرابط الخاص بالهاك php
http://www.almashroo.com/articles/ب...ون-الآن/
اولا تم تنفيذ قاعدة البيانات MS Access
و بها جدول يسمى onlinetb
و به حقلين ipadd و الذى سوف يتم وضع به ip الخاص بالزائر
timeout و يتم تسجيل الوقت الخاص بدخول الزائر
اولا كود الخاص ب الكونيكشن او الاتصال بقاعدة البيانات طبعا لا يحتاج الى شرح
كود:
<% @language=VBScript codepage = "1256"%>
<%set conn=server.createobject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.MapPath("online.mdb"))
%>
باقى الكود الخاص بالصفحة
كود:
<html dir="rtl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>New Page 1</title>
</head>
<body>
<%
dim Str
Str="select * from onlinetb "
dim objRS3
dim wael
wael = Request.ServerVariables("remote_host")
dim t
t = time()
%>
<br>
<%
response.write (t)
response.write (wael)
limitsec=t - "10"
deleteSQL = "delete * from onlinetb where ipadd=('"&wael&"') or timeout<('"&t&"')"
conn.execute(deleteSQl)
response.write (limitsec)
set addSQL=conn.execute("insert into onlinetb (ipadd,timeout) values ('"&wael&"','"&limitsec&"')")
Str="select count(*) from onlinetb "
set objRS3=conn.execute(Str)
response.write (objRS3(0))
objRS3.close
set objRS3=Nothing
conn.close
set conn=nothing
%>
</body>
</html>
اولا يتم تعريف المتغير objRS3 للاستدعاء من قاعدة البيانات
كود:
wael = Request.ServerVariables("remote_host")
تم تعريف المتغير wael و تم استدعاء من ip الخاص بجهاز زائر الموقع
استدعاء دالة time وقت الخاص بالسيرفر
كود:
response.write (t)
response.write (wael)
طبع القيم الخاصة بالمتغيرات للتاكد من ان كل شىء سليم
كود:
deleteSQL = "delete * from onlinetb where ipadd=('"&wael&"') or timeout<('"&t&"')"
اولا يتم تنفيذ الاستعلام الخاص بالحذف اذا كانت الزائر دخل بنفس ال ip مرة ثانية يعطيه نفس القيمة بحيث لا يحدث تكرار
كود:
set addSQL=conn.execute("insert into onlinetb (ipadd,timeout) values ('"&wael&"','"&limitsec&"')")
اضافة المتغيرات الى قاعدة البيانات
كود:
Str="select count(*) from onlinetb "
set objRS3=conn.execute(Str)
response.write (objRS3(0))
تنفيذ استعلام الخاص بجمع جميع الحقول الموجودة فى قاعدة البيانات باستخدام count
ارجو من الله ان اكون وفقت و قدمت شىء جديد للمنتدانا الغالى و اشكر استاذى عبد الله الذى علمنى الكثير
تم تقديم هذا الدرس بواسطة وائل هندام WH Designer advertising co.
تحميل جميع الاكواد مضبوطة فى المرفقات
عند النقل نرجو ذكر صاحب الدرس و شكرا
ارجو الدعاء لى و لوالدى بالشفاء يارب العالمين
تم تعديل الموضوع و اداراج شرح مفصل