Đối tợng Session:

Một phần của tài liệu XÂY DỰNG TRANG WEB bán HÀNG (Trang 38)

V. Lựa chọn công nghệ:

7. Đối tợng Session:

Cho phép tạo ra các biến ứng với từng ngời dùng. Chẳng hạn biến có tên là UserName, ứng với mỗi user có một giá trị cụ thể khác nhau, phân biệt. Nhng khi sử dụng thì tổng quát cho các user. Thực ra mỗi biến sẽ đợc server phát sinh và gán cho nó một giá trị định danh GUID (Globally Unique Identifier, 128 bit) và gửi tới Browser. Browser sẽ lu trữ GUID đó và sử dụng để yêu cầu dữ liệu từ biến có GUID tơng ứng trên Server.

<% Session(“Company”) = “NewTech”

Session(“Email”) = “leha@hotmail.com” %> My Company : <% Session(“Company”) %>

Email : <% Session(“Email”) %>

Các biến Session này sẽ bị huỷ bỏ sau một khoảng thời gian (khoảng 20’) ngời dùng thôi truy xuất các trang web trong th mục web.

 Chú ý là trong file global.asa => cho pháp đặt các biến, code vào các thủ tục Session_OuStart và Session OuEnd. Ví dụ:

<SCRIPT LANGUAGE = VBScript RUNAT = Server> Sub Session_OuStart Session(“Company”) = “VASC” Session(“Email”) = “thanhha@vasc.vnn.vn” End sub </SCRIPT> 8. Đối tợng Request:

Để gửi dữ liệu lên Server, ta sử dụng Form trong trang Web. Tên của các đồi tợng web nh Text, Button nằm trong form sẽ đợc dùng nh tên biến khi phân tích, lấy dữ liệu trên Server. Trong form có button kiểu Submit để ngời dùng đẩy dữ liệu lên Server.

Form có hai thuộc tính là Action và Method. Action quy định file (.asp) mà sẽ đón nhận và xử lý dữ liệu đẩy lên. method quy định cách thức gửi dữ liệu; nếu là POST thì tất cả dữ liệu trong form sẽ đóng gói và đẩy lên Server; Nếu là GET thì dữ liệu đợc gửi đi nh một phần của URL, thờng là sau dấu “?”.

<Form Method = “POST” Action =

“http://www.vnn.vn/data.asp”>

 Kiểu gửi dữ liệu GET cũng có thể lợi dụng để gửi đi dới dạng một link.

< A href =

“ http://www.vnn.vn/data.asp?name=ha&company=VASC” >Test</a>

 Gửi theo GET thì độ lớn bị hạn chế và khơng che dấu dữ liệu.

Để lấy dữ liệu ta dùng phơng thức của đối tợng Request. S = Request.Form(“Name”)

<=> S = Request(“Name”)

Trong trờng hợp dữ liệu đợc đa lên từ 1 hyperlink, có thể dùng:

S = Request.QueryString(“Name”) <=> S = Request(“Name”)

 Đối tợng Request cũng cho phép lấy giá trị các biến mơi trờng nh LOGON_USER, HTTP_USER_AGENT, ví dụ:

Request.ServerVariables(“LOGON_USER”)

Request.ServerVariables(“HTTP_USER_AGENT”)

9. Đối tợng Reponse:

Đối tợng này quản lý tất cả dữ liệu, nội dung sẽ đợc gởi cho Browser từ ASP.

<% = Company%>

<=> <% Reponse.Write Company %>

Reponse cung cấp 1 thuộc tính là Expires, quy định thời gian (phút) mà trang Web chứa trong cache của IE. Vậy, nếu đặt dịng <% Response.Epires = 0 %> thì trang Web sẽ khơng chứa trong cache của IE.

10. Đối tợng Server:

Đối tợng Server cung cấp hàm CreateObject, để tạo ra các đối t- ợng (instance) của Active X. Tham số truyền vào là ProgID (Program Identifier) của Component cần tạo instance.

Set MyObject = Server.CreateObject(“Mail.Connector”) Đoạn mã sau in ra các biến Server :

<% = name %> <% = Request. ServerVariables(name) %>

<% Next %>

11. File Global.asa:

ứng dụng web = tập các trang Web, asp trong một th mục web và các th mục con.

File Global.asa xác định khởi đầu và kết thúc của một ứng dụng web cũng nh của các session của từng user đơn thể đối với ứng dụng.

File này cho phép đặt 4 thủ tục vào: Session_OnStart, Session_OnEnd,

Application_OnStart, Application

_OnEnd.

 Session_OnStart: thực hiện lần đầu tiên khi có một user yêu cầu trang web trong ứng dụng. (ứng với user đó)

 Session_OnEnd: thực hiện khi user thoát khỏi ứng dụng hoặc timeout.

 Application_OnStart: thực hiện 1 lần khi trang web đầu tiên của ứng dụng đợc chạy lần đầu tiên bởi bất kỳ user nào.

 Application _OnEnd: thực hiện một lần khi web server shutdown hoặc khi tất cả các session đã đóng.

12. Các phơng thức và thuộc tính của một số đối tợng:

 Reponse:

• Collection: Cookies, form, ChentCertificates, QueryString, ServerVariables

• Properties: Buffer, Charset, ContentType, Expires, ExpiresAbsolute, IsClientConnectied, Status, Pics, TotalByte.

• Method: AddHeadder, AppendToLog, BinaryWrite, Clear, End, Flush, Redirect, Write, BinaryRead.

 Server

• Properties: ScriptTimeout

• Method: CreateObject, HTMLEncode, MapPath,

URLEncode.  Application

• Collection: Contents, StaticObject. • Method: Lock, Unlock

• Events: Application_OnStart, Application _OnEnd.  Session

• Collection: Contents, StaticObject. • Method: Abandon

• Properties: SessionID, TimeOut, CodePage, LCID • Events: Session_OnStart, Session_OnEnd

13. Sử dụng Cookies:

Dùng đối tợng Request để nhận giá trị Cookies. Dùng đối tợng Reponse để đặt giá trị Cookies.

Cookie có thể chỉ một giá trị, nếu nhiều giá trị thì phải dùng nhiều key.

Ex:

<% Reponse.Buffer = True %> <% Dim dLastVisited

dLastVisited = Request.Cookies(“LastVisit”) If dLastVisited = Empty Then

Reponse.Write “Welcome! This is your first visit” Else

Reponse.Write “Your last visited on” & dLastVisited End If Reponse.Cookies(“LastVisit”) = Now() Reponse.Cookies(“LastVisit”).Expires = “December 31,2000” Session.Abandon %>

 Session.Abandon thoát khỏi session, khơng cịn lại biến session nào.

14. Gọi Stored Procedure trong ASP

<% Set Cnn1 = Server.CreateObject(“ADODB.Connection”) StrCnn = “driver = {SQL Server}; Server = smas; uid = sa; pwd= ; database= pubs”

Cnn1.Open strCnn Et sp = CreateObject(“ADODB.Command”) Set sp.ActiveConnection = Cnn1 Sp.CommandType = adCmdStoredProc Sp.CommandText = “sp_Help” Set pm = sp.CrateParameter(“objname” = 200, 1, 92, “authors”) Sp.parameters.Append pm Set rs = sp.Excute() Do Until rs is Nothing

Reponse.Write “<Table border = 1 bgColor = White><TR>” Call PrintHeadings Call PrintAllRecordsInRS Reponse.Write “</Table><BR><BR>” Set rs=rs.NextRecordSet Loop

Call CleanUp %>

<% Sub PrintHeadings()

For each hdFld in rs.Fields

Reponse.Write “<TH>” & hdFld.Name & “</TH>” Next Reponse.Write “<TR>” End sub Sub printAllRecordsInRS() Do until rs.EOF

For each fld in rs.Fields

Reponse.Write “<TD>” & fld Next Reponse.Write “<TR>” Rs.MoveNext Loop End Sub Sub CleanUp() Set rs = nothing Cnn1.Close Set Cnn1 = nothing End sub %> Tóm lại các bớc thực hiện:

- Tạo một kế nối Connection, active nó.

- Tạo đối tợng kiểu Command, gán nó với một Connection đã kích hoạt (thuộc tính ActiveConnection), CommandText: tên thủ tục;

- Tạo ta đối tợng tham số, bằng phơng thức CreateParameter để truyền tham số cho thủ tục.

- Thực thi và sử dụng kết quả.

15. Các hàm VBScript (1.0)

Abs Asc Atn Cbool

Cbyte Ccur Cdate CDbl

Chr Clnt Cos Csng

Cstr Date DateSerial DateValue

Day Exp Fix Hex

Hour InputBox InStr Int

IsArray IsDate IsEmpty IsNull

IsNumeric IsObject LBound Lcase

Left Len Log LTrim

Mid Minute Month MsgBox

Now Oct Right Rnd

Rtim Second Sgn Sin

Space Sqr StrComp Tan

Time TimeSerial TimeValue Trim

Ubound Ucase VarType Weekday

Year

16. Gửi mail

Gửi mail theo giao thức SMTP Dim objNewMail

Set objNewMail =

Server.CreateObject(“CDONTS.NewMail”)

ObjNewMail.send sFromName, sToName, sSubject, sMsg Set objNewMail = nothing

17.Các lệnh ASP và VBScript (1.0)

Call Dim Do... loop Empty

Erase Exit False For... next

If... then... Else

Nothing Null On Error

Option Explicit

Randomize Redim Rem

Select case Set Sub True

While...wend

Color Comparion Date and Time

Date format File Input/Output Miscellaneous

Msgbox String Var type

19. Các hàm:

Array Create Object DateAdd

DateDiff DateParl Filter

FormatCurrency FormatDatetime FormatNumber

FormatPercent GetObject InstrRev

Join LoadPicture MonthName

Replace RGB Round ScriptEngineMajorVer sion ScriptEngineBuilVe rsion ScriptEngine ScriptEngineMinorVer sion Split StrReverse TypeName WeekDayName 20. Các đối t ợng và hàm: (version 2.0)

Object: Dictionary; FileSystemObject; TextStream Method:

Add Close CreateTextFile

FileExists Items Key

OpenTextFile Read ReadAll

ReadLine Remove RemoveAll

Skip SkipLine Write

WriteBlankLines WriteLine

Các properties:

AtEndOfLine AtEndOfStream Column

CompareMode Count HelpContext

HelpFile Item Key

Line

Các lệnh:

For each... Next Public

21. Đối tợng Error: (1.0)

Properties: Decription, Number, Source Method: Clear, Raise

22. VBScript 3.0

 Collection: Drives, Files, Folders

 Constant: DriveType, SpecialFolder, File Attribute

Properties:

Attributes FileSystem ShareName

AvailableSpace FileSpace ShortName

DateCreated IsReady ShortPath

DateLastAccessed IsRootFolder Size

DateLastModified Name SubFolder

Drive ParentFolder TotalSize

DriveLetter Path Type

Drives RootFolder VolumeName

DriveType SerialNumber

Files

Method:

AddFolder BuildPath Copy

CopyFile CopyFolder CreateFolder

Delete DeleteFile DeleteFolder

DriveExists FileExists FolderExist

GetAbsolutePathNa me

GetBaseName GetDrive

GetDriveName GetExtensionName GetFile

GetFileName GetFolder GetParentFolderNa

me

GetSpecialFolder GetTempName Move

MoveFile MoveFolder OpenAsTextStream

23. Sử dụng Transaction:

• Dịng đầu tiên phải là: <% @TRANSACTION = REQUIRED%>

• Có thể điều chỉnh chấp nhận hoặc huỷe bỏ giao dịch bằng cách dùng SetComplete anh SetAbort từ đối tợng ObjectContext.

• Nếu giao dịch thành công (commited), hàm sự kiện OnTransacton_Commit() đợc thực thi.

• Nếu giao dịch thất bại (Aborted), sự kiện OnTransacton_Abort đợc thực thi.

• Yêu cầu MSDTC (Distributed Transaction Coordinator)

Ví dụ 1:

<% @TRANSACTION = REQUIRED language = “VBSCRIPT”%>

<HTML><HEAD><TITLE> Transaction Demo</TITLE> </HEAD><BODY>

This is Demostration of using transaction with HTML. <BR> For this example to work, MSDTC must be running on the web Server. <BR>

This next line will genegate an error. <% set x = boo.boo %>

<BR> Does this line print ? </BODY> </HTML> <%

Sub OnTransacton_Abort()

Reponse.Write “<BR><B> Error detected. Attemting to Recover</B>”

‘Place Error handling code here End Sub

Reponse.Write “<BR><B>Congratulations! The transaction was commited </B>”

End sub %> Ví dụ 2: <% @TRANSACTION = REQUIRED%> <% Reponse.Buffer = True Set oCustomer = Server.CreateObject(“ExplorationAir.Customer”) Mites = 6000 Session(“CustomerID”) = oCustomer.Create(cStr(Session(“Lastname”)), cStr(Session(“Firstname”)), cStr(Session(“Password”)), cStr(Session(“Street”)), cStr(Session(“City”)), cStr(Session(“State”)), cStr(Session(“Zip”)), cStr(Session(“Email”)), Miles)

On error Resume next

FFComponent =

Application(“FrequentFlyerComponent”) +

“.FrequentFlyer”

Set oFrequentFlyer =

Server.CreateObject(“FFComponent”)

‘This prevents an eror if the FrequentFlyer component isn’t installed

If NOT oFrequentFlyer is Nothing Then ‘Add registration bonus points oFrequentFlyer.Create

clng(Session(“CustomerID”)), “Registration”, “None”, clng(Miles) End if Function OnTransactionCommit() Response.Clear Response.Redirect(“RegisterSuccess.asp”) Response.Flush() End Function Function OnTransactionAbort()

Response.Write “Error!” + “Error Code =” + cStr(err.Number)

Response.Write “Error Source: “ + cStr(err.Source) End Function

%>

24. Sử dụng biến Application:

Dùng đối tợng Application để tạo ra các biến kiểu Application. Những biến kiểu này là toàn cục đối với 1 ứng dụng Web cho tất cả các user, đợc duy trì kể cả khi stop web server.

Giả sử file a.asp có đoạn mã: <%

If IsObject(Application(“TestConn”)) Then Set oConn = Application(“TestConn”)

sSQL = “Select * from Products where ProductID < 5” Else

Set oConn =

OConn.Open “TestODBC”, “”, “”

Set Application(“TestConn”) = oConn

sSQL = “Select * from Products where ProductID > 20”

End if

Set RS = Server.CreateObject(“ADODB.RecordSet”) RS.open sSQL, oConn, 3, 3

%>

Khi trang này (a.asp) đợc truy xuất lần đầu tiên thì biến Application là TrstConn đợc tạo ra. Kể từ giờ tất cả các file .asp của ứng dụng này có thể sử dụng biến TestConn.

 Đoạn mã sau của b.asp hoạt động:

<% Set oConn = Application(“TestConn”) ...

RS.Open sSQL, oConn, 3, 3 %>

*/ Để huỷ một biến Application: set Application(“TestConn”) = nothing

25. Sử dụng biến Session:

Giống nh các biến Application, nhng chỉ có phạm vi trong 1 session. Chú ý: 1 session chỉ trong một phiên làm việc giữa browser với web server. Nếu đóng browser lại thì các biến session mất đi. Biến session cũng có giá trị tồn cục trong 1 ứng dụng web ứng với mỗi user.

<%

If IsObject(Session(“TestConn”)) Then Set oConn = Session (“TestConn”) Else

Set oConn = Server.CreateObject(“ADODB.Connection”)

OConn.Open “TestODBC”, “”, “” Set Session(“TestConn”) = oConn End if

%>

26. Chèn file (Include)

Để include file sử dụng cú pháp: <!--#include file = “a.asp”>

27. Khai báo biến trong global.asa

Các biến cũng phải ở dạng biến Application hoặc biến Session. Có thể đặt vào một đoạn bất kỳ hoặc trong các thủ tục Application_OnStart, Session_OnStart, giải phóng biến ở Application_OnEnd hoặc Session_OnEnd

Ex: đoạn mã sau đặt trong thủ tục Application_OnStart Sub Application_OnStart

Set oConn =

Server.CreateObject(“ADODB.Connection”) OConn.Open “MyTest”, “”, “”

Set Application(“oConnection”) = oConn End sub

Và trong thụ tục Application_OnEnd Sub Application_OnEnd

OConn.Close

Set oConn = nothing

Set Application(“oConnection”) = nothing End sub

Trong 1 file asp khác, ta có thể sử dụng lại

RS.Open sSQL, Application(“oConnection”), 3, 3.

V.3 Nhận xét riêng về ASP.

So với một số ngơn ngữ lập trình khác thì ASP dễ học hơn, việc sử dụng ngơn ngữ VBScript có các câu lệnh tơng tự visual basic nên dễ thực hành và mất ít thời gian. Với ASP các nhà phát triển ứng dụng Web dễ dàng tiếp nhận cơng nghệ này và nhanh chóng tạo ra các sản phẩm có giá trị, dần dần đội ngũ lập trình ngày càng lớn mạnh hơn.

Các trang ASP khơng cần phải hợp dịch. Có thể khai thác cơ sở dữ liệu với SQL server, ngồi ra nó cịn có tính năng mở cho phép các nhà lập trình xây dựng các thành phần và đăng ký sử dụng dễ dàng.

Tuy nhiên ASP cũng có những khuyết điểm của nó: Chỉ chạy và tơng thích trên mơi trờng windown.

Vì chạy trên các server với hệ điều hành Microsoft nên tính bảo mật

khơng cao.

So với một số ngơn ngữ thì ASP chạy chậm hơn.

Mặc dù ASP có những khuyết điểm trên nhng qua tìm hiểu và những bài học trên lớp em nhận thấy ASP là ngơn ngữ thích hợp để thiết kế trang Web của mình. Trong trang web này em dó cố gắng sử dụng hết vốn kiến thức về ASP của mình, mặc dù đó có thể chỉ mới là những kiến thức cơ bản.

VI. Thiết kế modul chơng trình:

VI.1. Phân cấp menu:

SV: MSV: 14102189

Hệ thống trang WebShoes

Hệ thống trang WebShoes

Trang chủ

Trang chủ GiầyNamGiầyNam

Góp ý Góp ý Quản trị Quản trị Đăng nhập Đăng nhập Thêm Thêm Sửa Sửa GiầyNữ GiầyNữ GiầyMới GiầyMới

VI.2. Mơ hình :

Banner

Hơm nay: Trang chủ Góp ý Quản trị

Menu

Thông tin giới thiệu và hình ảnh

Hình ảnh

quảng cáo

Tại Trên gọi: < !--# Include file=”dtrang.asp”-- > Trái gọi: < !--# Include file=”btrai.asp”-- > Phải gọi: < !--# Include file=”bphai.asp”-- > Dới gọi: < !--# Include file=”ctrang.asp”-- >

VI.3. Modul chính:

Ban quản lý cập nhập tra cứu dữ liệu thông tin về chủng loại, sản phẩm...

Tra cứu thơng tin về giầy: tìm kiếm và trả lời thơng tin. Từ modul chính ta có thể lựa chọn 1 trong 2 modul nhỏ, modul nào đợc chọn thì chơng trình điều khiển sẽ trao quyền điều khiển cho modul đó. Kết thúc thực hiện modul con quyền điều khiển trả về cho chơng trình chính đồng thời chuyển giao những thơng tin cần thiết cho hệ thống để phục vụ những modul khác.

VI.4. Một số modul của hệ thống:

VI.4.1. Đa ra danh mục sản phẩm:

- Dữ liệu vào: thông tin về chủng loại, sản phẩm, giá... - Dữ liệu ra: danh sách các sản phẩm theo từng chủng loại. - Mô tả:

+ Mở giao diện chủng loại muốn xem nh : giầy nam, giầy nữ, giầy mới.

+ Mở kho: banggiay.

+ Khởi tạo chơng trình duyệt sản phẩm + Chuadung:=true + While chuadung do Giới thiệu các loại giầy Cập nhập , tra dữ liệu hệ thống Tra cứu thông tin về giầy

+ Với mỗi chủng loại hàng liệt kê các sản phẩm ra màn hình

+ Đóng giao diện

VI.4.1. Modul cập nhập sản phẩm:

- Dữ liệu vào: thông tin mới về chủng loại, giá cả, sản phẩm giầy.

- Dữ liệu ra : thông tin về sản phẩm - Mô tả:

+ Mở giao diện cập nhập sản phẩm + Mở kho dữ liệu banggiay

+ Khởi tạo chơng trình cập nhập sản phẩm + Chuadung:=true

+While chuadung Do

+ Với mỗi chủng loại tạo bản ghi mới bao gồm: mã chủ đề, mã sản phẩm, tên sản phẩm...

+ Lu vào kho dữ liệu + Đóng kho

+ Đóng giao diện

VI.4.2. Modul tra cứu sản phẩm:

- Dữ liệu vào: mục chủ đề

- Dữ liệu ra: thông tin về các sản phẩm - Mô tả:

+ Mở giao diện tra cứu sản phẩm + Mở kho dữ liệu

+ Xác định chủng loại + chuadung:=true + While chuadung Do

+ duyệt danh sách theo chủ đề đa ra màn hình + Đóng kho dữ liệu

+ Đóng giao diện

VII. Hình ảnh một số giao diện chơng trình:

Giao diện trang chủ:

Trang chủ sẽ hiển thị tất cả những yếu tố liên quan đến giầy thuộc nhiều chủng loại. Ngời xem quan tâm đến vấn đề nào thì có thể kích vào để xem mục đó. Tại đây ngời quản trị cũng có thể đăng nhập để truy cập vào hệ thống.

Kết luận

Đề tài trang web giới thiệu mặt hàng của em mặc dù đã tham khảo qua một số tài liệu nhng do còn nhiều bỡ ngỡ trên thực tế cộng thêm kiến thức về mặt chuyên môn cha đợc đầy đủ, sức trừu tợng, sự phức tạp của đề tài vẫn là điều khiến em cần phải học hỏi và tham khảo nhiều tài liệu hơn nữa.

Chính vì vậy mà trang web vẫn cịn nhiều thiếu xót và mới chỉ dừng lại ở việc áp dụng từ những bài giảng trên lớp và đã đợc thu lại phạm vi so với công việc trên thực tế. Vì cờng độ bài làm có giới hạn, thời gian tìm hiểu, khảo sát lại hạn chế nên không thể nêu ra đầy đủ tất cả các chức năng và sự liên kết của chúng để tạo ra một hệ thống hồn hảo. Chính vì vậy chắc chắn bài làm của nhóm em khơng thể khơng tránh khỏi sự sai sót, thiếu hụt thơng tin...

Qua đề tài này em đã phần nào nắm tốt hơn việc phân tích và thiết kế một hệ thống cụ thể trên thực tế tạo ra những

Một phần của tài liệu XÂY DỰNG TRANG WEB bán HÀNG (Trang 38)

Tải bản đầy đủ (DOC)

(68 trang)
w