مع شعبية الإنترنت، يمكن للاستطلاعات عبر الإنترنت في كثير من الأحيان تحقيق نتائج أفضل. إن وضع لوحة استبيان أسئلة مثيرة للاهتمام على موقع الويب الشخصي الخاص بك يمكن أن يضيف الكثير من الألوان إلى موقع الويب؛ ومن خلال نتائج الاستطلاع، يمكنك معرفة المزيد والمزيد من الدقة حول آراء مستخدمي الإنترنت على موقع الويب الخاص بك. باعتبارك مشرف موقع، إذا كان موقع الويب الخاص بك يحتاج أيضًا إلى إجراء استطلاعات حول موضوع معين، وكنت تكره استخدام لوحات الاستطلاع التي يقدمها الآخرون مجانًا (غالبًا ما تأتي المجانية بسعر، مثل الإعلانات!)، فأنا أقترح عليك قضاء عشر دقائق من الوقت لقراءة هذه المقالة التي تشرح استخدام ASP لإنشاء لوحة المسح. ما عليك سوى نسخ الكود الموجود في المقالة إلى جهازك، وإجراء تعديلات طفيفة، وستحصل على الفور على لوحة استبيان مخصصة خاصة بك. حسنًا، ابتهج وانظر للأسفل.
توجد ثلاثة ملفات في لوحة الاستطلاع هذه: عرض أسئلة الاستطلاع (research.html)، ومعالجة تحديدات المستخدم (select.asp)، وعرض نتائج الاستطلاع (viewresult.asp). فكرة التصميم هي: يحصل ASP على المعلومات المرسلة من النموذج، وبالتالي يقوم بتعديل قاعدة البيانات التي تسجل عدد الأصوات في الاستطلاع. ثم يقرأ ASP قاعدة البيانات، ويحصل على عدد الأصوات لكل سؤال استطلاع، ويضبط الشريط المقابل عرض الرسم البياني على أساس عدد الأصوات ويتم عرض نتائج الاستطلاع بطريقة بديهية ومتناسبة. لقد قدمت تعليقات أكثر تفصيلاً حول النقاط الرئيسية للبرنامج، ولن أخوض في المعرفة الأساسية لـ ASP هنا. يمكن للقراء التحقق من ذلك في عمود Taoba ASP. بالطبع، آمل أنه عند تصحيح أخطاء البرنامج على الخادم الخاص بك، إذا كنت لا تفهم شيئًا ما، فيجب عليك مراجعة دليل ASP الفني من حولك لمعرفة التركيب التفصيلي للكائنات أو الأساليب أو الوظائف، ومحاولة تعديلها، وانظر كيف تتغير النتائج —— هذه طريقة رائعة لتعلم البرمجة.
1. عرض أسئلة الاستطلاع (research.html)
يجب أن يعتمد تصميم أسئلة الاستطلاع على الوضع الفعلي، سواء كان عمليًا أو مثيرًا للاهتمام، ويمكن أن يكون النمط المعروض على صفحة الويب بسيطًا أو حيويًا سؤال على الصفحة الرئيسية للمؤلف. استطلاع مثير للاهتمام حول "ما هو الشيء الأكثر أهمية في القرن الحادي والعشرين؟" من أجل توضيح المشكلة، تم حذف رمز التعديل الجمالي في الكود التالي، يمكنك ذلك استخدام الجداول والتقنيات الأخرى لتجميل عرض أسئلة الاستطلاع. من أجل جعل تي تغيير التنين؟ ولوح القيقب لاي تا أشعل النار واستفاد من واجهة المستخدم الرسومية كان الشريط الركود؟
Researchindex.html:
<html>
<title>اختبار لوحة المسح</title>
<الرأس>
<!--ابدأ: تحديد نافذة جديدة-->
<لغة البرنامج النصي=جافا سكريبت>
<!--
var newWindow = null
دالةOpenWindow(htmurl)
{
إذا (! نافذة جديدة || نافذة جديدة. مغلقة)
{
نافذة جديدة =
window.open(htmurl"،newwin"،"toolbar=no,resiza =no,scrollbars=no,width=400,height=280");
}آخر
{
newWindow.focus();
}
}
//-->
<// البرنامج النصي >
<!-- end: تحديد النافذة المفتوحة حديثًا-->
<//الرأس>
<الجسم>
<!-- البداية: أسئلة الاستطلاع، الخيارات-->
< p >ما هو الشيء الأهم في نظرك في القرن الحادي والعشرين؟ </ص>
< طريقة النموذج = "POST" الإجراء = "التصويت/select.asp" الاسم = "البحث" اللغة = "جافا سكريبت"
onSubmit="OpenWindow()" target="newwin">
<ص محاذاة = "يسار">
<ر>
< نوع الإدخال = "راديو" القيمة = "1" اسم = "خيارات">المعرفة (المعرفة قوة)< br >
< input type="radio" value="2" name="Options" >المؤهلات الأكاديمية (المجتمع الأكاديمي ليس له نهاية)< br >
< نوع الإدخال = "راديو" القيمة = "3" اسم = "خيارات" > المال (الاقتصاد هو الأساس) < br >
< input type="radio" value="4" name="Options" >الحب (الحب الذي لن يدخل القبر أبدًا)< br >
< نوع الإدخال = "راديو" value = "5" اسم = "خيارات" >مثالي (يا إلهي، ما هو المثالي)< br >
< input type="radio" value="6" name="Options" >الوعي الديمقراطي (الاهتمام بالسياسة)< br >
< input type="radio" value="7" name="Options" >الفكر العلمي (تجديد شباب البلاد من خلال العلم والتعليم)< br >
<نوع الإدخال = "إرسال" القيمة = "إرسال" الاسم = "التصويت">
< نوع الإدخال = "زر" قيمة = "عرض" اسم = "عرض" onClick = "OpenWindow(vote/viewresult.asp)" >
< / النموذج>
<!-- البداية: أسئلة الاستطلاع، الخيارات-->
</الجسم>
</أتش تي أم أل>
2. معالجة اختيار المستخدم (select.asp)
بناءً على خيارات الاستطلاع المذكورة أعلاه، توصلنا إلى تصميم قاعدة البيانات Researchdb.mdb (مع أخذ Access كمثال) التي تسجل أصوات الاستطلاع. اسم الجدول هو: Research. إذا لم يتم حفظ قاعدة البيانات والجداول الخاصة بك بالأسماء المذكورة أعلاه، فلا تنس تعديلها وفقًا لذلك في الإجراءات والعمليات اللاحقة.
بحث الجدول الذي يخزن أرقام تصويت الاستطلاع:
القيمة الافتراضية لنوع بيانات اسم الحقل
معرف تلقائي رقم 1
اختر 1 رقم 0
اختر 2 رقم 0
اختر 3 رقم 0
اختر 4 رقم 0
اختر 5 رقم 0
اختر 6 رقم 0
حدد 7 رقم 0
بعد بناء قاعدة البيانات، لنقم بإنشاء مصدر بيانات على الخادم. أولاً، قم بتشغيل "ODBC" في "لوحة التحكم"، وحدد "System DSN"، ثم اضغط على الزر "إضافة"، وحدد "Microsoft Access Driver"، ثم اضغط على الزر "إنهاء" بعد التحديد، ثم انقر فوق "مصدر البيانات" في إعدادات ODBC أدخل اسم قاعدة البيانات في مربع الإدخال "الاسم"، في هذه الحالة Researchdb، ثم اضغط على الزر "تحديد" لتحديد ملف قاعدة البيانات (لن تقول أنك نسيت مكان قاعدة البيانات التي صممتها للتو). موجود)، ثم اضغط على "موافق" بعد تحديده، ويمكنك رؤية مصدر البيانات الذي تم إنشاؤه حديثًا Researchdb. وبهذه الطريقة، يمكننا أن نسميها في ASP.
Select.asp:
< %
تهدف عبارة if الموجودة أدناه إلى تحديد ما إذا كان المستخدم قد قام بالتحديد من خلال التحقق مما إذا كان التحديد فارغًا أم لا.
إذا كان request.form("options") <>فارغًا إذن
% >
< %
تقوم عبارة if التالية بمقارنة قيم المجموعتين (ServerVariables وCookies) للطلب لمنع المستخدم من الضغط المستمر على إرسال والتأثير على نتائج التحقيق.
إذا لم يكن Request.ServerVariables("REMOTE_ADDR")=request.cookies("IPAddress") إذن
اكتب معلومات IP الخاصة بالعميل الزائر في ملفات تعريف الارتباط
Response.cookies("IPAddress")=Request.ServerVariables("REMOTE_ADDR")
%>
<%
قم بإنشاء كائن اتصال وافتح قاعدة البيانات التي تسجل نتائج الاستطلاع.
تعيين conn=server.createobject("ADODB.CONNECTION")
conn.open "researchdb"
% >
< %
تحديد المتغيرات
باهتة
com.dimsql
خافت المحدد
Selected=request.form("خيارات")
قم بإنشاء كائن Recordset، وافتح الكائن باستخدام الأسلوب Open، وقم بتعديل البيانات المقابلة في نفس الوقت.
مجموعة rs=server.createobject("adodb.recordset")
تعديل البيانات في جدول بيانات البحث، أي زيادة عدد الأصوات المقابلة بمقدار 1
sql="تحديث مجموعة البحث حدد"&selected&"=select"&selected&"+1 حيث المعرف=1"
rs.open SQL، كون، 3،3
امسح كائن مجموعة السجلات من الذاكرة
تعيين RS=لا شيء
اتصال وثيق
conn. Close
مسح كائن الاتصال من الذاكرة
تعيين كون = لا شيء
اتصل بالصفحة لتصفح نتائج الاستطلاع
استجابة.إعادة توجيه "viewresult.asp"
آخر
Response.write "تذكير بفشل التصويت: لقد قمت بالتصويت للتو، شكرًا لك على دعمك!"
نهاية إذا
آخر
Response.write "مطالبة فشل التصويت: لقد نسيت الاختيار!"
نهاية إذا
% >
3. تصفح نتائج الاستطلاع (viewresult.asp)
في هذا المثال، يتم استخدام مخطط شريطي لعرض نتائج الاستطلاع بشكل مرئي، وتتمثل الطريقة في ضرب قيمة النسبة المئوية لعدد الأصوات للخيار في إجمالي عدد الأصوات بمقدار 5، ويتم استخدام القيمة الناتجة كعرض شريطي لعرض bar.gif (يمكنك استخدام أدوات الصور الشائعة لإنشاء مخطط شريطي متدرج صغير، أو تنزيل واحد عبر الإنترنت). من أجل إعطاء النسبة المئوية للأصوات بمنزلتين عشريتين، يتم استخدام وظيفة التقريب Round في VBScript في البرنامج. ومن باب الجمال يتم عرض نتائج الاستطلاع في جدول كما هو موضح في الشكل. تم حذف تصميم الجدول من الكود الموضح أدناه.
viewresult.asp
<%
تعيين conn=server.createobject("ADODB.CONNECTION")
conn.open "researchdb"
%>
<%
باهتة
com.dimsql
حدد خافت1
حدد خافت2
حدد خافت3
حدد خافت4
حدد خافت5
حدد خافت6
حدد خافت7
إجمالي خافت
مجموعة rs=server.createobject("adodb.recordset")
sql = "اختر * من البحث حيث المعرف = 1"
rs.open SQL، كون، 1،1
المجموع=rs("select1")+rs("select2")+rs("select3")+
_ rs("select4")+rs("select5")+rs("select6")+rs("select7")
تحديد ما إذا كان العدد الإجمالي للأصوات هو 0 والتأكد من صحة التقسيم التالي
إذا كان المجموع> 0 ثم
حدد1=(rs("select1")/الإجمالي)*100
حدد2=(rs("select2")/الإجمالي)*100
حدد3=(rs("select3")/الإجمالي)*100
حدد4=(rs("select4")/الإجمالي)*100
حدد5=(rs("select5")/الإجمالي)*100
حدد6=(rs("select6")/الإجمالي)*100
حدد7=(rs("select7")/الإجمالي)*100
%>
< p >شكرًا لك على مشاركتك، فيما يلي نتائج الاستطلاع الحالية.
<ص>
◇ المعرفة:
< img src=bar.gif width=< %=int(select1*5)% > الارتفاع=4 >
< %=rs("select1")% >الفترة: < %=round(select1,2)% >%< br >
◇التعليم:
< img src=bar.gif width=< %=int(select2*5)% > الارتفاع=4 >
< %=rs("select2")% >الفترة: < %=round(select2,2)% >%< br >
◇ المال:
< img src=bar.gif width=< %=int(select3)*5% > الارتفاع=4 >
< %=rs("select3")% >الفترة: < %=round(select3,2)% >%< br >
◇الحب:
< img src=bar.gif width=< %=int(select4)*5% > الارتفاع=4 >
< %=rs("select4")% >الفترة: < %=round(select4,2)% >%< br >
◇مثالية:
< img src=bar.gif width=< %=int(select5)*5% > الارتفاع=4 >
< %=rs("select5")% >الفترة: < %=round(select5,2)% >%< br >
◇الوعي الديمقراطي:
< img src=bar.gif width=< %=int(select6)%*5 > الارتفاع=4 >
< %=rs("select6")% >الفترة: < %=round(select6,2)% >%< br >
◇الفكر العلمي:
< img src=bar.gif width=< %=int(select7)%*5 > الارتفاع=4 >
< %=rs("select7")% >الأشخاص: < %=round(select7,2)% >%< /p >
< p align="center" >بالفعل: < %=total% > شارك الأشخاص في الاستطلاع <ر><ر>
【< a href="javascript:window. Close()" >إغلاق النافذة</a>】</p>
<ص>
<%
آخر
Response.write "لم يشارك أحد في الاستطلاع بعد"
نهاية إذا
rs. Close
تعيين RS=لا شيء
conn. Close
تعيين كون = لا شيء
%>
ملاحظة:
تم تصحيح الرموز المذكورة أعلاه على WindowsNT4.0 Chinese (Pack 6)/IIS4.0.
يمكن تنفيذ ASP في أي من البيئات التالية:
1. Windows NT Server 4.0 / IIS3.0 أو أعلى 2. Windows NT WorkStation 4.0 / Microsoft Peer Web Service 3.0 أو أعلى 3. Windows 95/98 / Microsoft Personal Web Server 1.0a أو أعلى