Những công nghệ của microsoft được dùng cho thương mại điện tử

Thương mại điện tử có nguồn gốc từ Electronic Data Interchange (EDI). EDI là một phương pháp truyền thông tin từ máy này sang máy khác. EDI được phát triển cho phộp cỏc doanh nghiệp tự động hoỏ tiến trỡnh truyền tải cỏc tài liệu kinh doanh như hoá đơn và các mặt hàng. EDI cũng có thể sử dụng để truyền tải những loại thông tin khác. Ví dụ các trường đại học dựng EDI để truyền học bạ của cỏc sinh viờn, cỏc trung tõm y tế dựng EDI để truyền hồ sơ bệnh án. Thương mại điện tử bao gồm 3 loại giao dịch kinh doanh: Thứ nhất, giao dịch có thể diễn ra giữa doanh nghiệp với người tiêu dùng. Thứ hai, giao dịch giữa các doanh nghiệp với nhau. Thứ ba, giao dịch giữa người tiêu dùng với người tiêu dùng. Các giao dịch bằng thẻ tín dụng dường như là một yếu tố cần thiết trong thương mại điện tử. Thương mại điện tử có thể chỉ bao gồm những bước dẫn đến hoạt động mua bỏn chứ khụng phải quyết định mua cuối cựng. Thương mại điện tử đề cập đến quỏ trỡnh mua hoặc bỏn một sản phẩm hoặc dịch vụ qua một mạng điện tử. Môi trường phổ biến nhất để thực hiện thương mại điện tử đú chớnh là Internet.

doc54 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2197 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Những công nghệ của microsoft được dùng cho thương mại điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương I Đưa một cửa hàng lên mạng Internet 1. GIớI THIệU Về THƯƠNG MạI ĐIệN Tử 1.1. THƯƠNG MạI ĐIệN Tử Là Gì ? Thương mại điện tử cú nguồn gốc từ Electronic Data Interchange (EDI). EDI là một phương phỏp truyền thụng tin từ mỏy này sang mỏy khỏc. EDI được phỏt triển cho phộp cỏc doanh nghiệp tự động hoỏ tiến trỡnh truyền tải cỏc tài liệu kinh doanh như hoỏ đơn và cỏc mặt hàng. EDI cũng cú thể sử dụng để truyền tải những loại thụng tin khỏc. Vớ dụ cỏc trường đại học dựng EDI để truyền học bạ của cỏc sinh viờn, cỏc trung tõm y tế dựng EDI để truyền hồ sơ bệnh ỏn. Thương mại điện tử bao gồm 3 loại giao dịch kinh doanh: Thứ nhất, giao dịch cú thể diễn ra giữa doanh nghiệp với người tiờu dựng. Thứ hai, giao dịch giữa cỏc doanh nghiệp với nhau. Thứ ba, giao dịch giữa người tiờu dựng với người tiờu dựng. Cỏc giao dịch bằng thẻ tớn dụng dường như là một yếu tố cần thiết trong thương mại điện tử. Thương mại điện tử cú thể chỉ bao gồm những bước dẫn đến hoạt động mua bỏn chứ khụng phải quyết định mua cuối cựng. Thương mại điện tử đề cập đến quỏ trỡnh mua hoặc bỏn một sản phẩm hoặc dịch vụ qua một mạng điện tử. Mụi trường phổ biến nhất để thực hiện thương mại điện tử đú chớnh là Internet. 1.2. Những công nghệ của Microsoft được dùng cho thương mại điện tử Microsoft đưa ra hai Web Server: Personal Web Server và Internet Infor-mation Server. Microsoft Personal Web Server hoạt động với Win9X hoặc Windows NT Workstation. Personal Web Server được tạo ra với hai mục đớch: dựng để đăng tải một Website cú lưu lượng thấp và để thử nghiệm một Website, khụng phải là một Web Server thớch hợp cho việc đăng tải một site thực trờn Internet. Internet Information Server cú thể phục vụ hàng trăm hoặc thậm chớ hàng ngàn người sử dụng cựng một lỳc. Internet Information Server tương thớch với Windows NT Server hoặc Windows 2000 Server. Nú được cung cấp như một thành phần của hai hệ điều hành này. Để tạo một Website thương mại ta cần một cơ sở dữ liệu để lưu trữ thụng tin về sản phẩm và những thụng tin khỏc. Microsoft Access là hệ quản trị cơ sở dữ liệu dành cho mỏy để bàn nờn chỉ sử dụng trong việc thử nghiệm Website hoặc Website cú lưu lượng thấp. SQL Server là hệ quản trị Client/ Server nờn cú thể hỗ trợ cho hàng ngàn người sử dụng cựng một lỳc. Chuyờn đề thương mại điện tử em sử dụng cụng nghệ Active Server Pages và cơ sở dữ lệu Access. Một trang ASP là một file bất kỳ định vị trờn Server cú phần mở rộng là .asp, sử dụng ngụn ngữ kịch bản nờn cỏc script ASP chạy trong cựng một tiến trỡnh với Web Server và chỳng hoạt động trong cơ chế đa luồng (multithread) điều này cho phộp trang ASP hỗ trợ hiệu quả cho nhiều người dựng một lỳc. Trang ASP được xử lý trờn trang Web Server nờn trang ASP sẽ tương thớch với tất cả cỏc trỡnh duyệt Web. ActiveX Data Object cho phộp truy xuất cơ sở dữ liệu từ một trang ASP cú thể sử dụng với bất kỳ cơ sở dữ liệu nào tương thớch Open Databe Connec- tivity (ODBC) như Access, SQL Server hoặc OLEDB, trong những cơ sở dữ liệu đú cú Oracle, Sybase, Informix, DB2, Ingres. 2. tương tác với khách hàng 2.1. làm việc với đối tượng RESPONSE Một trang ASP là một trang HTML chuẩn cú chứa script vỡ thế cú thể sử dụng cỏc script để gửi nội dung động đến trỡnh duyệt. Trong khi điều hành một Website thương mại cú nhiều tỡnh huống mà ta phải gửi nội dung động đến khỏch hàng. Chẳng hạn như khi khỏch hàng chọn một vài sản phẩm trong cửa hàng, ta phải tạo động một biờn nhận kốm những thụng tin đặt hàng của khỏch hàng. Response.Write để gửi dữ liệu đến trỡnh duyệt của khỏch hàng và Response.End để kết thỳc sự thực thi của một script. 2.2. Làm việc với đối tượng request Trong khi đối tượng Response đại diện tất cả nội dung được gửi từ Web Server đến trỡnh duyệt Web thỡ đối tượng Request đại diện mọi thụng tin được gửi từ trỡnh duyệt Web đến Web Server, cú 4 tập hợp rất hữu dụng: Tập hợp QueryString Đại diện cỏc biến chuỗi nghi vấn. Tập hợp Form Đại diện cỏc trường trong form HTML. Tập hợp Server Variable Đại diện cỏc tiờu đề trỡnh duyệt và cỏc biến Server. Tập hợp Cookies Đại diện cỏc cookies của trỡnh duyệt. Sử dụng cỏc chuỗi truy vấn là phần URL xuất hiện sau một dấu chấm hỏi. Vớ dụ: chuỗi truy vấn cú tờn là p cú giỏ trị “Active Server Pages”. Nếu nhập chuỗi này vào thanh địa chỉ của trỡnh duyệt Web thỡ tất cả cỏc danh sỏch từ Yahoo! Cú liờn quan đến Active Server Pages sẽ được trả về. Thụng thường khụng cần nhận trực tiếp một chuỗi truy vấn vào thanh địa chỉ của trỡnh duyệt mà tạo liờn kết trong một trang cú chứa chuỗi truy vấn. Sử dụng tập hợp form: Để cho phộp khỏc hàng đăng ký tại Website, hoàn thành một form tiếp thị, hoặc nhập số thẻ tớn dụng ta phải sử dụng một Form HTML. Để gọi ra thụng tin mà khỏch hàng nhập vào form của đối tượng Request. Điều quan trọng là kiểm tra xem cỏc trường cú rỗng hay khụng, ta cú thể so sỏnh giỏ trị của trường với một chuỗi độ dài zero, hoặc ta cú thể đặt điều kiện nếu chuỗi nhập vào rỗng thỡ gỏn cho chuỗi một vài ký tự đặc biệt. Ngoài ra, cũn phải hiển thị lại cỏc trường trong form khi khỏch hàng nhập sai nội dung trong form nào đú, đõy là tớnh khoan dung. Để làm được điều này cần phải truyền tất cảc dữ liệu về form ban đầu. Gọi ra cỏc biến form và chuỗi truy vấn, cú một vài tỡnh huống nào đú mà ta cần gọi ra một biến nếu nú được truyền trong một chuỗi truy vấn hoặc một biến form, cú thể tỡm kiếm tất cả cỏc tập hợp chứa trong đối tượng Request bằng cỏch khụng chỉ định một tập hợp cụ thể nào. Form và chuỗi truy vấn Click here ----------------------- Gọi một biến form hoặc một biến chuỗi <% myvar=Request("myvar") Response. Write myvar %> 2.3. Làm việc với các biến Server Tập hợp này chứa cỏc biến đại diện cho cỏc tiờu đề của trỡnh duyệt và cỏc thuộc tớnh của Server, với biến Server ta cú thể biết được trang hiện thời, trang cuối cựng mà một khỏch hàng truy cập, địa chỉ Internet liờn hệ với khỏch hàng, loại trỡnh duyệt mà khỏch hàng sử dụng. 3. Xây dựng danh mục sản phẩm 3.1. Tạo cơ sở dữ liệu cho cửa hàng Bước đầu tiờn trong việc tạo cửa hàng trực tuyến là tạo cơ sở dữ liệu để lưu giữ tất cả cỏc thụng tin về cỏc sản phẩm. Microsoft Access là cơ sở dữ liệu thớch hợp để tạo Website thử nghiệm hoặc một Website cú lưu lượng thấp, tuy nhiờn ta cú thể nõng cấp cơ sở dữ liệu Access lờn cơ sở dữ liệu SQL Server bằng cỏch sử dụng Microsoft Upsizing Tools. Cụng cụ này được cung cấp kốm theo Microsoft Access 2000. Tạo bảng products: Product_id AutoNumber Chứa số duy nhất dành cho sản phẩm trong bảng này. Product_name Text Chứa tờn của sản phẩm trong bảng. Product_price Currency Chứa giỏ hiện thời của sản phẩm. Product_picture Text Chứa đường dẫn đến hỡnh ảnh của sản phẩm. Product_category Text Chứa loại của sản phẩm. Product_briefdesc Memo Chứa mụ tả ngắn về sản phẩm. Product_fulldesc Memo Chứa mụ tả đầy đủ về sản phẩm, cột này cú thể là 1 trang đầy thụng tin. Product_status Number Chứa thụng tin về tỡnh trạng hiện thời sản phẩm. Kết nối cơ sở dữ liệu Hai loại DSN khỏc nhau cú thể được tạo ra. Nếu tạo một file DSN, thụng tin về kết nối cơ sở dữ liệu được lưu trong một file. Nếu tạo một System DSN thỡ thụng tin kết nối cơ sở dữ liệu được lưu trong registry của mỏy tớnh. Một kết nối cơ sở dữ liệu được đại diện trong một trang ASP bởi đối tượng Connection của ADO. Mở một kết nối cơ sở dữ liệu (Data Source Name: accessDSN) <% Set Con=Server.CreateObject("ADODB.Connection") Con.Open "accessDSN" %> Việc mở một kết nối cơ sở dữ liệu giống như mở một kết nối điện thoại. Sau khi kết nối được mở, cỏc thụng điệp cú thể được truyền qua lại giữa script ASP và cơ sở dữ liệu. 3.2. Tạo form addproducts Trang addProducts.asp chứa một form HTML cho phộp nhập vào thụng tin sản phẩm, trang manageProducts.asp – khi đệ trỡnh form được chứa trong addProducts.asp thỡ trang này sẽ thực sự thờm thụng tin sản phẩm mới vào trong cơ sở dữ liệu. Trang addProducts.asp chứa một form HTML chuẩn với cỏc trường tương ứng với cỏc cột của bảng Products. Add Product Add Product Product Name: Product Price: Product Picture: Product Category: Product Brief Desc: Product Full Desc: Product Status: INACTIVE ACTIVE Mục đớch duy nhất là thu thập thụng tin về sản phẩm thụng qua một form HTML. Thụng tin sản phẩm khụng được thờm vào cơ sở dữ liệu cho đến khi form này được đệ trỡnh và trang thứ hai – manageProducts.asp được yờu cầu. <% FUNCTION fixQuotes (theString) fixQuotes=REPLACE(theString,"'","''") END FUNCTION ' Get the form Variables addProduct = TRIM (Request("addProduct")) updateProduct = TRIM (Request("updateProduct")) productID = TRIM (Request("productID")) productName = TRIM (Request("productName")) productPrice = TRIM (Request("productPrice")) productPicture = TRIM (Request("productPicture")) productCategory = TRIM (Request("productCategory")) productBriefDesc = TRIM (Request("productBriefDesc")) productFullDesc = TRIM (Request("productFullDesc")) productStatus = TRIM (Request("productStatus")) ' Assign Default Variables IF productName="" THEN productName="?????" END IF IF productPrice="" THEN productPrice=0 END IF IF productPicture="" THEN productPicture="?????" END IF IF productCategory="" THEN productCategory="?????" END IF IF productBriefDesc="" THEN productBriefDesc="?????" END IF IF productFullDesc="" THEN productFullDesc="?????" END IF ' Open the Database Connection Set Con=Server.CreateObject( "ADODB.Connection" ) Con.Open "accessDSN" %> Manage Products <% ' Add new product IF addProduct "" THEN sqlString="INSERT INTO PRODUCTS (product_name, product_price, product_picture, product_category, product_briefdesc, product_fulldesc, product_status)" VALUES ('"&productName&"', '"&productPrice&"', '"&productPicture&"', '"&productCategory&"', '"&productBriefDesc&"', '"&productFullDesc&"', '"&productStatus&"')" Con.Execute sqlString %> was added to the database <% END IF ' Update product IF updateProduct "" THEN sqlString="UPDATE products SET "&_ "product_name='"&fixQuotes(productName)&"',"&_ "product_price='"&productPrice&"',"&_ "product_picture='"&fixQuotes(productPicture)&"',"&_ "product_category='"&fixQuotes(productCategory)&"',"&_ "product_briefdesc='"&fixQuotes(productBriefdesc)&"',"&_ "product_fulldesc='"&fixQuotes(productFulldesc)&"',"&_ "product_status='"&productStatus&"' WHERE product_id='"&productID&"'" Con.Execute sqlString %> was update in the database Manage Products <% sqlString="SELECT product_id,product_name FROM products" SET RS=Con.Execute(sqlString) WHILE NOT RS.EOF %> "> <% RS.MoveNext WEND %> Add Product Khi muốn thay đổi thụng tin về sản phẩm chẳng hạn như giỏ cả ta cần thờm trang updateProducts.asp. <% ' Get the Product ID productID=request("pid") ' Open the Database Connection Set Con=Server.CreateObject ( "ADODB.Connection" ) Con.Open "accessDSN" ' Open the Recordset Set RS=Server.CreateObject ( "ADODB.Recordset" ) RS.ActiveConnection=Con RS.CursorType=3 RS.Open "SELECT * FROM products WHERE product_id ="&productID IF NOT RS.EOF THEN productName = RS("product_name") productPrice = RS("product_price") productPicture = RS("product_picture") productCategory = RS("product_category") productBriefDesc = RS("product_briefDesc") productFullDesc = RS("product_FullDesc") productStatus = RS("product_status") END IF ' Close the Recordset RS.Close FUNCTION SELECTED ( firstVal, secondVal ) IF cSTR( firstVal)=cSTR (secondVal) THEN SELECTED="SELECTED" END IF END FUNCTION %> Update Product Update Product Product Name: <input name="productName" size="50" maxlength="50" value=""> Product Price: <input name="productPrice" size="10" values=""> Product Picture: <input name="productPicture" size="50" maxlength="50" value=""> Product Category: <input name="productCategory" size="50" maxlength="50" value=""> Product Brief Desc: <textarea name="productBriefDesc" cols="50" rows="2" wrap="virtual" > Product Full Desc: <textarea name="productFullDesc" cols="50" rows="10" wrap="virtual" > Product Status: > INACTIVE > ACTIVE "> 4. hiển thị các sản phẩm trong cửa hàng 4.1. Sử dụng các Recordset Đối tượng Recordset đại diện một tập hợp cỏc mẩu tin được gọi ra từ một cơ sở dữ liệu. Bất cứ khi nào ta sử dụng một Recordset để hiển thị cỏc mẩu tin cơ sở dữ liệu bờn trong một trang ASP thỡ ta tuõn thủ theo những bước sau: Mở một kết nối cơ sở dữ liệu với đối tượng Connection. Mở một Recordset bằng cỏch sử dụng cõu lệnh SELECT của SQL. Hiển thị cỏc mẩu tin trong Recordset bằng cỏch duyệt qua Recordset. Vớ dụ: Ta hiển thị tờn của tất cả cỏc sản phẩm trong bảng Products. <% ' Open Database connection Set Con=Server.CreateObject("ABODB.Connection") Con.Open "accessDSN" ' Open Recordset Set RS=Server.CreateObject("ABOBD.Recordset") RS.ActiveConnection=Con RS.Open "SELECT * FROM products" ' Loop through Recordset WHILE NOT RS.EOF Response.Write RS("product_name") RS.MoveNext WEND %> Ta cú thể xem một Recordset như một file văn bản. Mỗi dũng trong một Recordset giống như một dũng riờng biệt trong file văn bản. Bất cứ khi nào ta gọi phương thức MoveNext, ta được chuyển đến dũng kế tiếp. Khi đến cuối tập tin (cuối Recordset) thỡ thuộc tớnh EOF (End of File) cú giỏ trị là True. Sử dụng cõu lệnh Select của SQL Ta mở một Recordset bằng cỏch sử dụng cõu lệnh SELECT của SQL. Để chọn tất cả cỏc cột và tất cả cỏc hàng trong một bảng sử dụng cõu lệnh sau: SELECT * FROM table_name Tuy nhiờn, việc gọi ra tất cả cỏc cột từ một bảng là một ý kiến khụng hay. Ta khụng nờn đặt gỏnh nặng lờn vai server bằng việc gọi ra những dữ liệu khụng thực sự cần. Nếu dự định chỉ thị những cột nào đú trong một bảng thỡ ta nờn giới hạn cỏc cột được gọi ra bằng cỏch liệt kờ cỏc cột: SELECT column1, column2 FROM table_name Ta cũng cú thể sử dụng cõu lệnh SELECT để gọi ra chỉ những hàng nào đú trong một cơ sở dữ liệu. Vớ dụ, chọn chỉ những dũng trong bảng Products trong đú cột product_category cú giỏ trị là Chocolates: SELECT product_name FROM Products WHERE product_category="Chocolates" Sử dụng biểu thức toỏn học và logic bờn trong mệnh đề WHERE để gọi ra cỏc mẩu tin đỏp ứng đỳng cỏc điều kiện. Vớ dụ, gọi ra chỉ những sản phẩm cú giỏ từ $20.00 đến $30.00: SELECT product_name FROM Products WHERE product_price > 20.00 AND product_price < 30.00 Hơn thế, ta cú thể mở rộng cõu lệnh SELECT xa hơn bằng cỏch sử dụng mệnh đề ORDER BY – cho phộp gọi ra cỏc mẩu tin từ một bảng theo một thứ tự nào đú. Vớ dụ, gọi ra cỏc sản phẩm loại Chocolates với tờn cỏc sản phẩm được xếp theo thứ tự abc: SELECT product_name FROM Products WHERE Product_category="chocolates" ORDER BY product_name Cuối cựng, ta cú thể sử dụng cõu lệnh SELECT để gọi chỉ những mẩu tin riờng biệt trong một bảng. Vớ dụ, liệt kờ tất cả cỏc loại sản phẩm riờng biệt trong bảng Products: SELECT DISTINCT product_category FROM Products Cỏc loại con trỏ của Recordset Khi một Recordset được mở với một kiểu con trỏ nào đú. Ta cú thể mở một Recordset với bất kỳ con trỏ nào trong bốn loại con trỏ sau: forward-only, static, keyset và dynamic. Loại con trỏ của một Recordset quyết định cỏc phương thức và thuộc tớnh mà Recordset sẽ hỗ trợ. Theo mặc định, khi một Recordset được mở, nú được mở với một con trỏ forward-only. Tuy nhiờn, con trỏ forward-only là loại con trỏ bị hạn chế nhất. Vớ dụ, sử dụng thuộc tớnh RecorCount của đối tượng Recordset, ta cú thể xỏc định số lượng cỏc mẩu tin được chứa trong một Recordset với con trỏ forward-only. Để sử dụng thuộc tớnh RecordCount, ta phải mở Recordset với một con trỏ linh hoạt hơn. 4.2. Hiển thị các sản phẩm Tạo giao diện cho cửa hàng trực tuyến cho phộp khỏch hàng duyệt qua danh sỏch cỏc sản phẩm ta cần tạo 4 file: CatList.asp File này chứa một script hiển thị từng loại sản phẩm. Cỏc khỏch hàng cú thể nhấp vào một loại sản phẩm cụ thể để xem danh sỏch cỏc sản phẩm trong loại này. ProductList.asp File này chứa một script liệt kờ tất cả cỏc sản phẩm trong một loại cụ thể. Default.asp File này là trang ASP chớnh của cửa hàng, hiển thị danh sỏch cỏc sản phẩm. Product.asp File này hiển thị chi tiết về một sản phẩm cụ thể. Khi một khỏch hàng nhấp vào tờn của một sản phẩm bờn trong trang Default.asp thỡ cỏc chi tiết của sản phẩm được hiển thị trong trang này. Chọn cỏc loại sản phẩm Khi thờm cỏc sản phẩm vào cửa hàng trực tuyến, cú một trường dành cho loại sản phẩm (product_category) khi khỏch hàng duyệt qua cửa hàng họ cú thể chọn một loại sản phẩm cụ thể và chỉ xem cỏc sản phẩm trong loại này. <% Set Con=Server.CreateObject("ADODB.Connection") Con.Open "accessDSN" Set catRS=Server.CreateObject("ADODB.Recordset") catRS.ActiveConnection=Con sqlString="SELECT DISTINCT product_category FROM products" sqlString=sqlString & "WHERE product_status=1" sqlString=sqlString & "ORDER BY product_category" catRS.Open sqlString %> Home Home "> <% catRS.MoveNext WEND %> Script này tạo ra một thực thể của đối tượng Recordset tờn là catRS. Sau khi catRS được mở ra, cỏc loại sản phẩm được hiển thị từng cỏi một bằng cỏch duyệt qua Recordset, nếu một loại sản phẩm khụng là loại hiện thời thỡ nú được hiển thị như một liờn kết siờu văn bản. Nếu một loại khụng phải là loại hiện thời thỡ nú được hiển thị như một liờn kết siờu văn bản. Mỗi liờn kết truyền một biến chuỗi truy vấn tờn là cat. Biến chuỗi truy vấn này chứa tờn của loại sản phẩm được mó hoỏ URL. Hiển thị danh sỏch cỏc sản phẩm Khi khỏch hàng nhấp vào một loại, tờn của loại này được truyền bờn trong biến chuỗi truy vấn cat. Script productList.asp sử dụng biến cat để chọn chỉ những sản phẩm nào thuộc loại hiện thời được chọn. <% Set Con=Server.CreateObject("ADODB.Connection") Con.Open "accessDSN" Set prodRS=Server.CreateObject("ADODB.Recordset") prodRS.ActiveConnection=Con sqlString="SELECT product_id, product_picture, product_name, product_briefDesc" FROM Products WHERE product_category='"&cat&"' AND product_status=1 ORDER BY product_name " prodRS.Open sqlString %> "?????" THEN %> "> "> "> get more information <% prodRS.MoveNext WEND %> Script này tạo một thực thể của đối tượng Recordset cú tờn là prodRS. Recordset prodRS chứa tất cả cỏc sản phẩm thuộc một loại nào đú. Một mụ tả về mỗi sản phẩm được hiển thị từng cỏi một, nếu một sản phẩm cú một hỡnh ảnh thỡ hỡnh ảnh này được hiển thị trong ụ bờn trỏi tờn sản phẩm và phần mụ tả ngắn gọn được hiển thị trong ụ bờn phải, tờn của cỏc sản phẩm được hiển thị như cỏc liờn kết siờu văn bản đến trang Product.asp. Nếu một khỏch hàng nhấp vào một sản phẩm thỡ họ sẽ được mang đến trang Product.asp để xem chi tiết về sản phẩm. Mỗi liờn kết đến trang Product.asp chứa một biến chuối truy vấn tờn là pid. Biến này được truyền đến trang Product.asp khi liờn kết được nhấp. Trang Product.asp sử dụng biến này để hiển thị thụng tin của đỳng sản phẩm. Tạo trang chủ của cửa hàng Trang Default.asp là trang ASP chớnh của cửa hàng trực tuyến, cỏc khỏch hàng duyệt qua cỏc sản phẩm của cửa hàng bằng cỏch yờu cầu trang này, script CatList.asp và ProductList.asp kết hợp với nhau trong Default.asp <% Cat=TRIM(Request("Cat")) IF Cat="" THEN Cat="Home" Set Con=Server.CreateObject("ADODB.Connection") Con.Open "accessDSN" %> Viet Khanh's Candies and Gifts shopping cart acount <table width="200" cellpadding="4" cellspacing="0" bgcolor="lightyellow" border="1"> Copyright © 2000 the Viet Khanh Gift Company Hiển thị chi tiết về sản phẩm Khi một khỏch hàng nhấp vào tờn của một sản phẩm, hoặc nhấp vào Get more Information, họ sẽ được mang đến trang Product.asp trang này trỡnh bày thụng tin chi tiết hơn về một sản phẩm. Khỏch hàng cũng cú thể sử dụng trang này để thờm một sản phẩm vào giỏ đi chợ của mỡnh. <% ' Get the productID productID=TRIM(Request("pid")) ' Open the Database Connection Set Con=Server.CreateObject("ADO