مثال
لتمثيل المبادئ التي قمنا بمناقشتها، سنقوم ببناء مثال عملي لبعض المبادئ
الرئيسية المتعلقة بنظام التجارة الإلكترونية، وذلك باستخدام قاعدة معطيات
مبنية في برنامج Access، وتطبيقات ASP.
الخطوة الأولى: بناء قاعدة المعطيات
الخطوة الأولى هي بناء قاعدة معطيات. قوموا بإنشاء قاعدة معطيات فارغة باستخدام
برنامج Access، ومن ثم قوموا بحفظها تحت اسم "stock.mdb" في المجلد الملائم.
الخطوة الثانية: بناء الجداول، وإضافة الحقول، وإدخال بعض المعطيات
قوموا بإنشاء أربعة جداول جديدة في قاعدة المعطيات، ثم اختاروا شاشة التصميم
عندما يُطلب منكم ذلك. الجدول الأول هو للبضاعة Stock. وكما هو موضح في المخطط
أدناه، قوموا بإضافة الحقول التالية إلى الجدول: رقم البضاعة Stock ID، الوصف
Description، الثمن Price، وعدد المواد في المستودعات Number In Stock.
ضعوا المؤشر على StockID وانقروا الزر اليميني، ومن ثم قوموا باختيار هذا الحقل
ليكون مفتاحاً رئيسياً. قوموا بحفظ الجدول باسم tblStock.
قوموا الآن بفتح الجدول في شاشة جدول البيانات Datasheet View. أدخلوا بعض
المعطيات في الجدول، كما هو مبين في المخطط أدناه. ليس هناك حاجة لإدخال قيم
داخل حقل StockID لأن النظام سيقوم بترقيم الجدول تلقائياً.
أما الجدول الثاني فهو جدول الزبائن وسنقوم بتسميته tblCustomer.
عليكم إضافة الحقول التالية لهذا الجدول: CustomerID، Username، Password،
Name، Address، Email، على أن تقوموا بتحديد نمط كل من الحقول. يمكنكم إضافة
اسماء زبائن إذا رغبتم بذلك.
ثالثاً، قوموا بإنشاء جدول للطلبيات باسم: tblOrder. عليكم إضافة الحقول
التالية لهذا الجدول: OrderID، CustomerID، DateOfOrder. لاحظوا إننا وضعنا
مفتاح ثانوي لخلق علاقة بين الجداول. عليكم ترك هذا الجدول فارغاً.
أخيراً، قوموا بإنشاء جدول للمواد التي ستوضع في الطلبيات باسم: tblPurchase.
عليكم إدراج الحقول التالية لهذا الجدول: PurchaseID، OrderID، StockID،
Quantity.
الخطوة الثالثة: تسجيل قاعدة المعطيات في سجل النظام
الخطوة التالية هي تسجيل قاعدة المعطيات في سجل النظام System Registry، بإعطاء
اسم مصدر المعطيات DSN باستخدام لوحة ODBC الموجودة داخل لوحة التحكم الخاصة
بنظام Windows. أدخلوا اسم dbMyShop.
إذا كنتم تستخدمون مخدم ويب عن بعد، عليكم استخدام لوحة تحكم على الانترنيت
لإدخال اسم مصدر المعلومات ومن ثم تحميل قاعدة المعطيات باستخدام بروتوكول نقل
المعطيات FTP.
الخطوة الرابعة: إنشاء صفحة ASP لبناء جدول المنتجات
الخطوة التالية هي إنشاء صفحة ويب تتضمن قسم لبناء جدول المنتجات الموجودة في
قاعدة المعطيات. سيتم الدخول إلى المنتجات الموجودة في قاعدة المعطيات بكتابة
برنامج ASP في صفحة ويب. لذا، يجب حفظ هذه الصفحة مع لاحقة asp. عوضاً عن html.
قوموا بحفظ الملف باسم default.asp.
سيقوم برنامج ASP أدناه بعرض المواد في المستودع:
<%set conn = server.createobject
("adodb.connection")conn.open "dbMyShop"set rs = conn.execute("select * from
tblStock order by Price desc")do until (rs.EOF) set StockID = rs("StockID")
set Description = rs("Description") set Price = rs("Price") set
NumberInStock = rs("NumberInStock") response.write "<FONT size=""3""
color=""black""><B>" & Description & "</B></FONT>" response.write "Price: £"
& Price & ". " response.write "Number in stock: " & NumberInStock & ""
response.write "Order this item. Quantity: <INPUT type=""text"" name=""" &
StockID & """ size=""2"" maxlength=""2"" value=""0"">"
rs.MoveNextlooprs.closeset rs = nothingconn.close%>
سنقوم بشرح البرنامج:
مهمة هذين السطرين هي إنشاء اتصال مع قاعدة المعطيات باستخدام اسم مصدر
المعلومات الذي قمنا بإدخاله قبل قليل.
set conn = server.createobject ("adodb.connection")
conn.open "dbMyShop"
يقوم هذا السطر ببناء متحول باسم rs ويشير إلى مجموعة سجلات في قاعدة
المعطيات التي أنشأتموها، وذلك باستخدام استعلام بسيط بلغة SQL.
set rs = conn.execute("select *
from tblStock order by Price desc")
إن القيم الموجودة في قاعدة المعطيات هي نتيجة مجموعة السجلات recordset
التي تم إنشاؤها.
set StockID = rs("StockID")
set Description = rs("Description")
set Price = rs("Price")
set NumberInStock = rs("NumberInStock")
أما هذه السطور فيتم حفظها في صفحة الويب لتشكل جزءاً من صفحة الاستعلام،
إلى أن يتم الانتهاء من عملية تثبيت الصفحة:
response.write "<FONT size=""3"" color=""black""><B>" & Description &
"</B></FONT>"
response.write "Price: £" & Price & ". "
response.write "Number in stock: " & NumberInStock & ""
response.write "Order this item. Quantity: <INPUT type=""text"" name=""" &
StockID & """ size=""2""> maxlength=""2"" value=""0"""
أما تنفيذ حلقة التكرار Loop فيستمر حتى الانتهاء من الدخول إلى كافة
السجلات، ومن ثم يتم إغلاق السجلات المفتوحة وإنهاء الاتصال.
النموذج Form
يوجد في نص البرنامج بطاقة إدخال INPUT Tag مهمتها بناء حقل حوار يسمح للمستخدم
بإدخال كمية المواد المراد طلبها. وتكون كل تعليمات ASP محتواة ضمن بطاقة
النموذج FORM Tag على الشكل التالي:
<FORM method="post" action="placeorder.asp"
name="frmMyShop">
....ASP code....
<INPUT type="submit" value="Place order">
</FORM>
تم استخدام أسلوب POST في المثال أعلاه لإرسال هذا النموذج، حيث تم إرساله إلى
صفحة ASP أخرى اسمها placeholder.asp.
الخطوة الخامسة: إنهاء عملية الشراء
تقوم صفحة placeholder.asp بعدد من الوظائف، حيث تقوم في البداية بتخزين تفاصيل
عن المواد التي قام الزبون بطلبها ووضع هذه التفاصيل في حقول مخفية داخل هذه
الصفحة الجديدة. ولتبسيط العملية، سوف لن نقوم باستخدام نظام سلة الشراء أو
Basket System، لأن نظاماً كهذا يتطلب وجود العديد من الجداول وCookies لتخزين
تفاصيل المواد الموجودة في سلة الشراء. أما الحقول المخفية التي نستخدمها فتقوم
بتخزين رقم البضاعة StockID والكمية التي قام المستخدم بطلبها.
يجب أن تظهر تفاصيل الطلبية على الشاشة، بالإضافة إلى تفصيل عن الحساب، والثمن
الإجمالي للطلبية ونسبة الضريبة المالية، إن وجدت.
يجب أن تحتوي الصفحة أيضاً على حقول تسمح للمستخدم بإدخال معلومات شخصية،
كالاسم، والعنوان، وطريقة الدفع المراد استخدامها، كبطاقة الاعتماد، حيث يتم
استخدام طرف ثالث في هذه الحالة لضمان عملية تحويل المبلغ على الانترنيت.
بعد إدخال التفاصيل، يقوم الزبون بإرسال الطلبية. حينئذ، يقوم النظام بإرسال
كافة تفاصيل الطلبية، ومعلومات الزبون الشخصية إلى قاعدة المعطيات، وبهذا تنتهي
عمليتي الشراء وتثبيت الطلبية. يمكننا القيام بكل هذا باستخدام برمجيات ASP،
كتلك التي قمنا باستخدامها سابقاً، عدا أننا سنستخدم التعليمتين: INSERT و
UPDATE الخاصتين بلغة SQL، بدلاً من SELECT.
قد يقوم برنامج التجارة الإلكترونية الذي قمنا ببنائه بإرسال بريد الكتروني إلى
قسم المبيعات وإعلامهم بالطلبية كي يقوموا بمتابعتها.
يمكنكم استخدام النص البرمجي التالي لإرسال البريد الإلكتروني المذكور أعلاه،
وذلك باستخدام أحد مكونات ASP واسمه JMail.
<%
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "smtp.somewebsite.com"
JMail.SenderName = "E-commerce web site"
JMail.Sender = "webmaster@somewebsite.com"
JMail.AddRecipientEx "sales@somewebsite.com", "Sales"
JMail.Subject = "An order has been placed"
JMail.Body = "............DETAILS OF ORDER..........."
JMail.Execute
%>
|
|