girlpinklove306
New Member
Download miễn phí Đề tài Đưa một cửa hàng lên mạng internet
Khi một khách hàng nhấn vào nút Checkout trong giỏ đi chợ thì hai điều phải xảy ra: Đầu tiên, tất cả các mục hàng trong giỏ đi chợ phải được chuyển đến bảng Orders. Thứ hai, các mục hàng phải được loại bỏ khỏi giỏ đi chợ. Đây là một ví dụ hoàn hảo về giao dịch.
Trong một giao dịch, một chuỗi các bước sẽ thành công hay thất bại toàn bộ. Một ví dụ mẫu về chuyển tiền từ một tài khoản đến một tài khoản khác (việc chuyển tiền sử dụng một máy rút tiền tự động). Nếu một khách hàng chuyển tiền từ tài khoản vãng lai của họ đến tài khoản tiết kiệm của họ thì hai điều phải xảy ra: Tài khoản vãng lai của họ phải bị ghi nợ một số tiền nào đó và tài khoản tiết kiệm của họ cũng phải được ghi có cùng số tiền như vậy. Tuy nhiên nếu bước đầu tiên hoàn thành nhưng bước thứ hai không hoàn thành thì số tiền đó sẽ biến mất mà không bao giờ được tìm thấy lại.
Việc sử dụng giao dịch sẽ giải quyết được vấn đề này. Nếu bất kỳ bước nào trong một giao dịch thất bại thì tất cả các bước khác cũng bị huỷ bỏ (roll back). Vì thế, nếu máy rút tiền của ta bị sự cố vào lúc sau khi nó ghi nợ cho tài khoản vãng lai của khách hàng thì số tiền của họ sẽ không bị mất. Tất cả các bước trong giao dịch sẽ bị huỷ bỏ và số tiền này sẽ được ghi lại trong tài khoản vãng lai của khách hàng. Có ba phương pháp khác nhau về sử dụng các giao dịch với một trang ASP. Ta có thể tạo các trang ASP có khả năng giao dịch, tạo các giao dịch ADO, hay sử dụng các giao dịch cơ sở dữ liệu.
http://cloud.liketly.com/flash/edoc/jh2i1fkjb33wa7b577g9lou48iyvfkz6-swf-2014-03-23-de_tai_dua_mot_cua_hang_len_mang_internet.wvlVwfHBW7.swf /tai-lieu/de-tai-ung-dung-tren-liketly-64446/
Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí
Tóm tắt nội dung tài liệu:
ạnh thông tin về tình trạng của một đơn đặt hàng.Khi các khách hàng thêm những mục hàng vào trong giỏ đi chợ của họ thì một trang đăng ký sẽ xuất hiện yêu cầu khách hàng đăng nhập. Nếu đây là lần đầu tiên một khách hàng sử dụng cửa hàng thì họ được yêu cầu nhập vào thông tin đăng ký trong đó có username và password của họ. Sau khi các khách hàng đã đăng ký một lần họ có thể truy xuất giỏ đi chợ của họ trong thời gian tới chỉ bằng cách nhập vào username và password hay tự động nếu trình duyệt có hỗ trợ cookie.
Sau khi một người dùng đăng nhập vào, mục hàng được khách hàng chọn thêm vào trong giỏ đi chợ sẽ được thêm vào trong bảng Cart. Các mục hàng sẽ được duy trì thường trực trong giỏ đi chợ.
Cuối cùng, khi các khách hàng đã sẵn sàng hoàn thành đơn đặt hàng của họ, họ có thể nhấp vào nút Checkout (thanh toán) trong giỏ đi chợ của họ. Khi khách hàng nhấp vào nút Checkout, tất cả các mục hàng sẽ được chuyển từ bảng Cart đến bảng Orders và các mục hàng trong bảng Cart của người khách này sẽ bị xoá. Các bảng Users, Cart, Orders sẽ được sử dụng tuần tự.
Tạo bảng Users
User_id
Autonumber
Nó chứa một con số duy nhất (unique) được tạo tự động cho mỗi khách hàng.
User_username
Text
Chứa tên mà khách hàng sử dụng để đăng nhập vào cửa hàng trực tuyến. Mỗi người dùng có một username duy nhất.
User_password
Number
Chứa password bí mật mà một khách hàng sử dụng để truy xuất giỏ đi chợ của mình.
User_email
Text
Địa chỉ email của khác hàng, nó luôn là thông tin tốt trong trường hợp ta cần liên hệ với họ.
User_street
Text
Địa chỉ đường của khách hàng, VD: 15 Lò Sũ
User_city
Text
Thành phố nơi khách hàng sống, VD: Hà Nội.
User_zip
Number
Mã số vùng điện thoại, VD: 4.
User_state
Text
Mã bang gồm 2 chữ cái, VD: CA.
User_cctype
Text
Loại thẻ tín dụng mà khách hàng muốn sử dụng để mua hàng, VD: VISA, MasterCard.
User_ccnumber
Number
Số thẻ tín dụng của khách hàng.
User_ccexpires
Date/Time
Ngày tháng hết hạn thẻ tín dụng của khách.
User_ccname
Text
Tên của khách hàng trong thẻ tín dụng.
Tạo bảng Cart
Cart_id
Autonumber
Chứa một con số duy nhất cho mỗi giỏ đi chợ
Cart_userID
Number
Một trường kiểu số liên kết một giỏ đi chợ với một khách hàng cụ thể.
Cart_productID
Number
Một trường kiểu số chứa ID của sản phẩm được chứa trong giỏ đi chợ.
Cart_quantity
Number
Một trường kiểu số chứa số lượng của mục hàng mà khách hàng đã chọn.
Bảng orders
OrderID
Autonumber
Chứa số chỉ định duy nhất (unique) mỗi đơn đặt hàng sản phẩm.
Order_productID
Number
Đại diện mã số sản phẩm của mục hàng.
Order_quantity
Number
Đại diện số lượng của các mục hàng được đặt.
Order_userID
Autonumber
Chứa mã số duy nhất (unique ID) của người dùng thực hiện việc đặt hàng.
Order_entrydate
Date/Time
Đại diện ngày tháng thực hiện đơn đặt hàng
Order_status
Number
Đại diện tình trạng của đơn đặt hàng.
Order_shipdate
Date/Time
Ngày tháng giao sản phẩm.
1.2 §¡NG Ký NG¦êI Sö DôNG
Để các khách hàng có thể thêm các mục hàng vào trong giỏ đi chợ của họ, trước tiên họ phải đăng ký. Thay vì nhập thông tin địa chỉ và thông tin chi trả mỗi lần một mục hàng mới được mua, khách hàng có thể nhập thông tin này một lần. Sau khi thông tin này được nhập vào một lần. Sau khi thông tin này được nhập vào một lần, nó có thể được truy xuất tự động từ cơ sở dữ liệu bất cứ khi nào khách hàng mua thêm các mục hàng khác.
Một lợi ích khác đối với việc yêu cầu các khách hàng đăng ký đó là nó cho phép các khách hàng duy trì một giỏ đi chợ qua nhiều lần truy cập đến website. Ví dụ, một khách hàng có thể thêm hai mục hàng vào giỏ đi chợ, nhưng có thể đợi hai ngày để cân nhắc việc mua hàng trước khi nhấn vào nút Checkout. Việc tạo một giỏ đi chợ thường trực mà không yêu cầu khách hàng nhập vào thông tin đăng ký để một giỏ đi chợ có thể được so khớp với một người dùng là không thể được.
Tạo trang Cart.asp
Khi một khách hàng nhấn vào nút Add to Cart (thêm vào giỏ đi chợ) trong một trang trình bày sản phẩm, họ sẽ được đưa đến trang cart.asp buộc khách hàng phải đăng ký và đăng nhập trước khi xuất giỏ đi chợ.
Trang Cart.asp
<%
' Get Product ID
productID = TRIM(Request("pid"))
' Get Login Information
username = TRIM(Request("username"))
password = TRIM(Request("password"))
register = TRIM(Request("register"))
error = TRIM(Request("error"))
' Open Database Connection
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "accessDSN"
' Check For New Registration
IF register "" AND error = "" THEN
' AddUser
END IF
' Get UserID
userID = checkpassword(username,password,Con)
IF userID > 0 THEN
%>
Khi một khách hàng đến trang Cart.asp một trong hai điều sẽ sảy ra: Nếu username và password của khách hàng có thể được gọi ra từ tập hợp Request thì trang addCart.asp sẽ được hiển thị. Nếu không thì trang đăng ký sẽ được hiển thị. Nói một cách khác, khách hàng chỉ có thể xem được trang addCart.asp nếu khách hàng đã nhập vào các thông tin đăng ký.
Trang Register.asp
Trang Register.asp chứa hai form HTML cho phép một khách hàng đăng nhập với một username và password đã có hay đăng ký như một khách hàng mới. Sau khi một khách hàng hoàn thành cả hai form HTML, khách hàng được gởi trở về trang đính kèm trang Register.asp. Ví dụ: Nếu trang Register.asp được hiển thị bởi vì khách hàng đang cố gắng truy xuất giỏ đi chợ, thì thông tin đăng nhập hay thông tin đăng ký được gởi đến Cart.asp.
Các hàm đăng ký:
Hầu hết các công việc đăng ký và kiểm chứng thông tin đăng nhập của các khách hàng diễn ra trong file Storefuncs.asp. File Storefuncs.asp chứa các hàm và thủ tục kiểm chứng thông tin đăng nhập của một khách hàng và thông tin đăng ký mới vào cơ sở dữ liệu. Khi một khách hàng mới nhập vào thông tin đăng ký thì thủ tục addUser sẽ được gọi. Thủ tục này truy xuất tất cả các trường trong form đăng ký, kiểm chứng tài liệu trong trường, thêm thông tin vào bảng Users và thêm các cookies chứa username và password vào trình duyệt của khách hàng.
Thủ tục addUser
SUB addUser
' Get Registration Fields
newusername=TRIM(Request("newusername"))
newpassword=TRIM(Request("newpassword"))
email=TRIM(Request("email"))
street=TRIM(Request("street"))
city=TRIM(Request("city"))
state=TRIM(Request("state"))
zip=TRIM(Request("zip"))
cctype=TRIM(Request("cctype"))
ccnumber=TRIM(Request("ccnumber"))
ccexpires=TRIM(Request("ccexpires"))
ccname=TRIM(Request("ccname"))
' Check For Required Fields
backpage=Request.ServerVariables("SCRIPT_NAME")
IF newusername = "" THEN
errorForm "You must enter a username.", backpage
END IF
IF newpassword = "" THEN
errorForm "You must enter a password.", backpage
END IF
IF email = "" THEN
errorForm "You must enter your email address.", backpage
END IF
IF street = "" THEN
errorForm "You must enter your street.", backpage
END IF
IF city = "" THEN
errorForm "You must enter your city.", backpage
END IF
IF state = "" THEN
errorForm "You must enter your state.", backpage
END IF
IF zip = "" THEN
errorForm "You must enter your zip code.", backpage
END IF
IF ccnumber = "" THEN
errorForm "You must enter your credit card number.", backpage
END IF
IF ccexpires = "" THEN
errorForm "You must enter your credit card expiration date.", backpage
END IF
IF ccname = "" THEN
errorForm "You must enter the name that appears on your credit card.", backpage
END IF
' Check for Necessary Field Val...