تحدثنا سابقا عن المتغيرات. وقلنا
أننا نكتب اسم المتغير ثم نضع علامة (=) بعد اسمه ونضع قيمته بعد علامة
اليساوي. وذكرنا أن القيمة قد تكون رقما، أو كلمة، أو مدخلات في حقول
من صفحات سابقة. وذكرنا أنه إن كانت طريقة نقل البيانات GET نستخدام العبارة
Request.QueryString
للتعبير عن المدخلات. أما إن كانت POST فسنستخدم Request.Form . والآن لنشرح المتغيرات التي
لدينا.
لدينا 7 متغيرات. اترك المتغير الأول جانبا الآن.
ولننظر للست متغيرات الأخرى ( name, email, website,
link, ranking and comment) تشترك هذه المتغيرات الستة في نفس
طريقة الكتابة. حيث تم تحديد اسمها، ومن ثم وضع علامة (=) ثم تم
الإفصاح عن أن قيمة هذه المتغيرات ستكون عبارة عن مدخلات في حقول في
الصفحة السابقة وذلك بالعبارة Request.Form أما أسماء الحقول في الصفحة
السابقة فتم كتابتها بين هذه العلامات: (" ")
والآن، لنرجع للمتغير الأول وهو add_dat . تم تحديد قيمة المتغير بـ now() وهذه القيمة هي قيمة ثانية في اللغة تعطي:
الوقت والتاريخ الحاليتين. وهنالك الكثير من الدوال الأخرى أهمها :
|
المعنى |
الدالة |
| الوقت والتاريخ
الحاليين |
Now() |
| التاريخ
الحالي |
Date() |
| السنة
الحالية |
Year() |
| الوقت
الحالي |
Time() |
| الساعة
الحالية |
Hour() |
بعد تحديد المتغيرات تم كتابة جملة تبدأ بـ if . وهذه جملة شرطية. صيغتها:
If something Then
something
Else
something
End
if
حيث أن كلمة something
تعبر عن : شرط تقوم بتحديده، وفعل يجب القيام به. لنفترض أن
الشرط هو: الساعة 12. والفعل أو الإجراء هو طباعة: (ابتدأ يوم جديد).
والإجراء البديل هو طباعة: (لازلنا في نفس اليوم). بإمكاننا استخدام
هذا الشرط، حيث سنكتب if ثم سنكتب الشرط
المطلوب. ثم سنكتب Then لتنفيذ الإجراء
المطلوب. وفي حالة عدم تحقق الشرط يتم تنفيذ الإجراء البديل الذي بعد
Else . ونغلق الدالة الشرطية بـ End if
ويمكن أن تتطور هذه الصيغة في حالة وجود أكثر
من شرط لتصبح كالتالي:
If something Then
something
Else If something
Then
something
Else If something
Then
something
Else
something
End if
End if
End
if
لنعد للـ Code ونرى
كيف تم استخدام الدالة الشرطية.
If name="" or comment="" then
في السطر السابق تم تحديد الشرط، وهو: إن
كانت Name أو Comment
لا تساوي شيئا (أي حقول فارغة) قم بالتالي...
من السطر السابق نفهم أمران هما:
أما الإجراء الواجب القيام به في حالة تنفيذ
الشرط فهو الآتي:
response.write "<center>" & "لم تقم بإدخال جميع
الحقول المطلوبة.. من فضلك اضغط زر عودة في متصفحتك وقم بإدخال جميع
الحقول"
أي: اطبع الجملة التالية: (لم تقم بإدخال
جميع الحقول المطلوبة.. من فضلك اضغط زر عودة في متصفحك وقم بإدخال
جميع الحقول).
الأمر الجديد في response.write هذه المرة هو أننا قمنا بكتابة أمر
HTML ضمن أوامر ASP
وكأنه واحد منها. هذا أمر هو <center>
أي: توسيط. والذي سيجعل الجملة تظهر في منتصف السطر. تم كتابة
هذا الأمر على النحو التالي: وضعت علامات التنصيص "" ثم كتب الأمر
بداخلها ثم وضعت علامة (و) & وتم كتبة
الجملة التي نريد طباعتها.
هذا هو الشرط. أما الإجراء البديل في حالة
عدم تحقق الشرطة (أي في حالة وجود بيانات في هذه الخانات) فهو:
addSQL= " insert into guest_book
(add_dat,name,email,website,link,ranking,comment) values
('"&add_dat&"','"&name&"','"&email&"','"&website&"','"&link&"','"&ranking&"','"&comment&"')
"
وفي هذا السطر أمر جديد، هو insert ووظيفته: إضافة المدخلات لقاعدة البيانات.
وصيغته كما هو واضح بالأعلى. يكتب الأمر insert
متبوعة بالكلمة into ثم اسم الجدول
المراد إضافة البيانات إليه. وبين قوسين تكتب أسماء الخانات في الجدول
المطلوب إضافة المدخلات إليها. ثم تكتب values
وبعدها بين قوسين أيضا القيم المراد إضافتها وهي بنفس ترتيب
الحقول.
تكتب القيم هكذا:
'"&add_dat&"'
بعد سطر insert يتم
كتابة سطر تنفيذ الأمر وهو :
ADO.execute(addSQL)
الاسم addSQL نحن من
قام بتحديده، ويمكننا تغييره كيفما نشاء.
لازلنا في الجملة الشرطية، حيث تم تحديد فعل
أو إجراء إضافي هو:
response.redirect "guest.asp"
وهذه الجملة تعني: انتقل للصفحة أو العنوان
الموجود بين علامتي التنصيص. وفي حالتنا هذه طلبنا منه الانتقال إلى
صفحة عرض التواقيع.
تم أغلنا الشرط بـ End
if
لنتخيل الآن طريقة عمل
هذه الصفحة.
سيكتب الشخص توقيعه أو ملاحظاته، وسيضغط على
زر: إضافة التوقيع. سيبدأ المتصفح بقراءة هذه الصفحة. فسيجد مجموعة من
المتغيرات، تعبر عن المدخلات التي تم إضافتها في التوقيع. ثم سيجد دالة
شرطية، تطلب منه التحقق من أمر معين. هذا الأمور هو: هل توجد مدخلات في
حقول الاسم والتعليق أم لا. ثم سيجد بمجموعة من الإجراءات. في حال تحقق
الشرط (أي عدم موجود قيم في هذين الحقلي) ستظهر العبارة التالية: (لم
تقم بإدخال جميع الحقول المطلوبة.. من فضلك اضغط زر عودة في متصفحك وقم
بإدخال جميع الحقول) أما في حالة عدم تحقق الشرط (أي في حالة وجود قيم
في هذه الحقول) سيتم تنفيذ أمر إضافة البيانات لقاعدة البيانات، تم فتح
صفحة عرض التواقيع.
من الجدير بالذكر أن هذه العملية ستستغرق
ثواني قليلة قد لا يشعر بها الزائر.