Tai lieu Thiet ke Web toan tap

423
Đ Đ I H I H C Đ C Đ À À N N NG NG TRƯ TRƯ NG Đ NG Đ I H I H C B C B Á Á CH KHOA CH KHOA KHOA CÔNG NGH KHOA CÔNG NGH THÔNG TIN THÔNG TIN --- --- --- --- B B À À I GI I GI NG MÔN H NG MÔN H C C C C ÔNG NGH ÔNG NGH WEB NÂNG CAO WEB NÂNG CAO

Transcript of Tai lieu Thiet ke Web toan tap

Page 1: Tai lieu Thiet ke Web toan tap

ĐĐẠẠI HI HỌỌC ĐC ĐÀÀ NNẴẴNGNGTRƯTRƯỜỜNG ĐNG ĐẠẠI HI HỌỌC BC BÁÁCH KHOACH KHOA

KHOA CÔNG NGHKHOA CÔNG NGHỆỆ THÔNG TINTHÔNG TIN------ ------

BBÀÀI GII GIẢẢNG MÔN HNG MÔN HỌỌCC

CCÔNG NGHÔNG NGHỆỆ WEB NÂNG CAOWEB NÂNG CAO

Page 2: Tai lieu Thiet ke Web toan tap

TTÀÀI LII LIỆỆU TU THAM KHHAM KHẢẢOO

1. Internet1. Internet nnốốii kkếếtt mmạạngng ((LêLê QuangQuang LiêmLiêm))

2. 2. InternetworkingInternetworking vvớớii TCP/IP (NguyTCP/IP (Nguyễễnn QuQuốốcc Cư Cườờngng))

3. A3. Architecisrchitecis of the of the WWeb (eb (RiedRied Robert.HRobert.H))4. 4. EbEbookook ““ThThươngương mmạạii ViViệệtt NamNam hhộộii nhnhậậpp ththếế gigiớớii ’’’’

5. C5. Cáácc WebsiteWebsite TMĐT TMĐT : Yahoo, : Yahoo, AmazonAmazon, , EbayEbay, AltaVista,..., AltaVista,...

http://www.ecomercehttp://www.ecomerce--guide.comguide.com

http://www.onlinehttp://www.online--commerce.comcommerce.com

http://www.ecommercetimes.comhttp://www.ecommercetimes.com

http://http://creatingcreating--aa--site.comsite.com

Page 3: Tai lieu Thiet ke Web toan tap

NNỘỘI DUNG CHƯƠNG TRÌNHI DUNG CHƯƠNG TRÌNH

Chương Chương 1: 1: Internet & Web Internet & Web Chương Chương 2: Ngôn ng2: Ngôn ngữữ HTMLHTMLChương Chương 3:3: JavaScript & VBScriptJavaScript & VBScriptChương Chương 4:4: TriTriểển khai WebSiten khai WebSite--CCáácc côngcông nghnghệệ Web Web đđộộngngChương Chương 55:: CCàài đi đặặt & Ct & Cấấu hu hìình Webnh Web ServerServer

Page 4: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEBI. KHÁI NIỆM VỀ MẠNG MÁY TÍNH

Mạng máy tính (network) là bao gồm các máy tính được nối với nhau sao cho chúng có thể dùng chung dữ liệu vàcác thiết bị.

Các máy tính trong mạng có thể dùng chung các loại tài nguyên sau:

Dữ liệuThông điệpHình ảnhMáy faxModemMáy in Các tài nguyên phần cúng khác

Page 5: Tai lieu Thiet ke Web toan tap

Máy tính Máy in

Cáp

Hệ thống mạng máy tính đơn giản

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 6: Tai lieu Thiet ke Web toan tap

II. CÁC LOẠI MẠNG MÁY TÍNH

1. MẠNG NỘI BỘ (LOCAL AREA NETWORK - LAN)Mạng nội bộ (LAN) là một mạng của các máy tính được

nối với nhau trong một phạm vi hẹp như trong một toà nhà, một công sở nhờ một số loại cáp dẫn, không dùng thuê bao điện thoại.2. MẠNG DIỆN RỘNG (WIDE AREA NETWORK - WAN)

Mạng diện rộng (WAN) là một mạng của nhiều mạng nội bộ nối với nhau thông qua đường dây điện thoại hoặc nhờ các công nghệ khác như hệ thống điện tử viễn thông hoặc vệ tinh.

CHƯƠNG 1 : INTERNET VÀ WEB

Page 7: Tai lieu Thiet ke Web toan tap

II. CII. CÁÁC LOC LOẠẠII MMẠẠNG MNG MÁÁY TY TÍÍNHNH3. M3. MẠẠNG INTERNET LNG INTERNET LÀÀ GÌ?GÌ?

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 8: Tai lieu Thiet ke Web toan tap

Internet lInternet làà liên mliên mạạng tong toààn cn cầầu lu lớớn nhn nhấất bao trt bao trùùm lên tm lên tấất ct cảảccáác mc mạạng khng kháác phân bc phân bốố trên phtrên phạạm vi tom vi toààn thn thếế gigiớới.i.

+ Gi+ Giúúp cp cáác mc mááy ty tíính knh kếết nt nốối vi vàà trao đ trao đổổi thông tin vi thông tin vớới i nhau mnhau màà không ckhông cầần bin biếết vt vịị trtríí đ địịa lý ca lý củủa cha chúúngng

+ Cho ph+ Cho phéép truy cp truy cậập lên cp lên cáác tc tàài nguyên lưu tri nguyên lưu trữữ ởở xa.xa.+ Cho ph+ Cho phéép trao đp trao đổổi thư đii thư điệện tn tửử (Email), trò chuy(Email), trò chuyệện n

(Chat), g(Chat), gọọi đii điệện thon thoạại, gi, gửửi tin nhi tin nhắắn,.. n,.. + C+ Cáác tư lic tư liệệu thông tin đưu thông tin đượợc tc tổổ chchứức theo tc theo từừng trang ng trang

(trang Web). C(trang Web). Cáác trang nc trang nàày đưy đượợc liên kc liên kếết vt vớới nhau nhi nhau nhờờ ccáác c liên kliên kếết hay ct hay cáác chc chỉỉ mmụục.c.

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEBII. CII. CÁÁC LOC LOẠẠII MMẠẠNG MNG MÁÁY TY TÍÍNHNH

3. M3. MẠẠNG INTERNET LNG INTERNET LÀÀ GÌ?GÌ?

Page 9: Tai lieu Thiet ke Web toan tap

LLịịch sch sửử phpháát trit triểển Internetn InternetTiTiềền thân cn thân củủa Internet la Internet làà ARPANET ARPANET, 1, 1960960Năm Năm 1983, giao th1983, giao thứức TCP/IP chc TCP/IP chíính thnh thứức đưc đượợc coi như mc coi như mộột t chuchuẩẩn cho vin cho việệc kc kếết nt nốối mi mááy ty tíínhnhNăm Năm 1984, ARP1984, ARPANET đã đưANET đã đượợc chia ra thc chia ra thàành hai phnh hai phầần: n: phphầần thn thứứ nhnhấất vt vẫẫn đưn đượợc gc gọọi li làà ARPANET, dARPANET, dàành cho vinh cho việệc c nghiên cnghiên cứứu vu vàà phpháát trit triểển; phn; phầần thn thứứ hai đư hai đượợc gc gọọi li lààMILNET, lMILNET, làà mmạạng dng dùùng cho cng cho cáác mc mụục đc đíích quân sch quân sựự. . WWW ra đWWW ra đờời, 1989i, 1989NgNgàày nay chy nay chúúng ta thng ta thấấy Internet xuy Internet xuấất hit hiệện trong mn trong mọọi li lĩĩnh nh vvựực :c : thương m thương mạại, chi, chíínhh trnhh trịị, quân s, quân sựự, nghiên c, nghiên cứứu, giu, giááo do dụục, c, văn hovăn hoáá, xã h, xã hộội ... i ...

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 10: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 11: Tai lieu Thiet ke Web toan tap

Máy chủ

INTERNET

IAPIAP

ISPISP ISPISPMáy chủ

Máy chủ

ISPISP

Nhà cung cấp khả năngtruy cập Internet

Nhà cung cấp dịchvụ InternetNgười dùng

truy cậptrực tiếp

Người dùng truy cập từ xa(điện thoại, thuê bao)

Mạng người dùng công cộng

IAP: Internet Access Provider

ISP:Internet Service Provider

Page 12: Tai lieu Thiet ke Web toan tap

KKếết nt nốối Interneti InternetĐĐểể kkếết nt nốối đưi đượợc Internet cc Internet cầần :n :-- MMááy ty tíính (nh (……))-- Modem (Modem (……))-- ĐưĐườờng dây đing dây điệện thon thoạạii-- NhNhàà cung ccung cấấp dp dịịch vch vụụ

+ America Online+ America Online+ VDC (VNPT)+ VDC (VNPT)+ FTP, Viettel, Netnam+ FTP, Viettel, Netnam……

-- CCáác phc phầần mn mềềm Internetm Internet

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 13: Tai lieu Thiet ke Web toan tap

Trước tiên bạn phải kiểm tra đã có sẵn các thiết bị MODEM, đường dây điện thoại, 01 ACCOUNT Internet

I. Cài đặt modem

Vào Start --> Settings --> Control Panel.Bấm đúp chuột vào biểu tượng Modem.Bấm Add ở cửa sổ tiếp theo.

CÀI ĐẶT INTERNET

Page 14: Tai lieu Thiet ke Web toan tap

Sau đó từng bước bấm NEXT để thực hiện cài đặt MODEM bằng WIZAD.

Nếu trong trường hợp bạn không có đúng Driver của MODEM hãy chọn kiểu STANDARD MODEM do chương trình cài đặt tựđộng cung cấp.

Nếu cài từ đĩa mềm thì ta chọn Have Disk... chọn ổ A rồi nhấnEnter.

CÀI ĐẶT INTERNET

Page 15: Tai lieu Thiet ke Web toan tap

CÀI ĐẶT INTERNET

Page 16: Tai lieu Thiet ke Web toan tap

CÀI ĐẶT INTERNETII. Cài đặt Dial-up Adapter

Thông thường khi cài đặt xong MODEM thìphần mềm kết nối này được cài đặt tự động theo, trong trường hợp nếu không có, bạn hãy làm theo các bước tiếp theoMở Control Panel Chọn Network

Page 17: Tai lieu Thiet ke Web toan tap

Chọn Add tại Network box. Chọn Adapter (trong phần "Click the type of network component you want to install") vàbấm Add

CÀI ĐẶT INTERNET

Page 18: Tai lieu Thiet ke Web toan tap

Chọn Microsoft trong phần Manufacturers. Chọn Dial-up Adapter.Chọn OK. Chỉ định đường dẫn đến thư mục hoặc ổ đĩa cài Windows.

CÀI ĐẶT INTERNET

Page 19: Tai lieu Thiet ke Web toan tap

III. Cài đặt giao thức TCP/IPMở Control Panel Chọn Network Bấm Add tại Network box. Chọn Protocol (trong phần "Click the type of network component you want to install") sau đó bấm Add. Chọn Microsoft trong phần Manufacturers sau đóchọn TCP/IP trong phần Network Protocol. Chọn OK. Khởi động lại máy.

CÀI ĐẶT INTERNET

Page 20: Tai lieu Thiet ke Web toan tap

CÀI ĐẶT INTERNETIV. Tạo kết nối Dial-up networking

Mở My ComputerMở Dial - Up Networking

Select Make New Connection và điền các thông tin : Tên của kết nối, ví dụ : NetnamInternet Chọn modem Bấm Next và điền các thông tin : Area Code: Quay tới Hà nội, điền 04 Telephone number : Số điện thoại của nhà cung cấp dịch vụ Internet

Page 21: Tai lieu Thiet ke Web toan tap

CÀI ĐẶT INTERNETIV. Tạo kết nối Dial - up networking

Hiện tại có 03 số điện thoại hay truy cập nhấtNetnam Internet : (04) 756.22.34 VDC Internet : (04) 1260 FPT Internet : (04) 822.31.22

Page 22: Tai lieu Thiet ke Web toan tap

IV. Tạo kết nối Dial - up networking

Country code : 84 (Vietnam )Bấm Next Bấm Finish

CÀI ĐẶT INTERNET

Page 23: Tai lieu Thiet ke Web toan tap

CÀI ĐẶT INTERNETV. Thuộc tính của kết nối

Chọn kết nối bạn vừa tạo, ví dụNetnamInternet

Bấm phím phải chuột, chọn Properties Chọn Server Type:Chọn PPP : WindowsX, WindowsNT, Internet trong Type of dial-up server Trong phần Advanced Options : Chọn Enable software compression và bỏ các tuỳ chọn khác Trong phần Advanced network protocol chọn TCP/IP và bỏ các tuỳ chọn khác

Page 24: Tai lieu Thiet ke Web toan tap

CÀI ĐẶT INTERNET

Tiếp đó chọn thẻ General

V. Thuộc tính của kết nối

Page 25: Tai lieu Thiet ke Web toan tap

CÀI ĐẶT INTERNET

Bấm OK để lưu các thông tin vừa thiết lập.

V. Thuộc tính của kết nối

Page 26: Tai lieu Thiet ke Web toan tap

III. CÁC KHÁI NIỆM1. GIAO THỨC TCP/IP (Transmission Control Protocol/ Internet Protocol)TCP/IP là một giao thức để kết nối và truyền dữ liệu giữa các máy tính với nhau.+ Mục đích chính của IP là cung cấp khả năng kết nối các mạng con

thành liên mạng để truyền dữ liệu. Vai trò của IP tương tự vai trò của giao thức tầng mạng trong mô hình OSI. IP là một giao thức kiểu không liên kết. Đơn vị dữ liệu dùng trong IP được gọi làDatagram.

+ TCP là một giao thức kiểu "có liên kết", nghĩa là phải thiết lập liên kết giữa một cặp thực thể TCP truớc khi chúng trao đổi dữ liệu với nhau. Đơn vị dữ liệu sử dụng trong TCP goi là segment

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 27: Tai lieu Thiet ke Web toan tap

III. CÁC KHÁI NIỆM2. ĐỊA CHỈ IP :

Địa chỉ IP dùng để các máy tính liên lạc được với nhau vàphân biệt được nhau.

+ IP tĩnh và IP độngCấu trúc của địa chỉ IP này gồm một chuỗi số 32 bit và được

chia thành 4 nhóm, cách nhau bởi dấu chấm ( . ). Mỗi nhóm gồm 3 chữ số có giá trị từ 000 đến 255.

Ví dụ : địa chỉ IP của một máy tính : 192.168.2.3

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 28: Tai lieu Thiet ke Web toan tap

3. Tên miền (Domain Name)Địa chỉ IP là những dãy số, do đó người dùng Internet rất khó

nhớ. Vì vậy người ta dùng khái niệm tên miền (Domain Name) đểánh xạ tới địa chỉ IP. Tuy nhiên tên miền chỉ là tên dành cho người dùng dễ nhớ, cốt lõi của địa chỉ Internet vẫn là IP.Tên miền của một máy chủ gồm các chuỗi ký tự phân cách nhau bằng dấu chấm (.).

Khuôn dạng tên miền: xxx.xxx.xxx.xxx- Nhóm ký tự cuối cùng đại diện cho tên nước.- Nhóm kế tiếp đại diện cho loại cơ quan- Nhóm kế tiếp đại diện cho tên cơ quan- Nhóm đầu tiên đại diện cho tên máy tính

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEBIII. CÁC KHÁI NIỆM

Page 29: Tai lieu Thiet ke Web toan tap

Địa chỉ IP Địa chỉ theo tên miền113.115.12.37203.162.16.235203.162.7.48110.32.26.74

www.pacific.net.sghome.vnn.vnfpt.com.vnwww.yahoo.com

VVíí ddụụ::

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEBIII. CÁC KHÁI NIỆM

3. Tên miền (Domain Name)

Page 30: Tai lieu Thiet ke Web toan tap

4. Máy chủ (Server)Là một máy tính được nối vào mạng và có khả năng

cung cấp thông tin cho máy tính khác trong mạng.Là máy trong mạng mà các máy tính khác trong mạng

có thể truy cập được.5. Máy khách (Client)

Là một máy tính được nối vào mạng và có khả năngtruy cập vào các máy khác để yêu cầu đáp ứng thông tin. (Máy của những người sử dụng bình thường).

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

III. CÁC KHÁI NIỆM

Page 31: Tai lieu Thiet ke Web toan tap

IV. CÁC DỊCH VỤ CỦA INTERNET1. Dịch vụ thư điện tử (E-mail) :

• Electronic mail (EElectronic mail (E--mail) : mail) : LLàà mmộộtt ddịịchch vvụụ ccủủaa Internet Internet gigiúúppchocho viviệệcc traotrao đđổổii thôngthông điđiệệpp gigiữữaa nhnhữữngng ngưngườờii ddùùngng hay hay nhnhóómm ngưngườờii ddùùngng trêntrên mmạạngng•• DDựựa trên giao tha trên giao thứức chuc chuẩẩn Internet: Simple Mail Transfer n Internet: Simple Mail Transfer Protocol (SMTP)Protocol (SMTP)•• KhKhảả năng g năng gửửi ti tớới nhii nhiềều ngưu ngườời ci cùùng mng mộột tht thờời đii điểểmm•• Nhanh chNhanh chóóng chuyng chuyểển giao đưn giao đượợc tc tàài lii liệệuu•• Chi phChi phíí ththấấpp

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 32: Tai lieu Thiet ke Web toan tap

CCáác mô hc mô hìình honh hoạạt đt độộng Eng E--Mail :Mail :

Mô hMô hìình thông đinh thông điệệp trp trựực tic tiếếpp

Mô HMô Hìình hnh hộộp thư lưup thư lưu

Mô hMô hìình Internetnh Internet

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

IV. CÁC DỊCH VỤ CỦA INTERNET1. Dịch vụ thư điện tử (E-mail) :

Page 33: Tai lieu Thiet ke Web toan tap

Mô hMô hìình thông đinh thông điệệp trp trựực tic tiếếpp

from: Ato: Dfrom: Ato: D

DD

CC

BB

Các thông điệp được gửi trực tiếp ngay lập tức tới máyđang hoạt động trong mạng nội bộ

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEBIV. CÁC DỊCH VỤ CỦA INTERNET

1. Dịch vụ thư điện tử (E-mail) :

Page 34: Tai lieu Thiet ke Web toan tap

Mô hMô hìình hnh hộộp thư lưup thư lưuThôngThông điđiệệpp đưđượợcc ggửửii gigiáánn titiếếpp ttớớii mmộộtt mmááyy phphụụcc vvụụ đangđang hohoạạttđđộộngng trongtrong mmạạngng nnộộii bbộộ

from: Ato: D

m¸y phôc vô th−Mail SERVERm¸y phôc vô th−Mail SERVER

BBCC

DD

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEBIV. CÁC DỊCH VỤ CỦA INTERNET

1. Dịch vụ thư điện tử (E-mail) :

Page 35: Tai lieu Thiet ke Web toan tap

CCáác thc thàành phnh phầần cơ bn cơ bảảnn

•• Mail server: Mail server: ChươngChương trtrììnhnh phphụụcc vvụụ thưthư

•• Mail Client: Mail Client: ChươngChương trtrììnhnh chocho ngưngườờii ssửử ddụụngng

•• CCááchch ththứứcc giaogiao nhnhậậnn thưthư

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 36: Tai lieu Thiet ke Web toan tap

TTàài khoi khoảản thư đin thư điệện tn tửử•• TTààii khokhoảảnn đăngđăng nhnhậậpp thưthư điđiệệnn ttửử ggồồmm::

TênTên đăngđăng kýký (account name)(account name)MMậậtt khkhẩẩuu (Password)(Password)

•• ĐĐịịaa chchỉỉ thưthư ccủủaa ngưngườờii ssửử ddụụngng sausau khikhi đăngđăng kýký::têntên__đăngđăng_ký@tên_miên_ký@tên_miên

TrongTrong đđóó: : têntên miênmiên llàà têntên đđịịnhnh danhdanh ccủủaa mmááyy phphụụcc vvụụ thưthư -- têntênđưđượợcc ccấấpp bbởởii ttổổ chchứứcc ququảảnn lýlý têntên mimiềềnn internetinternetVVíí ddụụ: : [email protected]@ud.edu.vn

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 37: Tai lieu Thiet ke Web toan tap

Thư điThư điệện tn tửử -- WebmailWebmailLLàà ccáácc đđịịaa chchỉỉ EE--mail mail mimiễễnn phphíí nhưnhư: :

http://http://www.yahoo.comwww.yahoo.com

http://http://www.hotmail.comwww.hotmail.com

http://http://vol.vnn.vnvol.vnn.vn

http://http://mail.emailpinoy.commail.emailpinoy.comhttp://Saigon.vnn.vn/webmailhttp://Saigon.vnn.vn/webmailwww.mailexcite.comwww.mailexcite.com Excite mailExcite mailwww.netaddress.comwww.netaddress.com USAUSA--NetNet mailmail

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 38: Tai lieu Thiet ke Web toan tap

IV. CÁC DỊCH VỤ CỦA INTERNET2. World Wide Web (www)

•• World Wide Web (WWW) World Wide Web (WWW) hohoặặcc Web Web llàà mmộộtt ddịịchch vvụụccủủaa Internet Internet •• Là dịch vụ cung cấp thông tin một cách toàn diện nhấtcho người dùng.

•• Web Web chchứứaa thôngthông tin tin baobao ggồồmm vănvăn bbảảnn, , hhììnhnh ảảnhnh, , âmâmthanhthanh vvàà ththậậmm chchíí ccảả video video đưđượợcc kkếếtt hhợợpp vvớớii nhaunhau. . •• Web Web llàà khokho thôngthông tin tin khkhổổngng llồồ: : phongphong phphúú vvềề nnộộii dung, dung, đađa ddạạngng vvềề hhììnhnh ththứứcc, , thưthườờngng xuyênxuyên đưđượợcc ccậậpp nhnhậậtt, , đđổổiimmớớii vvàà phpháá tritriểểnn khôngkhông ngngừừngng

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 39: Tai lieu Thiet ke Web toan tap

Là hình thức hội thoại trực tiếp trên Internet, llàà mmộộttddịịchch vvụụ ccủủaa Internet Internet

Dịch vụ này cho phép hai hay nhiều người có thểcùng trao đổi thông tin trực tuyến với nhau thôngqua bàn phím và màn hình.

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEBIV. CÁC DỊCH VỤ CỦA INTERNET

3. Chat

Page 40: Tai lieu Thiet ke Web toan tap

IV. CÁC DỊCH VỤ CỦA INTERNET4. FTP (File Transfer Protocol)Dịch vụ này cho phép truyền các tập tin từ máy tính này

đến máy tính khác trong mạng theo giao thức FTP. Lấy file từ máy tính ở xa về người ta gọi là Download, gửi

file đến máy tính ở xa gọi là Upload

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 41: Tai lieu Thiet ke Web toan tap

IV. CÁC DỊCH VỤ CỦA INTERNET5. Dịch vụ Telnet* Cho phép người sử dụng đăng nhập vào máy tínhchủ từ xa thông qua một máy khác trên mạng* Hệ thống ở xa sẽ yêu cầu xác nhận tên đăng ký vàmật khẩu để đăng nhập* Sau khi kết nối thì những gì ta nhập từ bàn phím của người sử dụng đều được gửi đến máy tính từ xa* * LLệệnhnh: : Telnet <Telnet <têntên host> host> hohoặặcc <<đđịịaa chchỉỉ IP>IP>* * TrongTrong đđóó: <: <têntên host> host> llàà têntên mmááyy chchủủ mumuốốnn truytruy ccậậpp..<<đđịịaa chchỉỉ IP> IP> llàà đđịịaa chchỉỉ ccủủaa mmááyy chchủủ mumuốốnn truytruy ccậậpp..

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 42: Tai lieu Thiet ke Web toan tap

IV. CÁC DỊCH VỤ CỦA INTERNET6. 6. CCáácc ddịịchch vvụụ khkháácc ::* Gopher* Gopher –– TraTra ccứứuu thôngthông tin tin theotheo ththựựcc đơnđơn* * DDịịchch vvụụ WAIS WAIS (Wide Area Information Server) (Wide Area Information Server)

TTììmm kikiếếmm thôngthông tin tin theotheo didiệệnn rrộộngng* * Mailing list: Mailing list: DanhDanh ssááchch traotrao đđổổii trêntrên EmailEmailCCáácc ddạạngng mailing list :mailing list :

-- Mailing list Mailing list khôngkhông ccóó nhnhàà ququảảnn trtrịị-- Mailing list Mailing list ccóó nhnhàà ququảảnn trtrịị ((thôngthông ddụụngng))-- Mailing list Mailing list mmộộtt chichiềềuu

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 43: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WORLD WIDE WEB (WWW)

InternetInternetHTTP

Client Server

Client gởi yêu cầuthông tin lên Internet Server nhận yêu cầu, xử lý

và gởi kết quả về cho Client

HTTP

1. Mô hình chung :

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 44: Tai lieu Thiet ke Web toan tap

2. Các khái niệm :a. Địa chỉ URL :

URL (Uniform Resouce Locator ). Là địa chỉ đầyđủ chỉ đến một tài nguyên thông tin trên Internet.

Ví dụ:http://www.hssv.vnn.vn/dethidapan/2007/index.html

Trong đó:http:// Gọi là tên dịch vụ (có thể gọi là phần giao thức).www.hssv.vnn.vn/ Là phần tên máy chủ.dethidapan/2007/index.html Đường dẫn đến tài nguyên.

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 45: Tai lieu Thiet ke Web toan tap

2. Các khái niệm :a. Địa chỉ URL :

Lîi Ých cña URL lµ cung cÊp mét ph−¬ng ph¸p ®¬n gi¶n, ®ång bé cho viÖc ®Þnh danh c¸c tµi nguyªn cã s½n trªnInternet, th«ng qua rÊt nhiÒu giao thøc kh¸c nhau nh− lµHTTP, FTP, Telnet,...

B¶ng d−íi ®©y m« t¶ mét sè khu«n d¹ng URL chuÈn®ang ®−îc dïng rÊt phæ biÕn:

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 46: Tai lieu Thiet ke Web toan tap

2. Các khái niệm :a. Địa chỉ URL :

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

DÞch vô Khu«n d¹ng URL NgÇm ®Þnh

HTTP Http://Host:Port/Path Port: 80

FTP Ftp://User.Password@Host:Port/Path User: AnonymousPassword: ®Þa chØ e-mailPort: 21

GOPHER Gopher://Host:Port/Path Port: 70

MAILTO Mailto:Address@Host Kh«ng

TELNET Telnet://User:Password@Host:Port Port: 23

Page 47: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)2. Các khái niệm :

b. Giao thức HTTP :Web Browser và Web Server giao tiếp với nhau thông qua

một giao thức được gọi là HTTP.Sự kết nối bằng Http qua 4 giaiđoạn:+ Tạo kết nối : Web Browser giao tiếp với Web Server nhờ địa chỉ Internet và số cổng (ngầm định là 80) được đặc tả trong URL+ Thực hiện yêu cầu : Web Browser gửi thông tin tới Web Server để yêucầu phục vụ. Việc gửi và nhận thông tin ở đây theo phương thức POST, GET+ Phản hồi: Web Server gửi một phản hồi về Web Browser nhằm đáp ứngyêu cầu của Web Browser.+ Kết thúc kết nối: Khi kết thúc quá trình trao đổi giữa Web Browser vàWeb Server thì sự kết nối chấm dứt.

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 48: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)2. Các khái niệm :

c. Web ServerLà một phần mềm được sử dụng trên máy chủ (máy

phục vụ) để lắng nghe các yêu cầu từ các máy khách Client(Web Client) và đáp ứng yêu cầu cho máy Client.

Có rất nhiều Web Server chạy trên nhiều flatform : Web Server của NSCA trên UNIX, Web Server dùng trên môitrường Windows, Web Server của Oracle được thiết kế để tậndụng khả năng truy cập vào cơ sở dữ liệu hùng mạnh củaOracle.

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 49: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)2. Các khái niệm :

d. Web BrowserLà một phần mềm được sử dụng trên máy khách

(Client), dùng để gởi các yêu cầu lên Web Server và nhận cáckết quả đáp ứng từ Server đồng thời hiển thị lên với khuôn dạngthích hợp.

Các trình duyệt : Nestcape Navigator, Mosaic NCSA, Internet Explore

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 50: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)3. Mô hình xử lý Client/Server :Như chúng ta đã biết, mọi vấn đề được thực hiện trên

máy tính đều phải thông qua việc viết chương trình. Một chương trình có thể chia làm 3 lớp như sau:

PresentationPresentation Application Logic

Application Logic

Data Managerment

Data Managerment

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 51: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)3. Mô hình xử lý Client/Server :+ Lớp Presentation (lớp trình bày): Lớp này quản lý giao

diện người sử dụng, cho phép người sử dụng xem các thông tin, báo biểu của chương trình, hoặc cho phép người sử dụng nhậpcác thông tin đầu vào.

+ Lớp Application Logic (lớp logic ứng dụng): Lớp này được xem như là trái tim của ứng dụng. Nó bao gồm các module cần thiết để hoàn thiện các chức năng của ứng dụng.

+ Lớp Data Managerment (lớp quản lý dữ liệu): lớp nàybao gồm tất cả các dữ liệu được sử dụng bởi ứng dụng, cũng nhưcác quy tắc hợp lệ khác nhau được yêu cầu để đảm bảo tính toànvẹn dữ liệu.

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 52: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)3. Mô hình xử lý Client/Server :

Một mô hình xử lý Client/Server phải có 3 thành phần cơbản : Front-end Client

Back-end ServerMạng máy tính (Network)

Một chương trình Front-end Client chạy trên trạm làmviệc (Workstation), mà ở đó người sử dụng giao tiếp với ứngdụng để yêu cầu cung cấp dịch vụ, như truy vấn dữ liệu.

Chương trình Back-end Server chạy trên máy chủ(Host) tiếp nhận thông tin và cung cấp dịch vụ được yêu cầu, như phản hồi truy vấn.

Mạng máy tính có chức năng truyền tải thông tin.

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 53: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)3. Mô hình xử lý Client/Server : 4 mô hình xử lý phổ biến

ISOH

Data Managerment

Data Managerment

Application logic

Application logic

Application logic

Application logic

Data Managerment

Data Managerment

Data Managerment

Data Managerment

Data Managerment

Data Managerment

Data Managerment

Data Managerment

Application logic

Application logic

PresentationPresentation

Application logic

Application logic

PresentationPresentation

Application logic

Application logic

PresentationPresentationPresentationPresentation

WORKSTATION

Page 54: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)3. Mô hình xử lý Client/Server : + Mô hình đầu tiên là mô hình trình bày từ xa :

mô hình này máy chủ thực hiện truy cập dữ liệu, xử lýtính toán. Kết quả tính toán được trả về và trình bày trênmáy trạm.

+ Mô hình thứ hai là mô hình xử lý phân tán : mô hình này chia xẻ năng lượng tính toán trên máy chủcho máy trạm. Máy trạm ngoài chức năng quản lý giaodiện còn được phân bổ một số chức năng xử lý thíchhợp.

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 55: Tai lieu Thiet ke Web toan tap

V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)3. Mô hình xử lý Client/Server :+ Mô hình thứ 3 là mô hình quản lý dữ liệu từ

xa : mô hình này tận dụng khả năng tính toán của máytrạm. Máy chủ chỉ có chức năng quản lý dữ liệu, cònmáy trạm có nhiệm vụ xử lý tính toán và quản lý giaodiện người sử dụng.

+ Mô hình cuối cùng là mô hình quản lý dữ liệuphân tán: đặc điểm của mô hình này là toàn bộ năng lượng tính toán tập trung trên máy trạm. Tuy nhiên mộtphần dữ liệu được quản lý bởi máy chủ.

CHƯƠNG CHƯƠNG 1 : INTERNET V1 : INTERNET VÀÀ WEBWEB

Page 56: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

I. GIỚI THIỆU1. Giới thiệu về HTML

Khi chúng ta thiết kế một trang Web dễ dàng dưới dạng các hình ảnh trực quan, nhưng cốt lõi bên trong, cấu trúc của một trang Web được qui định bởi ngôn ngữsiêu liên kết HTML.

HTML là chữ viết tắt của Hypertext Markup Language ( ngôn ngữ đánh dấu siêu văn bản ) là hàng loạt các thẻ (Tag) với các qui ước để tạo ra các trang Web và các trang Web được hiển thị bởi những trình duyệt Web ( Web browser ).

Page 57: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

I. GIỚI THIỆU1. Giới thiệu về HTML

HTML lµ mét ng«n ng÷ m« t¶ tµi liÖu, ®−îc h×nh thµnh tõ mét d¹ng ng«n ng÷ m« t¶ tµi liÖu tæng qu¸t cã tªn lµ SGML (Standard Generalized Markup Language), ®©y lµ ng«n ng÷ do h·ng IBM ®Ò x−íng tõ nh÷ng n¨m 1960.

Thùc chÊt SGML lµ mét ng«n ng÷ m¸y tÝnh nh»m m«t¶ tµi liÖu, cho phÐp ta thiÕt lËp mèi quan hÖ gi÷a c¸c thµnh phÇn kh¸c nhau trong cïng mét tµi liÖu, hoÆc gi÷a nhiÒu tµi liÖu thuéc c¸c d¹ng d÷ liÖu kh¸c nhau

Page 58: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

I. GIỚI THIỆU2. C¸c kh¸i niÖm

a. Kh¸i niÖm TAG

Mét Tag cña HTML lµ dÊu hiÖu b¸o cho tr×nh duyÖt Web (Web Browser) biÕt r»ng nªn lµm ®iÒu g× ®ã ngoµi viÖc chØ thuÇn tuý thÓ hiÖn v¨n b¶n lªn mµn h×nh. C¸c Tag trong HTML th−êng ®−îc gäi lµ c¸c thÎ.

VÝ dô: ®Ó hiÓn thÞ mét dßng v¨n b¶n in ®Ëm, trong tµi liÖu HTML ta chÌn vµo lÖnh sau:

<B> dßng v¨n b¶n ®−îc in ®Ëm </B>

Page 59: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

I. GIỚI THIỆU2. C¸c kh¸i niÖm

b. Thuéc tÝnh cña TagMçi Tag trong HTML ®Òu cã mét vµi thuéc tÝnh

(hay cßn gäi lµ tham sè) dïng ®Ó bæ sung hoÆc thay ®æi c¸ch thÓ hiÖn th«ng th−êng cña Tag ®ã.

VÝ dô: ®Ó hiÓn thÞ 1 h×nh ¶nh trªn trang web ta dïng tag nh− sau:<IMG SRC="bground.gif" WIDTH="100" HEIGHT="150">

Trong ®ã: + ChØ thÞ IMG b¸o cho tr×nh duyÖt biÕt lµ b¾t ®Çu hiÓn thÞ h×nh ¶nh+ Thuéc tÝnh SRC cho biÕt h×nh ¶nh cÇn hiÓn thÞ lµ file bground.gif+ Thuéc tÝnh WIDTH cã gi¸ trÞ 100, HEIGHT cã gi¸ trÞ 150 b¸o cho tr×nh duyÖt biÕt ®é réng vµ ®é cao cña h×nh ¶nh cÇn hiÓn thÞ lµ100 vµ 150

Page 60: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

I. GIỚI THIỆU2. C¸c kh¸i niÖm

c. Tag chøa vµ Tag rçng+ Tag chøa: Mét tag ®−îc gäi lµ tag chøa nÕu nã ®i cïng víi mét

tag kh¸c dïng ®Ó b¸o hiÖu tag ®ã mÊt hiÖu lùc, hoÆc bao gåm trong nã nhiÒu tag kh¸c ®Ó t¨ng thªm tÝnh n¨ng cña nã. Tag <B> lµ mét vÝ dô vÒ tag chøa, chóng gåm hai thµnh phÇn, phÇn ®Çu tag (<B>) vµ phÇn cuèi tag (</B>).

+ Tag rçng: tag rçng lµ tag chØ cã mét thµnh phÇn chøa tªn tag vµkh«ng ®i kÌm víi mét tag kh¸c. Th«ng th−êng lo¹i tag nµy chØcã hiÖu lùc t¹i vÞ trÝ nã xuÊt hiÖn. VÝ dô nh− tag <BR> cã nhiÖm vô ng¾t dßng, khi tr×nh duyÖt nhËn thÊy tag nµy trong tµi liÖu th× nã tiÕp tôc hiÓn thÞ th«ng tin sang mét dßng míi.

Page 61: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

I. GIỚI THIỆU3. Cấu trúc một trang Web ở dạng HTMLMét tµi liÖu HTML th«ng th−êng gåm 2 phÇn chÝnh: phÇn ®Çu tµi liÖu (Head) vµ phÇn th©n tµi liÖu (Body)D−íi ®©y lµ cÊu tróc c¬ b¶n cña 1 tµi liÖu HTML:<HTML> <-- tag ®Þnh nghÜa 1 tµi liÖu HTML

<HEAD> <-- tag ®Þnh nghÜa phÇn ®Çu cña tµi liÖu------------ <-- c¸c tag kh¸c thuéc vÒ phÇn ®Çu tµi liÖu </HEAD> <-- tag b¸o hiÖu kÕt thóc phÇn ®Çu tµi liÖu<BODY> <-- tag b¸o hiÖu b¾t ®Çu phÇn th©n tµi liÖu---------- <-- néi dung vµ c¸c tag phÇn th©n tµi liÖu </BODY> <-- tag b¸o hiÖu kÕt thóc phÇn th©n tµi liÖu

</HTML> <-- tag kÕt thóc 1 tµi liÖu HTML

Page 62: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML1. C¸c tag trong phÇn ®Çu tµi liÖu

a. Tag <!DOCTYPE>Tag nÇy dïng ghi th«ng tin vÒ version HTML ¸p dông trong tµi

liÖu Web. Th−êng ®©y lµ dßng ®Çu tiªn trong file HTML.

VÝ dô:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN"> hay <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Level 1//EN">

Page 63: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML1. C¸c tag trong phÇn ®Çu tµi liÖu

b. Tag <TITLE> §©y lµ lo¹i tag chøa, dïng ®Ó thiÕt lËp tiªu ®Ò cña tµi liÖu

VÝ dô:<Title>VÝ dô cho tiªu ®Ò t¹o web</Title>

c. Tag <BASE>Thµnh phÇn nÇy dïng ®Ó chØ ®Þnh ®Þa chØ c¬ b¶n cho c¸c mèi nèi liªn kÕt. Coi nh− ®©y lµ ®Þa chØ gèc ®Ó t×m c¸c ®Þa chØ kh¸c.

VÝ dô: <BASE HREF="http://www.pc3.com/Scripts/">

Page 64: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML1. C¸c tag trong phÇn ®Çu tµi liÖu

d. Tag <META>Tag nµy cho phÐp ta tù do ®Æt nhiÒu th«ng tin vµo phÇn ®Çu cña t− liÖu web nh− : ®Þa chØ tr¶ lêi th−, c¸c b¶n th«ng b¸o, thêi gian lµm t−¬i trang web, thêi gian qu¸ h¹n th«ng tin...

C¸c thuéc tÝnh cña tag:+ Content: g¸n gi¸ trÞ cho tªn thuéc tÝnh+ HTTP-EQUIV: kÕt nèi c¸c siªu th«ng tin vµo phÇn header cña 1 ®¸p øng Server (HTTP)+ Name: tªn cña thµnh phÇn siªu th«ng tin, ®−îc xem gièng nh− lµHTTP-EQUIV nÕu kh«ng ®−îc x¸c ®Þnh.

VÝ dô: <META HTTP-EQUIV="Refresh" Content="10">Tag nµy b¸o cho tr×nh duyÖt biÕt r»ng cø 10 gi©y th× lµm t−¬i (Refresh)

trang web mét lÇn.

Page 65: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML1. C¸c tag trong phÇn ®Çu tµi liÖu

e. Tag <SCRIPT> §©y lµ tag chøa, dïng ®Ó chøa c¸c hµm (hoÆc c¸c thñ tôc) ®−îc

viÕt b»ng JavaScript (hoÆc VBScript). Tag nµy cã thuéc tÝnh Language ®Ó chØ ra ng«n ng÷ ®−îc sö dông lµ ng«n ng÷ g×.

VÝ dô:<SCRIPT LANGUAGE="JavaScript">

function Vidu(){//c¸c lÖnh cña hµm n»m ë ®©y.

}

</SCRIPT>

Page 66: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖu

a. Tag BODY§©y lµ lo¹i tag chøa, dïng ®Ó bao lÊy c¸c tag kh¸c

trong phÇn th©n cña tµi liÖu HTML.C¸ch sö dông:

<BODY><!---c¸c tag kh¸c n»m ë ®©y-->

</BODY>

Page 67: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖuThuéc tÝnh Chøc năng

Bgcolor="#RRBBGG" X¸c ®Þnh mµu nÒn (Background) cho trang web , tªn mµu nÒn ph¶ib¾t ®Çu b»ng ký tù #, tiÕp sau ®ã lµ 6 ch÷ c¸i, mçi ch÷ c¸i lµ 1 sèHecxa (tõ 0 tíi F) dïng ®Ó x¸c ®Þnh tæ hîp mµu cho nã.

BACKGROUND="Image" X¸c ®Þnh ¶nh nÒn cho trang web

COLOR="#RRBBGG" X¸c ®Þnh mµu cña v¨n b¶n trong phÇn th©n tµi liÖu , tªn mµu ph¶i b¾t ®Çu b»ng ký tù #, tiÕp sau ®ã lµ 6 ch÷ c¸i, mçi ch÷ c¸i lµ 1 sè Hecxa(tõ 0 tíi F) dïng ®Ó x¸c ®Þnh tæ hîp mµu cho nã.

Topmargin="n" Canh lÒ trªn cho trang web (gi¸ trÞ n ®−îc tÝnh b»ng Pixel)

Leftmargin="n" Canh lÒ tr¸i cho trang web (gi¸ trÞ n ®−îc tÝnh b»ng Pixel)

Page 68: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖu

b. Tag HEADING§©y lµ lo¹i tag chøa dïng ®Ó lµm næi bËt mét tiªu ®Ò

hay mét môc nµo ®ã trong trang web. Cã 6 Heading t−¬ng øng víi 6 møc ®é kh¸c nhau, víi

®é −u tiªn gi¶m dÇn tõ 1 ®Õn 6. Trong HTML ta sö dông tag <Hn> ®Ó thÓ hiÖn

Heading, trong ®ã n lµ mét sè ®i tõ 1-> 6.

Page 69: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖu

b. Tag HEADING

C¸ch sö dông ThÓ hiÖn trªn Browser

<H1>Tiªu ®Ò 1</H1> Tiªu ®Ò 1<H2>Tiªu ®Ò 2</H2> Tiªu ®Ò 2<H3>Tiªu ®Ò 3</H3> Tiªu ®Ò 3

<H4>Tiªu ®Ò 4</H4> Tiªu ®Ò 4

<H5>Tiªu ®Ò 5</H5> Tiªu ®Ò 5

<H6>Tiªu ®Ò 6</H6> Tiªu ®Ò 6

Page 70: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖu

c. Tag FrameMôc ®Ých chÝnh cña Frame lµ nh»m chia cöa sæ

tr×nh duyÖt ra lµm hai hay nhiÒu vïng nhá h¬n, ®Ó khi ®ã cã thÓ t¶i c¸c tµi liÖu HTML kh¸c nhau vµo trong mçi vïng gióp ng−êi sö dông cã thÓ theo dâi nhiÒu trang web ®ång thêi. Mçi vïng nhá gäi lµ 1 Frame, tËp hîp c¸c vïng nµy gäi lµ Frameset.

§Ó t¹o c¸c Frame sö dông cÆp tag <FRAMESET> vµ </FRAMESET>, cÆp tag nµy cã hai thuéc tÝnh c¬ b¶n lµ ROWS vµ COLS dïng ®Ó m« t¶ sè hµng vµ sè cét cÇn chia thµnh Frame.

Page 71: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖu

c. Tag FrameVÝ dô: <FRAMESET COLS="150,*">

<FRAME NAME="menu" SRC="Menu.htm"><FRAME NAME="main" SRC="Main.htm">

</FRAMESET>§o¹n m· trªn chia cöa sæ ra lµm hai cét, cét thø nhÊt réng 150

pixel, cét thø hai lµ kho¶ng trèng cßn l¹i cña cöa sæ. Trong cÆp tag <FRAMESET> cßn chøa c¸c tag <FRAME> dïng

®Ó x¸c ®Þnh c¸c trang web sÏ ®−îc hiÓn thÞ trong mçi Frame khi Frameset ®−îc n¹p lªn lÇn ®Çu tiªn. Mçi Frame cã thuéc tÝnh NAME dïng ®Æt tªn cho Frame ®ã, ®ång thêi lµm ®Ých ®Ó c¸c trang web kh¸c nh¶y ®Õn frame ®ã

Page 72: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTMLc. Tag Frame File Frame.htm cã néi dung:<html><head><title>VÝ dô t¹o frames</title></head><frameset border="false" frameborder="0" rows="80,*">

<frame name="frame1" src="frame1.htm" scrolling="no" noresize><frame name="frame2" src="frame2.htm" scrolling="auto" noresize>

</frameset><noframes>

<body></body>

</noframes></html>

Page 73: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTMLc. Tag FrameFile frame1.htm cã néi dung:

<html><head><title>Frame 1</title></head><body bgcolor="#AADDFF" topmargin=10 ><center><font color="Red" size="3" face=".VnTimeH">Frame 1</font></b><hr>VÝ dô t¹o frame 1</center></body></html>

Page 74: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTMLc. Tag FrameFile frame2.htm cã néi dung:

<html><head><title>Frame 2</title></head><body bgcolor="#AADDFF" topmargin=10 ><center><font color="Red" size="3" face=".VnTimeH">Frame 2</font></b><hr>VÝ dô t¹o frame 2</center></body></html>

Page 75: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTMLc. Tag Frame

KÕt qu¶ hiÓn thÞ nh− sau:

Page 76: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖu

d. Tag Form+ BiÓu mÉu cho phÐp ta tËp hîp c¸c kiÓu d÷ liÖu tõ

trang web vµ göi lªn Server xö lý th«ng qua c¸c tr−êng nhËp liÖu nh− Text box, c¸c nót ®iÒu khiÓn nh− Check box, Radio button, vµ Command button,...TÊt c¶ c¸c tr−êng nµy ®Òu ph¶i n»m gi÷a cÆp tag

<FORM> vµ </FORM>Mét Form d÷ liÖu cã c¸c thuéc tÝnh sau:

Page 77: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖu

d. Tag Form

Thuéc tÝnh Chøc năng

NAME="form_name" Tªn cña Form

ACTION="URL_execute" ChØ ®Þnh tªn cña mét file trªn Server, mµ cho phÐp xölý dữ liÖu tõ Form nµy göi lªn.

METHOD="POST/GET" X¸c ®Þnh ph−¬ng thøc mµ Browser sÏ göi dữ liÖu lªnServer. Gi¸ trÞ POST dïng ®Ó göi dữ liÖu, GET dïng®Ó lÊy dữ liÖu tõ Server.

Page 78: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖu

d. Tag FormTrong 1 Form cã thÓ bao gåm nhiÒu tr−êng d÷ liÖu, mçi

tr−êng d÷ liÖu ®Òu ®−îc m« t¶ b»ng mét tõ kho¸ INPUT vµ cã 3 thuéc tÝnh : TYPE, NAME, vµ VALUE. Thuéc tÝnh Type dïng ®Ó x¸c ®Þnh kiÓu tr−êng d÷ liÖu (nh− text box, check box,...), thuéc tÝnh NAME dïng ®Ó x¸c ®Þnh tªn cña tr−êng, thuéc tÝnh VALUE dïng ®Ó x¸c ®Þnh gi¸trÞ cña tr−êng ®ã.

VÝ dô: <INPUT TYPE="Text" Name="T1� Value="V1">

Page 79: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML2. C¸c Tag trong phÇn th©n tµi liÖu

d. Tag FormText Box <INPUT TYPE="Text" > Cho phÐp nhËp d÷ liÖu chØ trªn

mét hµng

Password box <INPUT TYPE="Password" > Dïng ®Ó nhËp mËt khÈu, khi södông tr−êng nµy th× d÷ liÖunhËp vµo sÏ ®−îc hiÓn thÞ b»ngc¸c dÊu *

Hidden box <INPUT TYPE="Hidden" > Dïng ®Ó x¸c ®Þnh mét sè gi¸ trÞbæ sung cho viÖc xö lý cñach−¬ng tr×nh mµ kh«ng cÇnhiÓn thÞ chóng.

Check box <INPUT TYPE="Checkbox" > Lùa chän nhiÒu gi¸ trÞ mét lóc

Page 80: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTMLd. Tag Form

Radio button <INPUT TYPE="Radio" > Lùa chän mét trong nhiÒu gi¸ trÞ

Text window <TEXTAREA>...</TEXTAREA> Cho phÐp nhËp d÷ liÖu trªn nhiÒu hµng

File <INPUT TYPE="File" > Më cöa sæ liÖt kª c¸c file vµ th− môctrªn m¸y tÝnh ®Ó chän file

Select box <SELECT Name="select_name"><OPTION VALUE="nvalue">ĐÒ môc chän lùa

</OPTION>........

</SELECT>

Cho phÐp chän 1 ®Ò môc thÝch hîp trongdanh s¸ch ®æ xuèng cña c¸c ®Ò môc

Button <INPUT TYPE="Submit/Reset/Button"> Dïng ®Ó thùc hiÖn viÖc göi sè liÖu lªnServer (nÕu Type="Submit"), hoÆctrả vÒ gi¸ trÞ ngÇm ®Þnh cña c¸c tr−êngtrªn form (nÕu Type="Reset")

Page 81: Tai lieu Thiet ke Web toan tap

CHƯƠNG CHƯƠNG 2 :2 : NNGÔN NGGÔN NGỮỮ HTML HTML (HyperText Markup Language)(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTMLd. Tag Form

Page 82: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

I. GIỚI THIỆU Script cã thÓ xem nh− mét c«ng cô nhá nh»m hç trîng−êi lËp tr×nh t¹o ra c¸c øng dông nhanh chãng, ®¬n gi¶n chø kh«ng mang tÝnh chuyªn nghiÖp nh− mét ng«n ng÷ lËp tr×nh thËt sù.VBScript lµ mét trong nh÷ng c«ng cô nh− vËy. Víi c¸c tËp lÖnh cïng víi c¸c ®èi t−îng hç trî s½n trong Internet Explorer vµ Internet Information Server, VBScript cho phÐp ng−êi sö dông viÕt c¸c ch−¬ng tr×nh ch¹y trªn web víi có ph¸p hoµn toµn gièng Visual Basic.JavaScript còng lµ mét lo¹i Script cho phÐp ph¸t triÓn c¸c øng dông trªn Internet ë c¶ phÝa Client vµ Server b»ng c¸ch viÕt c¸c ch−¬ng tr×nh víi có ph¸p hoµn toµn gièng Java.

Page 83: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

II. Ng«n ng÷ JavaScript+ T−¬ng tù nh− VBScript, JavaScript lµ mét ng«n ng÷

script, dïng ®Ó ph¸t triÓn c¸c øng dông Internet ë Client vµ Server.

+ JavaScript cã thÓ viÕt kÌm trong file HTML ®Ó x©y dùng mét trang Web chÆt chÏ, phong phó vÒ néi dung vµh×nh thøc, nh− kiÓm tra tÝnh t−¬ng thÝch vµ th«ng b¸o lçi trong qu¸ tr×nh nhËp liÖu...C¸ch viÕt JavaScript trong mét trang HTML nh− sau:

<Script Language="JavaScript">//C¸c hµm cña JavaScript ®Æt ë ®©y

</Script>

Page 84: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

II. Ng«n ng÷ JavaScript1. Mét sè ®Þnh nghÜa

1.1. C¸c kiÓu d÷ liÖu : Trong JavaScript cã c¸c kiÓu d÷liÖu :

• Interger: Gåm c¸c sè ë d¹ng c¬ sè 10, c¬ sè 16, c¬ sè 8, c¬ sè 2VÝ dô: 42, 0xFFF, -345...

• Sè thùc : VÝ dô: 3.1415, -3.1E12, 2e-12 ... l−u ý E, e ®Òu cã ý nghÜa nh− nhau.

• Boolean: Cã gi¸ true hoÆc false.• Chuçi (String): Mét chuçi lµ mét d·y c¸c ký tù n»m gi÷a hai cÆp

dÊu ("") hoÆc (''). VÝ dô: "blah",'blah',"1234", �dong mot\n dong hai�.

Page 85: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

II. Ng«n ng÷ JavaScript1. Mét sè ®Þnh nghÜa

1.2. BiÕn+ BiÕn lµ mét ®¹i l−îng dïng ®Ó l−u tr÷ d÷ liÖu mµ gi¸ trÞ cña

nã cã thÓ thay ®æi trong qu¸ tr×nh thùc hiÖn ch−¬ng tr×nh. + §Ó biÓu diÔn biÕn ng−êi ta sö dông tªn biÕn, khi khai b¸o

mét biÕn th× tªn biÕn ®−îc cÊp ph¸t mét ®Þa chØ cô thÓ trong bé nhí m¸y tÝnh.

+ Tªn biÕn lµ chuçi gåm c¸c ký tù, ch÷ sè, vµ dÊu g¹ch d−íi (_), tªn biÕn trong ng«n ng÷ JavaScript cã ph©n biÖt ch÷ hoa vµch÷ th−êng.

+ §Ó ®Þnh nghÜa mét biÕn b»ng c¸ch dïng tõ kho¸ varVÝ dô: var x=12

Trong JavaScript cã thÓ dïng biÕn mµ kh«ng cÇn khai b¸o.

Page 86: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

II. Ng«n ng÷ JavaScript1. Mét sè ®Þnh nghÜa

1.3. C¸c phÐp to¸n+ Các phép toán số học + C¸c phÐp to¸n so s¸nh + C¸c phÐp to¸n thao t¸c trªn bit+ C¸c phÐp to¸n logical

2 CÊu tróc c¸c lÖnh ®iÒu khiÓn trong JavaScript

+ Lệnh if... Else

+ Lệnh for

+ Lệnh while……

Page 87: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

III. Xö lý c¸c sù kiÖn trªn trang Web1. Sù kiÖn vµ ®èi t−îng

+ §Þnh nghÜa sù kiÖn: sù kiÖn lµ mét hµnh ®éng x¶y ra khi ng−êi sö dông lµm mét viÖc g× ®ã trªn trang web.

VÝ dô : KÝch (Click) mét nót, thay ®æi (Change) d÷ liÖu trong tr−êng Textbox, di chuyÓn con trá chuét (Mouse) trªn mét siªu liªn kÕt (Hyperlink),... + Vµ nh− vËy b¹n ph¶i tiÕn hµnh viÕt c¸c lÖnh ®Ó khi c¸c sù kiÖn nµy x¶y ra th× ®Þnh h−íng ng−êi sö dông ®¸p øng ®óng nhu cÇu cña øng dông, nh− th«ng b¸o nhËp sai d÷liÖu, d÷ liÖu ch−a ®Çy ®ñ,....

Page 88: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

III. Xö lý c¸c sù kiÖn trªn trang Web1. Sù kiÖn vµ ®èi t−îng

ViÖc viÕt c¸c lÖnh ®Ó ®¸p øng c¸c sù kiÖn nµy gäi lµ ®iÒu khiÓn sù kiÖn. Trong JavaScript th× c¸ch södông c¸c ®iÒu khiÓn nh− sau: tr−íc tiªn lµ tõ "on" vµ theo sau lµ tªn sù kiÖn. VÝ dô, khi kÝch mét nót th× sù kiÖn Click x¶y ra, ®Ó ®¸p øng sù kiÖn nµy b¹n dïng ®iÒu khiÓn onClick.

B¶ng d−íi ®©y liÖt kª c¸c sù kiÖn vµ c¸c ®iÒu khiÓn sù kiÖn t−¬ng øng cho tÊt c¶ c¸c sù kiÖn trªn web nh− sau.

Page 89: Tai lieu Thiet ke Web toan tap

Sù kiÖn §iÒu khiÓn X¶y ra khi ¸p dông cho

blur onBlur Ng−êi sö dông di chuyÓn focus rêi khái phÇntö trªn form

Textbox, Textarea, Select list

click onClick Ng−êi sö dông kÝch vµo mét phÇn tö trªnform hoÆc kÝch vµo 1 liªn kÕt

Button, Radio button, Check button, Submit button, Reset button, Link

change onChange Ng−êi sö dông thay ®æi gi¸ trÞ cña phÇn tö Textbox, Textarea, Select list

focus onFocus Ng−êi sö dông di chuyÓn focus ®Õn phÇn tötrªn form

Textbox, Textarea, Select list

select onSelect Ng−êi sö dông chän d÷ liÖu trong c¸c phÇntö

Textbox, Textarea

load onLoad N¹p trang web vµo tr×nh duyÖt Document

unload onUnload Tho¸t khái mét trang web Document

mouseover onMouseOver Ng−êi sö dông di chuyÓn con trá chuét trªnmét liªn kÕt

Link

submit onSubmit Ng−êi sö dông cho thi hµnh øng dông Submit button

Page 90: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

III. Xö lý c¸c sù kiÖn trªn trang WebVÝ dô: d−íi ®©y lµ mét trang HTML hoµn chØnh khi kÝch vµo

nót "Click here" sÏ xuÊt hiÖn c©u th«ng b¸o "Hello..."

<Script language="JavaScript">function thongbao(){

alert("Hello...")}

</Script>

Page 91: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

III. Xö lý c¸c sù kiÖn trªn trang WebVÝ dô: d−íi ®©y lµ mét trang HTML hoµn chØnh khi kÝch vµo

nót "Click here" sÏ xuÊt hiÖn c©u th«ng b¸o "Hello..."<BODY>

<Form name="form1"><input type="button" value="Click here"

onClick="thongbao()"></Form>

</BODY>

Page 92: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

III. Xö lý c¸c sù kiÖn trªn trang Web1. Sù kiÖn vµ ®èi t−îng§Ó ®¸p øng ®óng sù kiÖn cho c¸c ®èi t−îng cÇn ®iÒu khiÓn, b¹n cã thÓ h×nh dung ra c¸c ®èi t−îng trªn mét trang web nh− sau:§èi t−îng lín nhÊt cña tr×nh duyÖt lµ windowTrong window chøa c¸c tµi liÖu HTML (mçi tµi liÖu lµmét ®èi t−îng document)Trong document cã thÓ chøa nhiÒu Form (cã ®èi t−îng lµform), vµ c¸c liªn kÕt (cã ®èi t−îng lµ links)Trong Form cã thÓ chøa nhiÒu phÇn tö (cã ®èi t−îng lµelements)

Page 93: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

III. Xö lý c¸c sù kiÖn trªn trang Web1. Sù kiÖn vµ ®èi t−îng

window

document

form

elements

links

Page 94: Tai lieu Thiet ke Web toan tap

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

III. Xö lý c¸c sù kiÖn trªn trang Web2. C¸c ph−¬ng thøc vµ thuéc tÝnh cña c¸c ®èi t−îng§Ó tham chiÕu ®Õn c¸c thuéc tÝnh (hay c¸c ph−¬ng thøc) cña mét ®èi t−îng nµo ®ã b¹n cÇn ®Æc t¶ tªn cña ®èi t−îng ®ã cïng víi c¸c ®èi t−îng cÊp cao h¬n nã.

VÝ dô: ®Ó g¸n gi¸ trÞ x©u chuçi "Hello" cho 1 tr−êng textbox (cã tªn lµ txtbox) trong mét form (cã tªn lµ form1) b¹n södông lÖnh sau:

document.form1.txtbox.value="Hello"Trong ®ã value lµ thuéc tÝnh cña ®èi t−îng txtbox, c¸c thµnh phÇn document, form1 lµ c¸c ®èi t−îng «ng cha cña nã.

Page 95: Tai lieu Thiet ke Web toan tap

III. Xö lý c¸c sù kiÖn trªn trang Web2. C¸c ph−¬ng thøc vµ thuéc tÝnh cña c¸c ®èi t−îng

2.1 §èi t−îng window

* C¸c ph−¬ng thøc:Ph−¬ng thøc Môc ®Ých

alert("message") Đ−a ra hép tho¹i th«ng b¸o víi néi dung lµ message

confirm("message") Đ−a ra hép tho¹i yªu cÇu ng−êi sö dông x¸c nhËn l¹i c«ngviÖc cÇn hµnh ®éng (chän OK hay Cancel). Ph−¬ng thøc nµytr¶ vÒ gi¸ trÞ true (khi chän OK) hoÆc false (khi chänCancel)

prompt("message",variable) Đ−a ra hép tho¹i cho phÐp ng−êi sö dông nhËp d÷ liÖu ®Çuvµo, d÷ liÖu sau khi nhËp ®−îc g¸n cho biÕn variable. message lµ dßng th«ng b¸o.

close() Đãng cöa sæ tr×nh duyÖt

open("URL","name") Më trang web cã ®Þa chØ lµ URL trong cöa sæ cã tªn lµ name

Page 96: Tai lieu Thiet ke Web toan tap

III. Xö lý c¸c sù kiÖn trªn trang Web2. C¸c ph−¬ng thøc vµ thuéc tÝnh cña c¸c ®èi t−îng

2.1 §èi t−îng window

* C¸c thuéc tÝnh:

§Ó khi n¹p trang web lªn mµ thanh trang th¸i cã dßng th«ng b¸o "Chµo c¸c b¹n..." th× b¹n dïng tag <BODY> nh− sau:

<BODY onLoad="window.status='Chµo c¸c b¹n...'">

* C¸c ®iÒu khiÓn sù kiÖn:

§èi t−îng window cã hai ®iÒu khiÓn sù kiÖn lµ onLoad vµ onUnload

Thuéc tÝnh Môc ®Ých

status ChØ ®Þnh th«ng tin n»m trªn thanh tr¹ng th¸i ëcuèi cöa sæ

Page 97: Tai lieu Thiet ke Web toan tap

III. Xö lý c¸c sù kiÖn trªn trang Web2. C¸c ph−¬ng thøc vµ thuéc tÝnh cña c¸c ®èi t−îng

2.2. §èi t−îng document2.3. §èi t−îng form2.4. §èi t−îng links2.5. §èi t−îng text, textarea, vµ password2.6. §èi t−îng select (gièng nh− listbox)2.7. §èi t−îng button, submit, reset2.8. §èi t−îng checkbox, radio

ChCh−¬−¬ng 3: Ngng 3: Ng««n ngn ng÷÷ VBScript vVBScript vµµJavaScriptJavaScript

Page 98: Tai lieu Thiet ke Web toan tap

I. CÁCH THỨC TẠO WEBSITE1. Các lưu ý đối với các nhà thiết kế Web:

+ Những địa chỉ website nào tốt nhất bạn đã từng thiết kế?+ Những site với chi phí đắt nhất và rẻ nhất mà bạn đã tạo

ra là gì?+ Bạn mất thời gian bao lâu để tạo ra một website?+ Bạn thực hiện việc đồ hoạ trong các website như thế nào?+ Bạn sẽ giúp chúng tôi quảng bá website của chúng tôi như

thế nào?+ Ðăng ký với các nhà cung cấp dịch vụ tìm kiếm như thế

nào?

CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 99: Tai lieu Thiet ke Web toan tap

I. CÁCH THỨC TẠO WEBSITE2. Cách thức tạo ra một Website:+ Ðể tạo ra một Website có chất lượng đòi hỏi bạnphải có một kỹ năng thành thực và một sự nghiên cứukỹ về Web. Bạn phải biết mình sẽ làm gì và khôngnên làm gì để đưa tất cả các ý tưởng đó vào việc xâydựng một Website.+ Ðể tạo ra một Website bạn cần phải theo làm theonhững bước sau đây:

- Bước 1: Ðây là giai đoạn định hướng. Bạn cầnphải đề cập đến những vấn đề sau đây:

CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 100: Tai lieu Thiet ke Web toan tap

I. CÁCH THỨC TẠO WEBSITE2. Cách thức tạo ra một Website:Những ý tưởng tổng quan của bạn.Mục đích của bạn cần đạt tới đối với website .Ðối tượng mà bạn cần nhắm tới là ai.Bạn đã có những thông tin gì trong tay và bạn sửdụng chúng như thế nào.Bạn sẽ tổ chức thông tin như thế nào để bảo đảm sựtruyền đạt thông tin là được sáng tỏ.

CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 101: Tai lieu Thiet ke Web toan tap

I. CÁCH THỨC TẠO WEBSITE2. Cách thức tạo ra một Website:

- Bước 2 : Tiến hành tổ chức các phần mục và các thông tin màbạn có trên site của bạn. Tạo ra các nhánh, các tiêu đề và các tiêu để phụ đểbạn có thể tìm kiếm thông tin hữu ích một cách dễdàng để không lãng phí thời gian đối với các thôngtin mà bạn không quan tâm.Lựa chọn các từ khoá thích hợp để thuận tiện choviệc tìm kiếm và sử dụng các dịch vụ tìm kiếm.

CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 102: Tai lieu Thiet ke Web toan tap

I. CÁCH THỨC TẠO WEBSITE2. Cách thức tạo ra một Website:

- Bước 3 :Lựa chọn các hình ảnh đưa lên site của bạn từ thưviện điện tử hoặc từ trên đĩa CDROM. Ðó có thể lànhững hình ảnh về sản phẩm, văn phòng làm việccủa bạn, các chuyên gia chính của công ty.Chuyển đổi các hình ảnh đến vị trí thích hợp và cósự chỉnh sửa về màu sắc và kích cỡ cho phù hợp.

CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 103: Tai lieu Thiet ke Web toan tap

I. CÁCH THỨC TẠO WEBSITE2. Cách thức tạo ra một Website:

- Bước 4 : + Khi bạn đã có bộ khung của mình thì bạn bắt đầu chuẩn

bị tạo ra website bằng việc sử dụng ngôn ngữ siêu văn bản(HTML). Tiến hành chuyển đổi các văn bản text của mình tớiHTML mà bạn có thể làm bằng Word, Netscape, Homesite vàmột vài các gói thông tin được lựa chọn khác. + Bạn có thể lựa chọn khi bạn thiết kế website của bạn hoặclà bạn tham gia vào các khoá đào tạo về thiết kế+ Hoặc bạn có thể thuê các chuyên gia bên ngoài về thiết kếweb để giúp cho bạn.

CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 104: Tai lieu Thiet ke Web toan tap

I. CÁCH THỨC TẠO WEBSITE2. Cách thức tạo ra một Website:Bước 5:Lựa chọn nhà cung cấp dịch vụ Internet Thiết lập tên miền của bạn.Ðăng ký tên website của bạn với các nhà tìm kiếm.Quảng cáo và khuếch trương website của bạn đối với cáckhách hàng mục tiêu bằng cách gửi thư, truyền thanh, truyềnhình, biển hiệu quảng cáo....Một điều rất quan trọng là các thông tin của bạn phải đượccập nhật hàng ngày.

CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 105: Tai lieu Thiet ke Web toan tap

I. CÁCH THỨC TẠO WEBSITE2. Cách thức tạo ra một Website:Bước 6:Thông qua các công cụ tìm kiếm tiện ích đảm bảorằng Website của bạn phải thật nổi bật :

+ Lycos, Alta Vista, Google...Ðây là việc tốn rất nhiều thời gian.

CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 106: Tai lieu Thiet ke Web toan tap

Khi mKhi mộột Website Thương mt Website Thương mạại đii điệện tn tửử ra đ ra đờời, vi, vấấn đn đềề ccầần thin thiếết lt làà phphảải ci cạạnh tranh nh tranh đưđượợc vc vớới mi mộột st sốố Website lWebsite lớớn đang chin đang chiếếm gim giữữ ththịị trư trườờng.ng. Đ Đứứng trên khng trên khíía ca cạạnh qunh quảản lý mn lý mộột t trang web(bên ctrang web(bên cạạnh vinh việệc quc quảản lý Công ty thn lý Công ty thựực hic hiệện Thương mn Thương mạại đii điệện tn tửử), ph), phảải ti tììm cm cáách đch đểể Website hưWebsite hướớng sng sựự chchúú ý cý củủa kha kháách hch hààng đng đếến Công ty.n Công ty.

Yêu cYêu cầầu cu cầần đn đặặt ra khi lt ra khi lààm website vm website vàà ứứng dng dụụng thng thựực tc tếế ::

1 . Giao di1 . Giao diệện thân thin thân thiệện, dn, dễễ ssửử ddụụng.ng.2 . H2 . Hỗỗ trtrợợ đa ngôn ng đa ngôn ngữữ(khuy(khuyếến cn cááo). o). 3 . Tr3 . Trợợ gigiúúp ngp ngắắn gn gọọn, dn, dễễ hihiểểu.u.4 . Thông tin ch4 . Thông tin chíính xnh xáác. c. 5 . Công c5 . Công cụụ ttììm kim kiếếm nhanh, him nhanh, hiệệu quu quảả vvàà ddễễ ssửử ddụụng. ng. 6 . Ch6 . Chứức năng đc năng đầầy đy đủủ7 . H7 . Hỗỗ trtrợợ ccáác mc mụục tin tc tin tứức cc cầần thin thiếết.t.8 . C8 . Cóó nhnhữững phng phầần download min download miễễn phn phíí đ đểể gây gây ấấn tưn tượợng cho khng cho kháách hch hààng. ng. 9 . Domain ng9 . Domain ngắắn gn gọọn, dn, dễễ nhnhớớ10. Website truy c10. Website truy cậập nhanhp nhanh……

II. II. MMôiôi trưtrườờngng ccạạnhnh tranhtranh vvớớii website: website: CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 107: Tai lieu Thiet ke Web toan tap

III. III. TTựự đđộộngng hohoáá website, website, chchììaa khokhoáá ccủủaa ththàànhnh côngcông+ + CCóó nhiêunhiêu doanhdoanh nghiêpnghiêp đãđã ththàànhnh côngcông khikhi khaikhai ththáácc môtmôt Website. Website. HãyHãy

kiêmkiêm tratra ccáácc ttììnhnh huônghuông sausau ::-- Số lượng khách hàng quá nhiều làm bạn không thể quản

lý nổi bạn đang theo dõi khách hàng nào và đã gửi cho họnhững thông tin gì?- Bạn phải tuyển thêm nhiều nhân viên mới để trả lời các

câu hỏi của khách hàng nhưng đội ngũ nhân viên mới chưa tiếp thu đượccông việc kinh doanh và trả lời không thống nhất.

- Đơn đặt hàng chất đống với những thông số ngắn ngủi, cơsở dữ liệu khách hàng cập nhật không chính xác và bạn phải rất căngthẳng với những mã số đặt hàng vô tri vô giác...

- Khách hàng đến với bạn từ nhiều nguồn khác nhau và bạnkhông thể kiểm soát được phương pháp quảng cáo nào có hiệu quả nhất?

- Khách hàng của bạn trở nên khó tính, họ không thể đợibạn trả lời email hay chuyển tiền qua tải khoản, họcần mua ngay lập tức?.

CHƯƠNG CHƯƠNG 4 : TRI4 : TRIỂỂN KHAI WEBSITEN KHAI WEBSITE

Page 108: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages I. Tæng quan vÒ ASP

1. Giíi thiÖuASP lµ c«ng cô hç trî cho viÖc t¹o ra c¸c trang web

hïng m¹nh (c¸c trang nµy th−êng ®−îc gäi lµ c¸c trang ASP, vµ cã phÇn më réng lµ *.asp).

Trang ASP cã thÓ xem lµ mét trang HTML mëréng, v× ngoµi tÝnh n¨ng ®Çy ®ñ cña mét tµi liÖu HTML, trong nã cßn cã thÓ tÝch hîp c¸c c©u lÖnh cña VBScript (hoÆc JavaScript) ®Ó truy cËp tµi nguyªn hÖthèng, xö lý tÝnh to¸n sè liÖu, sö dông c¸c c©u lÖnh cña ng«n ng÷ SQL kÕt hîp víi c¸c ®èi t−îng ®−îc cung cÊp s½n trong ASP ®Ó truy cËp c¬ së d÷ liÖu nh− Foxpro, Access, SQL Server, Oracle,...

Page 109: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages I. Tæng quan VÒ ASP

2. ASP lµm viÖc nh− thÕ nµo ?Trang Web tÜnh :

Page 110: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages I. Tæng quan VÒ ASP

2. ASP lµm viÖc nh− thÕ nµo ?

Trang web động (Dynamic):

Page 111: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages I. Tæng quan VÒ ASP

2. ASP lµm viÖc nh− thÕ nµo ?

Page 112: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages I. Tæng quan VÒ ASP

3. C¸ch x©y dùng mét trang ASPC¸c file ASP cã phÇn më réng lµ .ASP

Khi chÌn thªm c¸c lÖnh nµy b¹n cÇn chó ý:+ C¸c lÖnh chÌn thªm vµo ph¶i n»m gi÷a kho¸ <% … %> + C¸c lÖnh thªm vµo cã thÓ ®Æt bÊt kú t¹i vÞ trÝ nµo trong file HTML+ C¸c c©u ghi chó trong ASP (kh«ng kÓ c¸c ghi chócña HTML) ®Òu ®−îc b¾t ®Çu b»ng dÊu nh¸y (')+ C¸c lÖnh kh«ng ph©n biÖt ch÷ hoa, ch÷ th−êng.

Page 113: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages I. Tæng quan VÒ ASP

3. C¸ch x©y dùng mét trang ASPVÝ dô : Mét file asp ®¬n gi¶n lµ céng hai sè vµ tr¶kÕt qu¶ vÒ cho tr×nh duyÖt.<%'b¾t ®Çu cho phÐp viÕt c¸c lÖnh ASPDim a,b,c 'khai b¸o 3 biÕn a,b,ca=10 'g¸n 10 cho biÕn ab=20 'g¸n 20 cho biÕn bc=a+b 'tÝnh tæng c=a+b'kÕt thóc viÕt lÖnh cho ASP %>

Page 114: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages I. Tæng quan VÒ ASP

3. C¸ch x©y dùng mét trang ASP<!--b¾t ®Çu phÇn tµi liÖu HTML--><HTML>

<HEAD><Title>VÝ dô vÒ ASP</Title>

<HEAD><BODY>

<!-- in kÕt qu¶ ra trang web-->Tæng cña a vµ b lµ <%=c%>

</BODY></HTML>

Page 115: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages I. Tæng quan VÒ ASP

3. C¸ch x©y dùng mét trang ASPVíi vÝ dô trên ta chó ý ®Õn lÖnh <%=c%>, lÖnh nµy cho phÐp viÕt kÕt qu¶ sau khi tÝnh to¸n ra trang web Nh− vËy ®Ó viÕt mét kÕt qu¶ ra trang web b¹n thùc hiÖn theo có ph¸p:

<%=bieu_thuc%> Trong ®ã bieu_thuc cã thÓ lµ mét biÕn, mét

biÓu thøc, hay mét hµm cÇn in kÕt qu¶.

Page 116: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

1. Khai b¸o biÕn+ Kh«ng b¾t buéc nh−ng nªn khai b¸o ®Ó kiÓm so¸t vµ b¾t lçi.

+ Nªn sö dông <% Option Explicit %> ë ngay ®Çu mçi tÖp ASP.+ Có ph¸p : Dim biÕn 1, biÕn 2…+ §Ó khai b¸o m¶ng:

Dim a(10) : chØ sè ch¹y tõ 0->10+ Khi khai b¸o nªn sö dông c¸c tiÒn tè:

Page 117: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

1. Khai b¸o biÕn.D¹ng dữ liÖu TiÒn tè (prefix)

Boolean Bln

Byte Byt

Double Dbl

Integer Int

Long Lng

Object Obj

String Str

ADO command Cmd

ADO connection Cnn

…………………..

Page 118: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

2. Khai b¸o h»ng sèCONST tªn h»ng= gi¸ trÞ

3. C¸c cÊu tróc ®iÒu khiÓna. CÊu tróc IF..THEN..ELSE..IF

Có ph¸p:<% If <§iÒu kiÖn 1> then

<C¸c c©u lÖnh>Else

If <§iÒu kiÖn 2> then<C¸c c©u lÖnh>

End ifEnd if

%>

Page 119: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

3. C¸c cÊu tróc ®iÒu khiÓnNgoµi ra cã thÓ sö dông : IF.. THEN. . . . ELSEIF. . . END IF

<%If <§iÒu kiÖn 1> then

<C¸c c©u lÖnh 1>ElseIf <§iÒu kiÖn 2> then

<C¸c c©u lÖnh 2>Else

<C¸c c©u lÖnh 3>End if

%>

Page 120: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

3. C¸c cÊu tróc ®iÒu khiÓnb. CÊu tróc Select case…end select

Có ph¸p: <% Select Case <tenbien>Case <gia tri 1>

<Nhãm lÖnh 1>Case <gia tri 2>

<Nhãm lÖnh 2>Case <gia tri n>

<Nhãm lÖnh n>Case Else

<Nhãm lÖnh n+1>End Select

%>

Page 121: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

3. C¸c cÊu tróc ®iÒu khiÓnc. CÊu tróc lÆp tuÇn tù For…Next.Dïng ®Ó lÆp víi sè lÇn ®· biÕt, tuy nhiªn ta cã thÓ ng¾t

b»ng lÖnh EXIT FOR.Có ph¸p:

<% FOR <tenbien>=<giatridau> TO <Giatribien> STEP <Buoc nhay>

NEXT%>

Page 122: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

3. C¸c cÊu tróc ®iÒu khiÓnd. C¸c CÊu tróc lÆp kh¸c

* DO WHILE….LOOP :Có ph¸p:

<%Do while <§iÒukiÖn>

<C¸c c©u lÖnh>Loop

%>

Page 123: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

3. C¸c cÊu tróc ®iÒu khiÓnd. C¸c CÊu tróc lÆp kh¸c

* WHILE….wendCó ph¸p:

<%While <§iÒukiÖn>

<C¸c c©u lÖnh>Wend

%>

Page 124: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

3. C¸c cÊu tróc ®iÒu khiÓnd. C¸c CÊu tróc lÆp kh¸c

* DO….Loop untilCó ph¸p:

<%DO

<C¸c c©u lÖnh>Loop until <§iÒu kiÖn>

%>

Page 125: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

4. Mét sè hµm h÷u dông trong ASP

a. C¸c Hµm xö lý v¨n b¶nTRIM(x©u as string): Bá kho¶ng tr¾ng hai ®Çu kÝ tù

LEFT(X©u as string, n as interger): LÊy bªn tr¸i x©u n kÝ tù.

RIGHT(X©u as string, n as interger): LÊy bªn ph¶i x©u n kÝ tù.

LCASE(X©u as string) : ChuyÓn x©u vÒ ch÷ th−êng

UCASE(X©u as string) : ChuyÓn x©u vÒ ch÷ hoa

MID(x©u as string, n1, n2): LÊy n2 kÝ tù trong x©u b¾t ®Çu tõ vÞ trÝ n1.

CSTR(BiÕn): Hµm chuyÓn ®æi biÕn thµnh kiÓu string

Page 126: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

4. Mét sè hµm h÷u dông trong ASP

a. C¸c Hµm xö lý v¨n b¶nHµm JOIN/SPLIT(X©u as string, kÝ tù ng¨n c¸ch): SÏ Nèi/C¾t x©u thµnh

mét/nhiÒu ®o¹n b»ng c¸ch x¸c ®Þnh kÝ tù ng¨n c¸ch ë trªn vµ cho c¸c ®o¹n ®ã lÇn l−ît vµo mét m¶ng.

VÝ du:

<%

x=”Hµ néi;H¶i phßng; TPHCM”

y=split(x,”;”)

Response.write y(0)

‘y(0)=”Hµ néi”

%>

Page 127: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages II. LËp tr×nh víi ASP

4. Mét sè hµm h÷u dông trong ASP

b. C¸c hµm xö lý sè– SQR(n): C¨n bËc hai cña n

– INT(n) : LÊy phÇn nguyªn n

– MOD : PhÐp chia d−

– To¸n tö \ : Chia nguyªn

– Round(sè, n) : Lµm trßn sè víi n ch÷ sè thËp ph©n

– RND(): Tr¶ vÒ sè ngÉu nhiªn bÊt k× trong kho¶ng [0,1]

c. C¸c hµm vÒ ngµy th¸ng, thêi gian.

Page 128: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

Trong ASP ®· cung cÊp s½n 5 thµnh phÇn (Component) cho phÐp t¹o c¸c trang web ®éng mét c¸ch nhanh chãng.

+ Database Access: ®©y lµ thµnh phÇn cho phÐp truy cËp c¸c lo¹i C¬ së d÷ liÖu

+ Ad Rotator: cho phÐp hiÓn thÞ c¸c h×nh ¶nh qu¶ng c¸o mét c¸ch tù ®éng theo thêi gian quy ®Þnh.

+ Browser Capabilities: x¸c ®Þnh c¸c kh¶ n¨ng, ®Æc ®iÓm vµ phiªn b¶n (version) cña c¸c tr×nh duyÖt khi truy cËp Website.

+ Content Linking: t¹o ra c¸c b¶ng chØ môc néi dung (gièng nh− môc lôc) cña c¸c trang web.

+ File Access: cung cÊp c¸c chøc n¨ng truy cËp tíi hÖthèng file vµ th− môc trªn Server.

Page 129: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

1. Qu¸ tr×nh truy cËp C¬ së d÷ liÖuDataBase Access sö dông mét ®èi t−îng gäi lµ ADO

(ActiveX Data Object) vµ kÕt hîp kh¶ n¨ng cña ODBC (®−îc gi¶i thÝch ë phÇn sau trong ch−¬ng nµy) ®Ó lÊy th«ng tin trong mét C¬ së d÷ liÖu. ViÖc truy cËp C¬ së d÷ liÖu cã thÓtiÕn hµnh qua c¸c b−íc sau:

+ §¨ng ký mét tªn ®¹i diÖn cho nguån d÷ liÖu cÇn truy cËp víi ODBC (sÏ gi¶i thÝch ë phÇn sau)

+ T¹o mét nèi kÕt tíi nguån d÷ liÖu cÇn truy cËp+ Më C¬ së d÷ liÖu ®Ó truy cËp+ Sö dông ng«n ng÷ SQL ®Ó truy vÊn d÷ liÖu+ Xö lý d÷ liÖu+ §ãng nèi kÕt.

Page 130: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

1. Qu¸ tr×nh truy cËp C¬ së d÷ liÖuMét lo¹t c¸c tiÕn tr×nh trªn cã thÓ m« t¶ qua vÝ dô sau:

VÝ dô nµy sö dông file Vidu.asp ®Ó truy cËp C¬ së d÷liÖu Access (víi file cã tªn VIDU.MDB)

Gi¶ sö r»ng trong file nµy cã 1 b¶ng (Table) víi tªn lµKHACHHANG gåm c¸c tr−êng STT, Hoten, Diachi (c¸c tr−êng nµy trong Access ®−îc ®¸nh sè tõ 0 tíi 2).

Sau khi ®¨ng ký file VIDU.MDB trong ODBC víi tªn VIDU (tªn nµy lµ bÊt kú, kh«ng cÇn trïng víi tªn file .MDB, vµ viÖc ®¨ng ký chØ cÇn tiÕn hµnh mét lÇn, c¸c lÇn sau chØ viÖc truy cËp d÷ liÖu mµ kh«ng cÇn ®¨ng ký n÷a)

Trong file Vidu.asp ta viÕt c¸c lÖnh sau:

Page 131: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

1. Qu¸ tr×nh truy cËp C¬ së d÷ liÖu<%

'T¹o ra mét ®èi t−îng conn cho phÐp nèi tíi nguån d÷ liÖuset conn=Server.CreateObject("ADODB.Connection")

'Sö dông ph−¬ng thøc OPEN cña ®èi t−îng CONN ®Ó më CSDL cÇn truy cËpconn.open "VIDU"

'BiÕn sql chøa c©u lÖnh lÊy tÊt c¶ d÷ liÖu tõ b¶ng KHACHHANGsql="SELECT * FROM KHACHHANG"

'Sö dông ph−¬ng thøc Execute cña ®èi t−îng Conn ®Ó thùc hiÖn c©u lÖnh trong biÕn sql

'kÕt qu¶ sau khi truy vÊn ®−îc tr¶ vÒ trong ®èi t−îng RSSet RS = Conn.Execute(sql)%>

Page 132: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages <HTML><Body><%

'Sö dông vßng lÆp ®Ó kiÓm tra RS cã cßn chøa d÷ liÖu hay kh«ngDo While NOT RS.EOF %>

STT: <%=RS(0)%>, Hä tªn: <%=RS(1)%>, §Þa chØ: <%=RS(2)%> <% RS.MoveNext 'di chuyÓn ®Õn Record tiÕp theo

Loop 'quay l¹i vßng lÆpConn.CLOSE '®ãng nèi kÕt

%></BODY></HTML>

Page 133: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

2. C¸c ®èi t−îng xö lý d÷ liÖu§èi t−îng ADO cho phÐp t¹o ra c¸c ®èi t−îng con kh¸c :

Page 134: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

2. C¸c ®èi t−îng xö lý d÷ liÖu+ §èi t−îng Connection : m« t¶ sù nèi kÕt tíi nguån

d÷ liÖu. §èi t−îng nµy cho phÐp t¹o ra 3 ®èi t−îng con lµErrors, Command, vµ RecordSet

+ §èi t−îng Errors : chøa chi tiÕt c¸c lçi vÒ truy cËp d÷ liÖu

+ §èi t−îng Command : ®Þnh nghÜa c¸c lÖnh ®Ó truy cËp d÷ liÖu

+ §èi t−îng RecordSet : chøa tÊt c¶ c¸c record d÷liÖu ®−îc lÊy vÒ tõ c¸c b¶ng (table) trong C¬ së d÷ liÖu, ®èi t−îng nµy cho phÐp t¹o ra mét Collection lµ Fields

+ Collection Fields : dïng ®Ó chøa tÊt c¶ c¸c tr−êng n»m trong mét Recordset

Page 135: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

2. C¸c ®èi t−îng xö lý d÷ liÖu2.1. C¸c ph−¬ng thøc, thuéc tÝnh cña ®èi t−îng

ConnectionC¸c Thuéc tÝnh:

- ConnectionTimeout: X¸c ®Þnh kho¶n thêi gian cho phÐp nèi kÕt tíi nguån d÷ liÖu

- CommandTimeout: X¸c ®Þnh kho¶n thêi gian cho phÐp truy vÊn d÷ liÖu

Page 136: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

2.1. C¸c ph−¬ng thøc, thuéc tÝnh cña ®èi t−îng ConnectionC¸c Ph−¬ng thøc:

Connection: më mét nèi kÕt tíi nguån d÷ liÖuCó ph¸p: connection.Open ConnectionStringTrong ®ã ConnectionString lµ mét chuçi cung cÊp th«ng tin cho viÖc nèi kÕt

Execute: thùc hiÖn mét c©u lÖnh ®−îc ®Æc t¶Có ph¸p: Set recordset = connection.Execute(Command)Trong ®ã: Command lµ c©u lÖnh cÇn thùc hiÖn

Recordset: lµ ®èi t−îng RecordsetConnection: lµ ®èi t−îng Connection

Close: ®ãng mét ®èi t−îng ®ang më vµ c¸c ®èi t−îng kh¸c liªn quanCó ph¸p: object.Close

Page 137: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

2. C¸c ®èi t−îng xö lý d÷ liÖu2.2. C¸c Ph−¬ng thøc, thuéc tÝnh cña Recordset

C¸c Thuéc tÝnh:

+ BOF : thuéc tÝnh nµy tr¶ vÒ gi¸ trÞ TRUE nÕu vÞ trÝ cña Record hiÖn hµnh tr−íc record ®Çu tiªn trong ®èi t−îng Recordset, ng−îc l¹i tr¶ vÒ gi¸ trÞ FALSE

+ EOF : tr¶ vÒ gi¸ trÞ True nÕu vÞ trÝ cña Record hiÖn hµnh n»m sau record cuèi cïng, ng−îc l¹i tr¶ vÒ gi¸ trÞ False

Page 138: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

2.2. C¸c Ph−¬ng thøc, thuéc tÝnh cña RecordsetC¸c Ph−¬ng thøc:

Close: ®ãng ®èi t−îng ®ang më vµ c¸c ®èi t−îng kh¸c liªn quanCó ph¸p: object.Close

MoveFirst: Di chuyÓn tíi record ®Çu tiªn trong 1 RecordsetCó ph¸p: recordset.MoveFirst

MoveLast: Di chuyÓn tíi record cuèi cïng trong 1 RecordsetCó ph¸p: recordset.MoveLast

MoveNext: Di chuyÓn tíi record tiÕp theo trong 1 RecordsetCó ph¸p: recordset.MoveNext

MovePrevious: Di chuyÓn tíi record tr−íc Record hiÖn hµnh trong 1 Recordset

Có ph¸p: recordset.MovePrevious

Page 139: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASPASP cung cÊp s½n 5 ®èi t−îng cho phÐp b¹n xö lý th«ng tin trao ®æi gi÷a Client vµ Server.

Đèi t−îng Chøc năng

Request LÊy th«ng tin tõ Client göi lªn Server

Response Göi th«ng tin tõ Server ®Õn Client

Server Cung cÊp c¸ch thøc truy cËp tíi c¸c ph−¬ng thøc vµ c¸cthuéc tÝnh mµ ®−îc cung cÊp s½n nh− c¸c øng dông trªnServer

Session L−u trữ th«ng tin vÒ tõng phiªn lµm viÖc cña tõng Client

Application Chia xÎ th«ng tin cña mét øng dông cho tÊt cả c¸c Client

Page 140: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.1. §èi t−îng RequestCó ph¸p chung: Request[.Collection](variable)

Trong ®ã Collection cã thÓ lµ mét trong sè c¸c gi¸ trÞ sau:Form: dïng ®Ó lÊy tÊt c¶ gi¸ trÞ cña c¸c tr−êng trong Form HTML, khi Form ®ã sö dông method=“post”

Có ph¸p dïng cho Form:Request.Form(parameter)[(index)]

+ parameter : tªn cña mét tr−êng cÇn nhËn gi¸ trÞ+ Index lµ gi¸ trÞ tuú chän nã cho phÐp b¹n truy cËp ®Õn

nh÷ng gi¸ trÞ kh¸c nhau cña parameter.

Page 141: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.1. §èi t−îng Request

QueryString: dïng ®Ó lÊy tÊt c¶ gi¸ trÞ cña c¸c biÕn n»m sau dÊu hái (?) trong mét URL (gäi lµ Query String), hoÆc khi mét form dïng Method="GET"

Request.QueryString(variable)[(index)] + variable lµ tªn cña biÕn trong chuçi query string cÇn

nhËn+ Index lµ tham sè tuú chän cho phÐp nhËn mét hoÆc

nhiÒu gi¸ trÞ cña biÕn

Page 142: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.1. §èi t−îng Request

VÝ dô: Gi¶ sö cã mét URL nh− sau:/Scripts/Sample.asp?hoten=NguyenvanA&tuoi=20TÊt c¶ nh÷ng g× n»m sau dÊu hái (?) ®−îc gäi lµ Query String. Trong Query String chia ra lµm nhiÒu phÇn, mçi phÇn c¸ch nhau bëi dÊu &. Trong mçi phÇn còng bao gåm hai thµnh phÇn c¸ch nhau bëi dÊu b»ng (=), phÇn tr−íc dÊu (=) lµ tªn biÕn, phÇn sau dÊu b»ng lµ gi¸ trÞ cña biÕn.

Nh− vËy trong file Sample.asp muèn lÊy hoten vµ tuoi b¹n sö dông lÖnh nh− sau:<%a=Request.QueryString("hoten") 'biÕn a=NguyenvanAb=Request.QueryString("tuoi") 'biÕn b=20%>

Page 143: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.1. §èi t−îng Request

ServerVariables: LÊy gi¸ trÞ cña c¸c biÕn m«i tr−êng (c¸c biÕn do ASP cÊp s½n)

Có ph¸p: Request.ServerVariables (variable) Trong ®ã variable lµ tªn cña biÕn m«i tr−êng cÇn nhËn.

Variable cã c¸c gi¸ trÞ sau:+ REQUEST_METHOD: lÊy gi¸ trÞ cña c¸ch thøc mµ Client yªu cÇu Server.

VÝ dô:<FORM ACTION = "/scripts/submit.asp" METHOD = "post">

Request.ServerVariables("REQUEST_METHOD")="post".

Page 144: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.1. §èi t−îng Request + PATH_INFO: X¸c ®Þnh ®−êng dÉn ¶o (virtual path )

cña file ®ang thi hµnh+ SCRIPT_NAME: X¸c ®Þnh ®−êng dÉn ¶o cña script

®ang thi hµnh.+ LOGON_USER: LÊy Username cña ng−êi logon vµo

m¹ng+ REMOTE_ADDR : lÊy ®Þa chØ IP cña m¸y tr¹m yªu

cÇu th«ng tin+ SERVER_NAME: lÊy tªn hay ®Þa chØ IP cña Server+ REMOTE_HOST: lÊy ®Þa chØ IP cña Server.

Page 145: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.2. §èi t−îng RESPONSE

§èi t−îng nµy dïng ®Ó göi d÷ liÖu vÒ ClientCó ph¸p:

Response.property|method Trong ®ã:

properties gåm c¸c gi¸ trÞ sau:+ Buffer: X¸c ®Þnh cã nªn sö dông vïng ®Öm cho c¸c trang th«ng tin hay kh«ng. Khi nã cã gi¸ trÞ True th× Server sÏ kh«ng tr¶ lêi bÊt kú mét yªu cÇu nµo ®Õn client cho ®Õn khi trang hiÖn t¹i ®· xö lý xong, hoÆc cho ®Õn khi gäi ph−¬ng thøc Response.Flush hay Response.End. Nªn ®Æt Response.Buffer ë dßng ®Çu tiªn trong file (.ASP).Có ph¸p: Response.Buffer=True/False+ Expires: X¸c ®Þnh thêi gian mµ trang th«ng tin n»m trong vïng ®Öm hÕt t¸c dôngCó ph¸p: Response.Expires [= number]

Trong ®ã number lµ sè phót mµ trang hÕt thêi h¹n

Page 146: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.2. §èi t−îng RESPONSEMethod gåm c¸c gi¸ trÞ sau:

+ Write: dïng ®Ó in mét biÓu thøc ra mµn h×nh.Có ph¸p: Response.Write Bieu_thuc

+ Redirect : dïng ®Ó nh¶y ®Õn mét URL kh¸c.Có ph¸p: Response.Redirect URL

Víi URL lµ mét ®Þa chØ míi mµ b¹n cÇn chuyÓn ®Õn.+ Clear: Xo¸ vïng ®Öm cña c¸c trang HTML.Ph−¬ng thøc nµy sÏ gÆp lçi nÕu nh− tr−íc ®ã kh«ng g¸n Response.Buffer = True.

Có ph¸p: Response.Clear+ End: dõng viÖc xö lý file .asp vµ tr¶ vÒ kÕt qu¶ hiÖn hµnhCó ph¸p: Response.End+ Flush: göi ngay lËp tøc d÷ liÖu trong bé ®Öm ra mµn h×nh.

Ph−¬ng thøc nµy sÏ gÆp lçi nÕu nh− tr−íc ®ã kh«ng g¸n Response.Buffer = TRUE. Có ph¸p: Response.Flush

Page 147: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.3. §èi t−îng SESSION

§èi t−îng Session dïng ®Ó l−u tr÷ th«ng tin cho mçi phiªn lµm viÖc (cña mçi User), khi User nµy kÕt nèi vµo WebSite cña b¹n. Nh÷ng th«ng tin ®−îc l−u tr÷ trong Session sÏ kh«ng bÞ mÊt ®i khi User nµy nh¶y tõ trang nµy qua trang kh¸c t¹i Web Site cña b¹n. Server sÏ tù ®éng t¹o ra ®èi t−îng SESSION khi mét trang web tõ mét øng dông ®−îc yªu cÇu bëi ng−êi sö dông, Server sÏ ph¸ huû ®èi t−îng SESSION khi kÕt thóc phiªn lµm viÖc, hoÆc cã yªu cÇu ph¸ huû.

Có ph¸p: Session.property|method

Page 148: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.3. §èi t−îng SESSION

* Properties cã c¸c gi¸ trÞ sau:+ SessionID: Tr¶ vÒ ®Þnh danh cña Sesion cho tõng User, ®Þnh danh nµy lµ duy nhÊt cho mçi User (gièng nh− m· sè ®Óqu¶n lý User)

Có ph¸p: Session.SessionID+ TimeOut: ThiÕt lËp thêi gian hÕt h¹n cho ®èi t−îng Session trong tõng øng dông, ®−îc tÝnh b»ng phótNÕu trong kho¶n thêi gian nµy mµ User kh«ng Refresh hoÆc yªu cÇu th«ng tin th× Session kÕt thóc.

Có ph¸p: Session.Timeout [ = nMinutes] Víi nMinutes lµ sè phót cÇn thiÕt lËp (ngÇm ®Þnh lµ 20 phót)

Page 149: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.3. §èi t−îng SESSION

* Method cã c¸c gi¸ trÞ sau:+ Abandon: dïng ®Ó ph¸ huû ®èi t−îng Session vµ gi¶i phãng khái bé nhí.

Có ph¸p: Session.AbandonTrong ®èi t−îng SESSION cßn cã hai sù kiÖn lµ

Session_OnEnd vµ Session_OnStart.Sù kiÖn Session_onStart ®−îc ®−a ra khi Server t¹o ra

Session míi, sù kiÖn Session_onEnd ®−îc ®−a ra Session bÞ ph¸huû (b»ng ph−¬ng thøc Abandon hay thuéc tÝnh Timeout).

Page 150: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.3. §èi t−îng SESSION

Có ph¸p cña hai sù kiÖn nµy ®−îc viÕt nh− sau:<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Session_OnStart. . . c¸c lÖnh cho khëi t¹o phiªn lµm viÖc ®Æt ë ®©yEnd Sub </SCRIPT> <SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Session_OnEnd. . . c¸c lÖnh cho kÕt thóc phiªn lµm viÖc ë ®©yEnd Sub </SCRIPT> Hai sù kiÖn nµy ®−îc so¹n trong mét file cã tªn lµ Global.asa, vµ file nµy ph¶i ®−îc ®Æt ë th− môc gèc cña øng dông ®ang thi hµnh.

Page 151: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.4. §èi t−îng ApplicationDïng ®Ó chia sÏ th«ng tin gi÷a c¸c user ®ang dïng chung

mét øng dông nµo ®ã. Do mét biÕn Application cã thÓ dïng chung cho tÊt c¶ c¸c

user, nªn t¹i mét thêi ®iÓm nÕu b¹n muèn thay ®æi gi¸ trÞ cña biÕn Application th× sö dông ph−¬ng thøc

+ Lock ®Ó kho¸ sù thay ®æi ë c¸c User kh¸c+ Sau ®ã sö dông ph−¬ng thøc Unlock ®Ó tr¶ l¹i

tr¹ng th¸i ban ®Çu cña nã.

Page 152: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.4. §èi t−îng ApplicationCó ph¸p:

+ Application(var): dïng ®Ó chøa gi¸ trÞ cña biÕn Application. Víi var lµ tªn biÕn

+ Application.Lock: ng¨n c¶n kh«ng cho client söa ®æi gi¸ trÞ cña biÕn Application

+ Application.Unlock: cho phÐp sö ®æi gi¸ trÞ cña biÕn ApplicationVÝ dô: ®Ó g¸n gi¸ trÞ 25 cho biÕn num sö dông có ph¸p sau

Application("num") = 25 BiÕn num sÏ ®−îc truy xuÊt bëi tÊt c¶ c¸c Client.

HoÆc ®Ó viÕt gi¸ trÞ cña biÕn num ra mµn h×nh sö dông có ph¸p :<% Response.write Application(‘’num’’) %>

Page 153: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.4. §èi t−îng Application+ Còng gièng nh− ®èi t−îng Session, ®èi t−îng

Application cã hai sù kiÖn lµ Application_OnStart, Application_OnEnd, sù kiÖn thø nhÊt ®−îc ®−a ra khi b¾t ®Çu thùc thi øng dông vµ sù kiÖn thø hai cho kÕt thóc mét øng dông.

+ C¶ hai sù kiÖn nµy ®−îc so¹n th¶o trong file Global.asa, vµ file nµy ph¶i ®−îc ®Æt ë th− môc gèc mµ øng dông hiÖn t¹i ®ang ho¹t ®éng. Trong file Global.asa sù kiÖn Application_OnStart ®−îc −u tiªn t×m thÊy vµ sö dông tr−íc sù kiÖn Session_OnStart. Sù kiÖn Application_OnEnd cã −u tiªn sau Session_OnEnd.

Page 154: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages III. C¸c thµnh phÇn trong ASP

3. C¸c ®èi t−îng kh¸c trong ASP3.4. §èi t−îng Application

Có ph¸p cña hai sù kiÖn nh− sau:<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>

Sub Application_OnStart. . . c¸c lÖnh khi b¾t ®Çu thùc hiÖn øng dôngEnd Sub

</SCRIPT> <SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>

Sub Application_OnEnd. . . c¸c lÖnh khi kÕt thóc øng dôngEnd Sub

</SCRIPT>

Page 155: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

1. Giíi thiÖuNh− c¸c b¹n ®· biÕt lµ mçi lo¹i C¬ së d÷ liÖu ®Òu cung cÊp

một ph−¬ng ph¸p riªng ®Ó truy cËp th«ng tin trong C¬ së d÷ liÖu ®ã, ®iÒu nµy ®· g©y kh«ng Ýt khã kh¨n cho viÖc truy cËp th«ng tin C¬ së d÷ liÖu trªn m¹ng Internet.

Do ®ã trong nhiÒu n¨m, c¸c tËp ®oµn trªn thÕ giíi ®· ®Çu t−rÊt nhiÒu tiÒn cña vµo viÖc x©y dùng mét ph−¬ng ph¸p lËp tr×nh nh»m cung cÊp mét giao diÖn lËp tr×nh øng dông duy nhÊt mµ cã thÓ truy cËp ®−îc nhiÒu lo¹i C¬ së d÷ liÖu cña nhiÒu hÖ qu¶n trÞ C¬ së d÷ liÖu kh¸c nhau.

§Ó gi¶i quyÕt vÊn ®Ò nµy tËp ®oµn Microsoft ®· ®−a ra mét chuÈn gäi lµ Open DataBase Connectivity (ODBC: sù nèi kÕt C¬ së d÷ liÖu më).

Page 156: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

1. Giíi thiÖu

Drivers Manager (Tr×nh qu¶n lý c¸c tr×nh ®iÒu khiÓn): ®©y lµ mét bé phËn thi hµnh nh− mét kÎ trung gian gi÷a øng dông vµ tr×nh ®iÒu khiÓn (Driver). Drivers Manager lÊy th«ng tin tõ øng dông vµkÝch ho¹t tõng tr×nh ®iÒu khiÓn thÝch hîp cho viÖc truy cËp tõng lo¹i C¬ së d÷ liÖu.Driver (Tr×nh ®iÒu khiÓn): cung cÊp c¸c tr×nh ®iÒu khiÓn ®Ó truy cËp C¬ së d÷ liÖu. Tr×nh ®iÒu khiÓn nµy chÞu sù ®iÒu khiÓn cña c¸c c©u truy vÊn SQL vµ tr¶ kÕt qu¶ vÒ cho øng dông.DataSource (Nguån d÷ liÖu): ®©y lµ nguån d÷ liÖu cÇn truy cËp ®ÓlÊy th«ng tin.

Drivers ManagerDrivers Manager DriverDriver DataSource

Page 157: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

1. Giíi thiÖuNh− vËy viÖc sö dông ASP kÕt hîp víi ODBC ®Ó truy cËp th«ng

tin trong c¸c C¬ së d÷ liÖu qua m¹ng diÖn réng cã thÓ ®−îc m« t¶ ng¾n gän qua s¬ ®å sau:

Page 158: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages Web Browser

Internet InformationServer

ASP

ODBC

OtherDriver

SQL Server Driver Acces Driver

SQL Database Acces Database Other Database

Web Browser

Page 159: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

1. Giíi thiÖu+ Tõ Web Browser, ng−êi sö dông yªu cÇu truy vÊn d÷

liÖu b»ng c¸ch göi c¸c c©u lÖnh SQL ®Õn Web Server (lµ IIS), IIS nhËn thÊy viÖc truy cËp C¬ së d÷ liÖu cÇn ®Õn ASP th× södông ASP.

+ ASP sÏ göi c¸c th«ng tin cÇn thiÕt ®Õn ODBC vµ ODBC sÏ lùa chän tr×nh ®iÒu khiÓn thÝch hîp ®Ó truy cËp C¬ së d÷liÖu.

+ Sau khi xö lý xong, kÕt qu¶ tr¶ ng−îc l¹i cho ng−êi södông còng ë trªn Web Browser.

Page 160: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

2. §¨ng ký nguån d÷ liÖu víi ODBC§Ó ®¨ng ký d÷ liÖu víi ODBC tiÕn hµnh theo c¸c b−íc sau:a. Tõ menu Start-> chän Settings -> chän Control Panelb. KÝch ®«i biÓu t−îng ODBC (32 bit), xuÊt hiÖn mµn h×nh nh− sau:

Page 161: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

2. §¨ng ký nguån d÷ liÖu víi ODBCTrong phÇn System Data Source liÖt kª tªn c¸c c¬ së d÷

liÖu ®· ®−îc ®¨ng ký. Trong phÇn nµy gåm cã hai phÇn:+ Name: tªn ®· ®¨ng ký (chó ý lµ tªn nµy kh«ng

ph¶i lµ tªn cña C¬ së d÷ liÖu, mµ ®©y chØ lµ tªn ®¹i diÖn cho C¬ së d÷ liÖu)

+ Driver: Tr×nh ®iÒu khiÓn ®Ó truy cËp tõng lo¹i c¬së d÷ liÖu cô thÓ (nh− Access, SQL Server, Foxpro,...)

Page 162: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

2. §¨ng ký nguån d÷ liÖu víi ODBCc. §Ó ®¨ng ký nguån d÷ liÖu míi, kÝch nót Add, xuÊt hiÖn

cöa sæ nh− sau:

Page 163: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

2. §¨ng ký nguån d÷ liÖu víi ODBCTrong cña sæ nµy cho phÐp b¹n chän lùa tr×nh ®iÒu khiÓn

cña tõng lo¹i C¬ së d÷ liÖu mµ b¹n sö dông. + NÕu C¬ së d÷ liÖu cña b¹n lµ Foxpro th× b¹n chän

Microsoft Visual Foxpro Driver + NÕu C¬ së d÷ liÖu lµ SQL th× chän SQL Server+ NÕu C¬ së d÷ liÖu lµ Access th× chän Microsoft Access

Driver,...Gi¶ sö chän Microsoft Access Driver, vµ kÝch nót Finish

Page 164: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

2. §¨ng ký nguån d÷ liÖu víi ODBCd. Sau khi chän Driver vµ kÝch nót Finish, xuÊt hiÖn cöa

sæ nh− bªn d−íi:- Data Source Name: nhËp vµo tªn ®¹i diÖn cho C¬ së d÷

liÖu (tªn nµy sÏ ®−îc dïng ®Ó nèi kÕt tíi C¬ së d÷ liÖu trong ASP, vÝ dô c©u lÖnh trong ASP: conn.open "Vidu")

- Description: nhËp vµo phÇn m« t¶ cho C¬ së d÷ liÖu (phÇn nµy cã thÓ bá trèng)

- Database: tªn cña C¬ së d÷ liÖu cÇn truy cËp, ®Ó chän file C¬ së d÷ liÖu b¹n kÝch nót Select... Sau khi chän C¬ së d÷ liÖu b¹n kÝch nót OK, vµ tiÕp tôc kÝch OK ®Ó kÕt thóc viÖc ®¨ng ký C¬ së d÷ liÖu víi ODBC.

Page 165: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

2. §¨ng ký nguån d÷ liÖu víi ODBC

Page 166: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

3. Giíi thiÖu vÒ IIS - Internet Information Server.a. IIS lµ g× ?Microsoft Internet Information Server lµ mét øng dông

server chuyÓn giao th«ng tin b»ng viÖc sö dông giao thøc chuyÓn ®æi siªu v¨n b¶n HTTP

b. IIS cã thÓ lµm ®−îc g× ?XuÊt b¶n mét Home page lªn Internet.T¹o c¸c giao dÞch th−¬ng m¹i ®iÖn tö trªn Internet( Qu¸ tr×nh giao dÞch, ®Æt hµng…)Cho phÐp ng−êi dïng tõ xa cã thÓ truy xuÊt C¬ së d÷liÖu (DataBase Remote Access)

Page 167: Tai lieu Thiet ke Web toan tap

Active Server Pages Active Server Pages IV. §¨ng ký nguån d÷ liÖu víi ODBC

3. Giíi thiÖu vÒ IIS - Internet Information Server.

c. ISS ho¹t ®éng nh− thÕ nµo ?Web, vÒ c¬ b¶n thùc sù lµ mét hÖ thèng c¸c yªu cÇu

(Request) vµ c¸c ®¸p øng (Response). IIS ph¶n håi l¹i c¸c yªu cÇu ®ßi th«ng tin cña Web Browser. IIS l¾ng nghe c¸c yªu cÇu ®ã tõ phÝa Users trªn mét m¹ng sö dông WWW.

Page 168: Tai lieu Thiet ke Web toan tap

jspECjspEC ProjectProject

Page 169: Tai lieu Thiet ke Web toan tap

NéI DUNG * Giíi thiÖu* C¬ chÕ ho¹t ®éng cña JSP* C¸ch x©y dùng Web b»ng JSP* C¸c có ph¸p c¬ b¶n cña JSP* Nhóng vµ chuyÓn h−íng gi÷a c¸c trang* C¸c ®èi t−îng mÆc ®Þnh cña JSP* Ph−¬ng thøc truy xuÊt c¬ së d÷ liÖu

Java Server PagesJava Server Pages

Page 170: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesI. Giíi ThiÖu

JSP lµ c¹nh tranh cña Sun ®èi víi c«ng nghÖ ASP cña Microsoft.

ASP còng lµ c¸c trang Web thùc hiÖn c¬ chÕ diÔn dÞch thay c¸c lÖnh Java lµ c¸c lÖnh Visual Basic. ASP kh«ng cã c¬ chÕ diÔn dÞch ra m· nhÞ ph©n nh− JSP.

JSP (Java Server Page) lµ c¸ch ®¬n gi¶n ®Ó ng−êi dïng tiÕp cËn ®−îc h−íng lËp tr×nh Web phÝa m¸y chñhiÖu qña vµ nhanh h¬n.

NÕu nh− ®èi víi Servlet b¹n ph¶i viÕt m· Java vµ biªn dÞch b»ng tay tr−íc khi ®−a vµo sö dông víi tr×nh chñ Web Server th× JSP kh«ng cÇn ®iÒu nµy

Page 171: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesII. C¬ ChÕ Ho¹t §éng Cña JSP

C¬ chÕ ho¹t ®éng cña trang JSP ®−îc minh häa nh−h×nh sau :

HTTP Web

Service

Trçnh diãùn dëch JSP

Servlet Tạm

Web Browser Trang jspTrang jsp

Yêu cầu

Kết xuất

Java Web Server

Page 172: Tai lieu Thiet ke Web toan tap

II. C¬ ChÕ Ho¹t §éng Cña JSP :+ Khi b¹n yªu cÇu mét trang JSP, tr×nh chñ sÏ ®äc

trang JSP tõ ®Üa cøng,

+ Bé diÔn dÞch JSP sÏ diÔn dÞch m· lÖnh Java chøa trong trang JSP thµnh mét servlet.

+ Sau ®ã tr×nh chñ Java Web Server sÏ triÖu gäi servlet tr¶ kÕt xuÊt thuÇn HTML vÒ cho tr×nh kh¸ch

Java Server PagesJava Server Pages

Page 173: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server Pages

III. C¸ch X©y Dùng Web B»ng JSPMét trang JSP víi phÇn më réng lµ .jsp nh−

lµ mét trang HTML, cã thÓ chÌn thªm c¸c c©u lÖnh Java b»ng cÆp

<%. . . %>hoÆc: <jsp:scriptlet>... </jsp:scriptlet>.Gi÷a cÆp dÊu nµy lµ c¸c c©u lÖnh cña ng«n

ng÷ Java n»m trong phÇn th©n (<Body>. . . </Body>) cña tµi liÖu, hoÆc phÇn ®Çu tiªn tr−íc c¶ tag <HTML> cña tµi liÖu.

Page 174: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIII. C¸ch X©y Dùng Web B»ng JSP

M« t¶ cÊu tróc cña mét trang JSP <%- - - - C¸c c©u lÖnh Java ë ®©y - - - -%>

< HTML>- - - - C¸c thµnh phÇn ®Þnh nghÜa kh¸c - - - -

<BODY><%

- - - - C¸c c©u lÖnh Java ë ®©y - - - -%>

- - - - C¸c ®Þnh d¹ng kh¸c cña HTML - - - -< /BODY></HTML>

Page 175: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIV. C¸c Có Ph¸p C¬ B¶n Cña JSP

T−¬ng tù thÎ HTML, thÎ lÖnh JSP còng bao gåm thÎ më vµthÎ ®ãng. Mçi thÎ cã c¸c thuéc tÝnh qui ®Þnh c¸ch sö dông thÎ.

1. ThÎ <jsp:scriptlet> hay <% %> Víi thÎ nµy b¹n cã thÓ ®Æt c¸c ®o¹n m· lÖnh Java ë gi÷a

cÆp thÎ t−¬ng tù mét ch−¬ng tr×nh Java th«ng th−êng. Bªn trong m· Java nÕu muèn kÕt xuÊt d÷ liÖu HTML b¹n gäi ph−¬ng thøc println() cña ®èi t−îng out.

<jsp:scriptlet>--------------------m· lÖnh Java

-------------------</jsp:scriptlet>

Page 176: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIV. C¸c Có Ph¸p C¬ B¶n Cña JSP

1. ThÎ <jsp:scriptlet> hay <% %> Khi gÆp thÎ nµy, bé diÔn dÞch JSP sÏ biÕt ®−îc lÖnh cÇn

thùc hiÖn tiÕp theo lµ m· lÖnh Java. B¹n hoµn toµn sö dông mäi có ph¸p cña Java ë ®©y, kÓ c¶ lÖnh chó thÝch th«ng th−êng. NÕu muèn viÕt t¾t th× cã thÓ sö dông cÆp thÎ <% %> thay thÕ.

<%

--------------------

m· lÖnh Java

-------------------

%>

Page 177: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIV. C¸c Có Ph¸p C¬ B¶n Cña JSP

2. HiÓn thÞ kÕt xuÊt b»ng có ph¸p <%= %>

Thay v× sö dông có ph¸p <% %> ®Ó diÔn ®¹t mét khèi gåm nhiÒu lÖnh, ta cã thÓ sö dông có ph¸p <%= %> chØ ®Ó hiÓn thÞ kÕt xuÊt cña mét gi¸ trÞ biÕn hay hµm nµo ®ã.

Riªng biÓu thøc n»m trong thÎ <%= %>kh«ng ®−îc tËn cïng b»ng dÊu chÊm phÈy (;) nh− c¸c lÖnh hay khai b¸o biÕn cña ng«n ng÷ Java.

VÝ dô:

Welcome <%=username%>

username : lµ tªn biÕn do ng−êi dïng ®¨ng nhËp.

Page 178: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIV. C¸c Có Ph¸p C¬ B¶n Cña JSP

3. ChÌn chó thÝch vµo trang JSP :Còng nh− Java, JSP cho phÐp b¹n dïng có ph¸p // ®Ó chó thÝch

mét dßng m· lÖnh trong khi có ph¸p /* */ ¸p dông cho nhiÒu dßng. C¸c dßng chó thÝch sÏ bá qua khi tr×nh chñ diÔn dÞch trang JSP.

<%// LÊy biÕn d÷ liÖu mang tªn username tõ ®èi t−îng session String username=session.getAttribute("username");%> JSP cßn cung cÊp cho b¹n có ph¸p chó thÝch <%-- --%>. TÊt c¶ c¸c khèi

lÖnh Java vµ HTML n»m gi÷a hai dÊu chó thÝch nµy sÏ ®−îc tr×nh biªn dÞch trang bá qua kh«ng quan t©m ®Õn.

VÝ dô : <%--out.println("You will never see this line");--%>

Page 179: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIV. C¸c Có Ph¸p C¬ B¶n Cña JSP4. ThÎ khai b¸o ph−¬ng thøc vµ biÕn b»ng <%! %>

Ta cã thÓ dïng thÎ <%! %> ®Ó khai b¸o mét biÕn hoÆc mét ph−¬ng thøc dïng cho toµn trang jsp. BiÕn khai b¸o ph¶i theo có ph¸p cña ng«n ng÷ Java. Ph−¬ng thøc vµ biÕn sau ®ã cã thÓ ®−îc gäi bÊt kú n¬i ®©u trong trang JSP.

5. ThÎ chØ dÉn biªn dÞch trang <%@ page%>ThÎ <%@ page%> chØ dÉn mét sè tÝnh chÊt biªn dÞch

¸p dông cho toµn trang jsp. Ta cã thÓ sö dông thÎ nµy ®Ókhai b¸o c¸c th− viÖn import cña Java, chØ ®Þnh tïy chän trang jsp cã cÇn gi÷ trªn cache bé nhí cña tr×nh chñ ®Ó t¨ng tèc hay kh«ng.

VÝ dô:<%@ page import="java.sql.*" %>

Page 180: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIV. C¸c Có Ph¸p C¬ B¶n Cña JSP6. Nhóng Vµ ChuyÓn H−íng Gi÷a C¸c Trang

Trong quTrong qu¸̧ trtr××nh xnh xöö lý vlý vµµ chuychuyÓÓn dn d÷÷ liliÖÖu cho form bu cho form b¹¹n cã n cã ththÓÓ nhnhóóng vng vµµ tritriÖÖu gu gääi nhi nh÷÷ng trang JSP khng trang JSP kh¸̧c vc vííi trang hii trang hiÖÖn n hhµµnh. nh.

Cã thCã thÓÓ ®−®−a ma méét trang HTML hot trang HTML hoÆÆc JSP vc JSP vµµo trang JSP hio trang JSP hiÖÖn n tt¹¹i i ®Ó®Ó hhçç trtrîî ththªªm thm th−− viviÖÖn hay tÝnh nn hay tÝnh n¨̈ng bng bææ sung nsung nµµo o ®®ã. Hay ã. Hay ghi nhghi nhËËn n ®−î®−îc dc d÷÷ liliÖÖu submit tõ tru submit tõ tr××nh khnh kh¸̧ch, trang JSP nhch, trang JSP nhËËn n ®−î®−îc dc d÷÷ liliÖÖu cã thu cã thÓÓ chuychuyÓÓn hn h−í−íng hong hoÆÆc tric triÖÖu gu gääi i ®®Õn trang JSP Õn trang JSP khkh¸̧c.c.

Page 181: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIV. C¸c Có Ph¸p C¬ B¶n Cña JSP

6.1. Nhóng file vµo trang víi chØ thÞ include file : Ta cã thÓ nhóng mét trang jsp hay trang html vµo trang jsp hiÖn hµnh

b»ng thÎ <%@ include file %>. ThÎ nµy t−¬ng tù nh− chØ dÉn #include trong ng«n ng÷ C. Có ph¸p ®Çy ®ñcña thÎ nµy lµ :

<%@ include file="URL or Filepath"%>6.2. Sö dông thÎ <jsp:include>ChØ thÞ <@ include %> chØ dïng ®Ó nhóng c¸c m· nguån tÜnh. NÕu

muèn nhóng kÕt qu¶ kÕt xuÊt tõ c¸c trang jsp, servlet hay html kh¸c vµo trang hiÖn hµnh b¹n sö dông thÎ <jsp: include> víi có ph¸p nh− sau :

< jsp:include page="filename" flush="true" />L−u ý : <jsp: include> ®−a kÕt qu¶ kÕt xuÊt cña trang ®−îc nhóng vµo trang hiÖn

hµnh, trong khi <%@ include %> dïng ®Ó ®−a m· nguån cña trang ®−îc nhóng vµo trang hiÖn hµnh.

Page 182: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIV. C¸c Có Ph¸p C¬ B¶n Cña JSP

6.3 ChuyÓn tiÕp ®Õn trang kh¸c víi thÎ <jsp:forward>Ta sö dông thÎ <jsp:forward> ®Ó triÖu gäi vµ chuyÓn d÷ liÖu cho

trang jsp kh¸c xö lý. VÝ dô : Trang Page1.jsp chØ hiÓn thÞ th«ng tin ®Ó ng−êi dïng nhËp vµo username vµ password <html>

<form method=post action=page1.jsp>username : <input type=text name="username" >password : <input type=password name="password" >

<input type=submit value="Login" ></form>

</html>

Page 183: Tai lieu Thiet ke Web toan tap

Java Server PagesJava Server PagesIV. C¸c Có Ph¸p C¬ B¶n Cña JSP

6.3 ChuyÓn tiÕp ®Õn trang kh¸c víi thÎ <jsp:forward>Trang Page2.jsp kiÓm tra nÕu username kh¸c rçng sÏ chuyÓn tiÕp quyÒn xö lý

file Page3.jsp, ng−îc l¹i nÕu username b»ng rçng sÏ ®−a ra th«ng b¸o yªu cÇu ng−êi dïng nhËp vµo.

<% if (!request.getParameter("username").equals(" ")) {%>

<jsp:forward page="Page3.jsp" /><%} else { out.println(" Please input username and password ");} %><html>

Your username : <%=request.getParametter("username")%><br>

Your password : <%=request.getParameter("password")%>;<br>

</html>

Page 184: Tai lieu Thiet ke Web toan tap

IV. C¸c Có Ph¸p C¬ B¶n Cña JSP6.4. ChuyÓn h−íng sang trang míi víi sendRedirect()Ngoµi viÖc chuyÓn tiÕp b¹n cã thÓ sö dông ph−¬ng thøc

sendRedirect() ®Ó chuyÓn h−íng vµ triÖu gäi trang JSP kh¸c xö lý. Sùkh¸c nhau gi÷a chuyÓn tiÕp (forward) vµ chuyÓn h−íng (redirect) ®ã lµlÖnh senRedirect() chØ thùc hiÖn triÖu gäi trang mµ kh«ng chuyÓn tham sè cña trang hiÖn hµnh cho trang chuyÓn h−íng.VÝ dô : Tõ Page2.jsp b¹n cã thÓ chuyÓn h−íng ®Õn trang Page3.jsp nh−sau :

<%------------------------------------------response.sendRedirect("Page3.jsp");%>

Java Server PagesJava Server Pages

Page 185: Tai lieu Thiet ke Web toan tap

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSPTr×nh diÔn dÞch JSP cho phÐp ta sö dông mét sè ®èi

t−îng ®· khai b¸o tr−íc. §iÒu nµy sÏ gióp ta viÕt m· lÖnh trong trang jsp nhanh h¬n servlet.

1. §èi t−îng out : XuÊt ph¸t tõ líp java.ioPrintWriter. B¹n cã thÓ sö dông ®èi t−îng nµy ®Ó ®Þnh d¹ng kÕt xuÊt göi vÒ m¸y kh¸ch.VÝ dô : <% out.println("Result "+7*3); %>

Java Server PagesJava Server Pages

Page 186: Tai lieu Thiet ke Web toan tap

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP2. §èi t−îng Request :XuÊt ph¸t tõ líp HttpServletRequest, ®èi t−îng nµy gióp b¹n lÊy

vÒ c¸c tham sè hay d÷ liÖu do tr×nh kh¸ch chuyÓn lªn. Mét trong nh÷ng øng dông th«ng th−êng nhÊt cña ®èi t−îng

request lµ n¾m gi÷ c¸c tham sè. B¹n cã thÓ thÊy ®iÒu nµy b»ng c¸ch gäi ph−¬ng thøc getParametter() cña request. Ph−¬ng thøc nµy kÕ thõa tõ líp cha lµ javax.servlet.ServletRequest. Ph−¬ng thøc nµy nhËn tªn tham sè vµ tr¶ vÒ gi¸ trÞ chuçi t−¬ng øng víi tªn cña tham sè ®ã.VÝ dô : LÊy vÒ c¸c th«ng tin ®¨ng nhËp tõ file Bc_td1.jspString USERNAME=request.getParameter(�username");String PASSWORD=request.getParameter(�password");

Java Server PagesJava Server Pages

Page 187: Tai lieu Thiet ke Web toan tap

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP3. §èi t−îng Session : XuÊt ph¸t tõ líp HttpSession. B¹n sö dông ®èi t−îng session ®Ó

theo dâi kÕt nèi vµ l−u vÕt mét phiªn lµm viÖc gi÷a tr×nh kh¸ch vµ tr×nh chñ.

§èi t−îng session tham chiÕu ®Õn ®èi t−îng javax.servlet.http.HttpSession. §èi t−îng session ®−îc khëi t¹o b»ng c¸ch gäi ph−¬ng thøc pageContext.getSession() ®Ó t¹o ra trang servlet.

session = pageContext.getSession();Khi cÇn mét biÕn nµo ®ã cã gi¸ trÞ toµn côc tõ khi më cho ®Õn

khi kÕt thóc tr×nh duyÖt ®ã, b¹n nªn nghÜ ®Õn session. §èi t−îng session sÏ thùc hiÖn viÖc ®ã gióp b¹n. §èi t−îng session t¹o biÕn côc bé cho phÐp l−u mét gi¸ trÞ nµo ®ã tõ trang JSP nµy sang trang JSP kh¸c.

Java Server PagesJava Server Pages

Page 188: Tai lieu Thiet ke Web toan tap

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP3. §èi t−îng Session : VÝ dô : §Ó l−u th«ng tin vÒ phiªn lµm viÖc vµo session ta thùc

hiÖn nh− sau:session.putValue(�NGAY", NGAY);session.putValue("THANG", THANG);session.putValue("NAM", NAM);

Sau khi ghi th«ng tin vµo session, khi cÇn lÊy vÒ gi¸ trÞ trong session ta thùc hiÖn nh− sau :

String NGAY=(String) session.getValue(�NGAY"); String THANG=(String) session.getValue("THANG");

String NAM=(String) session.getValue("NAM");

Java Server PagesJava Server Pages

Page 189: Tai lieu Thiet ke Web toan tap

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP4. §èi t−îng Response :§èi t−îng response cho phÐp ph¶n håi th«ng tin xö lý tõ

tr×nh chñ trë vÒ tr×nh duyÖt. Thùc ra ®èi t−îng response th−êng gäi ph−¬ng thøc response.getWrite() ®Ó thùc hiÖn kÕt xuÊt. C¸c ph−¬ng thøc mµ ®èi t−îng response th−êng ®−îc liÖt kª nh− sau :

Liªn kÕt trùc tiÕp ®Õn trang Bc_td2.jspresponse.sendRedirect(�Bc_td2.jsp�) ;

§Þnh kÕt xuÊt ra HTML hay textresponse.setContenType(�text/html�) ;

LÊy d÷ liÖu trong vïng ®Öm nhê OutputStream();response.getOutputStream();

Java Server PagesJava Server Pages

Page 190: Tai lieu Thiet ke Web toan tap

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP5. §èi t−îng Exception : §èi t−îng exception chØ tån t¹i trong trang xö lý lçi

(errorPage). Nã dïng ®Ó tham chiÕu ®Õn nguyªn nh©n g©y ra lçi mµtrang error cã liªn quan.

Java Server PagesJava Server Pages

Page 191: Tai lieu Thiet ke Web toan tap

VI. Truy XuÊt CSDL B»ng JSP :1. JDBC vµ tr×nh ®iÒu khiÓn truy xuÊt c¬ së d÷ liÖuC«ng viÖc lËp tr×nh mµ JSP th−êng thùc hiÖn nhÊt ®ã lµ l−u tr÷

th«ng tin vµ truy xuÊt c¬ së d÷ liÖu (database) cung cÊp th«ng tin cho tr×nh kh¸ch.

ViÖc truy xuÊt c¬ së d÷ liÖu trong JSP dùa vµo tr×nh truy xuÊt JDBC mµ Java hç trî. JDBC lµ c¸c tr×nh ®¹o diÔn cho phÐp b¹n truy cËp vµo c¬ së d÷ liÖu cña c¸c hÖ nh− Access, MS SQL Server, Oracle,... b»ng ng«n ng÷ truy vÊn SQL. Cã 4 kiÓu JDBC nh− sau:

+ JDBC sö dông cÇu nèi ODBC+ JDBC kÕt nèi trùc tiÕp víi c¸c tr×nh ®iÒu khiÓn c¬ së d÷ liÖu.+ JDBC kÕt nèi th«ng qua c¸c øng dông m¹ng trung gian.+ JDBC kÕt nèi th«ng qua c¸c tr×nh ®iÒu khiÓn ®Æc thï ë xa

Java Server PagesJava Server Pages

Page 192: Tai lieu Thiet ke Web toan tap

VI. Truy XuÊt CSDL B»ng JSP :1. JDBC vµ tr×nh ®iÒu khiÓn truy xuÊt c¬ së d÷ liÖu+ KiÓu 1: JDBC sö dông cÇu nèi ODBC

NÕu b¹n ®· tõng lµm viÖc víi c¸c hÖ c¬ së d÷ liÖu trªn windows b¹n sÏ biÕt ®Õn c¸ch kÕt nèi ODBC (Open Database Connectivity). ODBC lµ c¸ch kÕt nèi tæng qu¸t nhÊt ®Õn mäi hÖ c¬ së d÷ liÖu th«ng qua tr×nh qu¶n lý ODBC cña Windows. Mçi hÖ c¬ së d÷ liÖu cung cÊp mét tr×nh ®iÒu khiÓn (driver) cã kh¶ n¨ng ®äc hiÓu ®−îc c¬ sëd÷ liÖu cña chóng. Tr×nh ®iÒu khiÓn nµy sÏ ®−îc ®¨ng ký víi bé qu¶n lý ODBC. Java cung cÊp cho b¹n kh¶ n¨ng sö dông JDBC ®Ó gäi ODBC vµ b»ng c¸ch nµy b¹n cã thÓkiÓm so¸t rÊt nhiÒu hÖ qu¶n trÞ c¬ së d÷ liÖu kh¸c nhau.

Java Server PagesJava Server Pages

Page 193: Tai lieu Thiet ke Web toan tap

VI. Truy XuÊt CSDL B»ng JSP :1. JDBC vµ tr×nh ®iÒu khiÓn truy xuÊt c¬ së d÷ liÖu+ KiÓu 2: JDBC kÕt nèi trùc tiÕp víi c¸c tr×nh ®iÒu

khiÓn c¬ së d÷ liÖu.Khi Java ph¸t triÓn, c¸c nhµ cung cÊp hç trî c¸c

tr×nh ®iÒu khiÓn JDBC kÕt nèi trùc tiÕp víi c¸c tr×nh ®iÒu khiÓn ®Æc thï cña mçi hÖ c¬ së d÷ liÖu (native database driver) mµ kh«ng cÇn ph¶i qua trung gian ODBC cña windows n÷a. C¸c kÕt nèi nµy nhanh vµ hiÖu qu¶ h¬n kiÓu 1 JDBC-ODBC

Java Server PagesJava Server Pages

Page 194: Tai lieu Thiet ke Web toan tap

VI. Truy XuÊt CSDL B»ng JSP :1. JDBC vµ tr×nh ®iÒu khiÓn truy xuÊt c¬ së d÷ liÖu+ KiÓu 3: JDBC kÕt nèi th«ng qua c¸c øng dông

m¹ng trung gian.Ngµy nay, c¸c øng dông ®Òu g¾n liÒn víi Internet.

Theo m« h×nh lËp tr×nh ph©n t¸n, øng dông trung gian (middle-ware) trªn m¸y chñ sÏ chÞu tr¸ch nhiÖm kÕt nèi víi c¬ së d÷ liÖu. NhiÖm vô cña tr×nh kh¸ch lµ sö dông nh÷ng tr×nh ®iÒu khiÓn JDBC gän nhÑ cã kh¶ n¨ng giao tiÕp víi øng dông trung gian qua Internet ®Ó truy vÊn d÷liÖu.

Java Server PagesJava Server Pages

Page 195: Tai lieu Thiet ke Web toan tap

VI. Truy XuÊt CSDL B»ng JSP :1. JDBC vµ tr×nh ®iÒu khiÓn truy xuÊt c¬ së d÷ liÖu+ KiÓu 4: JDBC kÕt nèi th«ng qua c¸c tr×nh ®iÒu

khiÓn ®Æc thï ë xa.M« h×nh kÕt nèi theo kiÓu 3 do ph¶i th«ng qua øng dông trung gian (middle-ware) nªn cã thÓ ¶nh h−ëng ®Õn tèc ®é truy xuÊt c¬ së d÷ liÖu phÝa m¸y kh¸ch. Java ®−a ra kÕt nèi JDBC kiÓu 4 cho phÐp tr×nh kh¸ch sö dông c¸c tr×nh ®iÒu khiÓn gän nhÑ kÕt nèi trùc tiÕp vµo tr×nh ®iÒu khiÓn c¬ së d÷ liÖu ®Æc thï (thuÇn java) trªn m¸y chñ ëxa th«ng qua m¹ng Internet.

Java Server PagesJava Server Pages

Page 196: Tai lieu Thiet ke Web toan tap

VI. Ph−¬ng Thøc Truy XuÊt CSDL B»ng JSP :2. Ph−¬ng Thøc Truy XuÊt CSDL B»ng Jsp2.1 Thùc hiÖn mét kÕt nèi víi CSDL : §Ó kÕt nèi víi CSDL, JDBC ®ßi hái hai yÕu tè lµ tr×nh ®iÒu

khiÓn (t−¬ng øng víi c¸c kiÓu kÕt nèi) vµ th«ng tin ®Ó kÕt nèi (®Þa chØm¸y chñ, tªn tµi kho¶n, mËt khÈu,...).

+ N¹p tr×nh ®iÒu khiÓn: Ta sö dông tr×nh ®iÒu khiÓn miÔn phÝ do Sun cung cÊp mang tªn JdbcOdbcDriver. Ta khai b¸o tªn líp nµy nh−sau :

String drivername=�sun.jdbc.odbc.JdbcOdbcDriver�;TiÕp ®Õn ta gäi ph−¬ng thøc tÜnh forName cña líp Class ®Ó n¹p

vµ khëi t¹o tr×nh ®iÒu khiÓn :Class.forName(�drivername�).newInstance();

Java Server PagesJava Server Pages

Page 197: Tai lieu Thiet ke Web toan tap

VI. Ph−¬ng Thøc Truy XuÊt CSDL B»ng JSP :2. Ph−¬ng Thøc Truy XuÊt CSDL B»ng Jsp

2.1 Thùc hiÖn mét kÕt nèi víi CSDL : + T¹o th«ng tin kÕt nèi : Lóc nµy ta ®· hoµn toµn cã kh¶ n¨ng

sö dông tr×nh ®iÒu khiÓn JDBC-ODBC ®Ó truy xuÊt d÷ liÖu. Tuy nhiªn tr×nh ®iÒu khiÓn cÇn biÕt thªm nh÷ng th«ng tin cô thÓ nh− tµi kháan ®¨ng nhËp, th«ng tin kÕt nèi,...Ta ®Æt nh÷ng th«ng tin nµy trong chuçi kÕt nèi nh− sau :

String url=�jdbc:odbc:tªn CSDL�;String username=��;String password=��;

ë ®©y chuçi jdbc:odbc: lµ b¾t buéc víi tr×nh ®iÒu khiÓn JDBC-ODBC. TiÕp sau chuçi nµy lµ th«ng tin kÕt nèi cô thÓ ®Õn CSDL do ODBC qui ®Þnh.

Java Server PagesJava Server Pages

Page 198: Tai lieu Thiet ke Web toan tap

VI. Ph−¬ng Thøc Truy XuÊt CSDL B»ng JSP :2. Ph−¬ng Thøc Truy XuÊt CSDL B»ng Jsp

2.1 Thùc hiÖn mét kÕt nèi víi CSDL : + T¹o th«ng tin kÕt nèi :

TiÕp tôc ta t¹o mét ®èi t−îng Connection b»ng c¸ch gäi ph−¬ng thøc getConnection() cña líp DriverManager ®Ó yªu cÇu tr×nh ®iÒu khiÓn n¹p bëi Class.forName() tr−íc ®ã tiÕp nhËn th«ng tin vµ thùc thi kÕt nèi nh− sau:

Connection conn = null;conn = DriverManager.getConnection(url, “username”, “password ”);

url : chuçi nªu lªn ®Æc ®iÓm cña CSDL cã d¹ng jdbc:subprotocol:subnamesubprotocol : giao thøc con t−¬ng øng víi lo¹i CSDLsubname : tªn cña CSDLusername : tªn ng−êi dïng khi ®¨ng nhËp vµo CSDLpassword : mËt khÈu ng−êi dïng khi ®¨ng nhËp CSDL

Java Server PagesJava Server Pages

Page 199: Tai lieu Thiet ke Web toan tap

VI. Ph−¬ng Thøc Truy XuÊt CSDL B»ng JSP :2. Ph−¬ng Thøc Truy XuÊt CSDL B»ng Jsp

2.2 Thùc hiÖn c¸c lÖnh : C¸c ch−¬ng tr×nh JSP chØ thùc hiÖn ®−îc c¸c lÖnh trªn CSDL

th«ng qua ®èi t−îng Statement. §èi t−îng nµy ®−îc dïng ®Ó thùc thi mäi c©u lÖnh sql.

Ta t¹o ®èi t−îng Statement tõ kÕt nèi connStatement stmt =null;stmt = conn.createStatement();

C¸c c©u lÖnh sql cã thÓ ®−îc thùc hiÖn tøc th× th«ng qua ®èi t−îng Statement, cã thÓ lµ mét c©u lÖnh biªn dÞch tr−íc (®èi t−îng PreparedStatement) hay cã thÓ lµ mét lÖnh gäi c¸c thñ tôc cµi s½n (store procedure) trong CSDL (®èi t−îng CallableStatement).

Java Server PagesJava Server Pages

Page 200: Tai lieu Thiet ke Web toan tap

VI. Ph−¬ng Thøc Truy XuÊt CSDL B»ng JSP :2. Ph−¬ng Thøc Truy XuÊt CSDL B»ng Jsp

2.2 Thùc hiÖn c¸c lÖnh :

rs=stmt.executeQuery(sql);hoÆc : rs=stmt.executeUpdate(sql);

C¸c c©u lÖnh sql cã thÓ thùc hiÖn th«ng qua :+ ph−¬ng thøc executeQuery() -nÕu kÕt qu¶ lµ mét

®èi t−îng ResultSet+ ph−¬ng thøc executeUpdate()-nÕu kÕt qu¶ lµ mét

sè nguyªn cho biÕt tæng sè c¸c dßng d÷ liÖu chÞu t¸c dông cña c©u lÖnh võa thùc hiÖn.

Java Server PagesJava Server Pages

Page 201: Tai lieu Thiet ke Web toan tap

VI. Ph−¬ng Thøc Truy XuÊt CSDL B»ng JSP :

3. §o¹n lÖnh dïng JSP truy cËp d÷ liÖu trªn Server

// N¹p tr×nh ®iÒu khiÓn JDBCString drivername=�sun.jdbc.odbc.JdbcOdbcDriver�;Class.forName(drivername).newInstance();

// Th«ng tin kÕt nèi JDBC-ODBCString url=�jdbc:odbc:Database_Name�;String username=��; String password=��;

Java Server PagesJava Server Pages

Page 202: Tai lieu Thiet ke Web toan tap

VI. Ph−¬ng Thøc Truy XuÊt CSDL B»ng JSP :3. §o¹n lÖnh dïng JSP truy cËp d÷ liÖu trªn server

Connection con=null; // Thùc hiÖn kÕt nèicon=DriverManager.getConnection(url, username, password);

Statement stmt=null;stmt=con.createStatement();// Thùc thi c©u lÖnh truy vÊn vµ nhËn kÕt qu¶ tr¶ vÒResultSet rs=null;// T¹o c©u lÖnh truy vÊnString sql=”select * from TABLE_NAME”;rs=stmt.executeQuery(sql);

Java Server PagesJava Server Pages

Page 203: Tai lieu Thiet ke Web toan tap

I. CÊu H×nh Tr×nh Chñ Web Server 1. Giíi thiÖu vÒ Jrun + §Ó nghiªn cøu vÒ JSP tr−íc tiªn ph¶i cã tr×nh chñ Web Server “hiÓu Java”. Tr×nh chñ ®ã ph¶i cã kh¶ n¨ng th«ng dÞch vµ gäi thùc thi ®−îc c¸c ®¬n thÓJava theo ®Æc t¶ cña Sun.+ MÆc dï hiÖn nay cã rÊt nhiÒu tr×nh chñ Web dµnh cho Java nh− Java Web Server, TomCat, IPLanet, Jrun,...Nh−ng do Jrun viÕt b»ng Java nªn b¹n cã thÓ sö dông vµ cµi ®Æt Jrun c¶ trªn m«i tr−êng Linux lÉn Unix. + Tr×nh Jrun cung cÊp kh¶ n¨ng triÖu gäi m· Java th«ng qua Servlet. Jrun cung cÊp cho ta hai dÞch vô Web ho¹t ®éng trªn hai cæng:

- Cæng 8100 lµ dÞch vô Web th«ng th−êng vµ cæng 8000 lµ dÞch vô Web phôc vô cho cÊu h×nh tr×nh chñ.Còng nh− nh÷ng Web server kh¸c, t×m hiÓu Jrun bao gåm c¸c b−íc sau:

- Cµi ®Æt tr×nh chñ Jrun.- CÊu h×nh kÕt nèi víi c¸c Web server kh¸c.- Qu¶n trÞ Jrun.- T×m hiÓu c¸c file quan träng cña Jrun.

ChƯƠNG ChƯƠNG 5: C5: CµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB NH WEB SERVERSERVER

Page 204: Tai lieu Thiet ke Web toan tap

I. CÊu H×nh Tr×nh Chñ Web Server2. Cµi ®Æt Jrun

2.1. Cµi ®Æt JDK1.3+ Tr−íc khi cµi ®Æt tr×nh chñ Jrun Web Server ta ph¶i cµi ®Æt

JDK1.3. Ta sö dông gãi cµi ®Æt j2sdk1_3_0-win.exe gi¶i nÐn. MÆc ®Þnh JDK cña Java sÏ ®−îc cµi vµo th− môc C:\Jdk1.3. Khi Jrun yªu cÇu chØ®Þnh th− môc cµi ®Æt JDK ta h·y chØ ®−êng dÉn ®Õn th− môc ®ã.

2.2. Cµi ®Æt Jrun Web Server+ Yªu cÇu vÒ phÇn cøng vµ phÇn mÒm :

- 32 MB Ram - 20 MB dung l−îng ®Üa cøng- HÖ ®iÒu hµnh : Windows9x hay NT/2000, Unix vµ Linux.- Sö dông tr×nh duyÖt Netscape hay Internet Explorer- M«i tr−êng m¸y ¶o JRE (Java Runtime Environment)- JDK

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

Page 205: Tai lieu Thiet ke Web toan tap

I. CÊu H×nh Tr×nh Chñ Web Server2. Cµi ®Æt Jrun

2.3. CÊu tróc th− môc cña JrunTh− môc Néi dung/bin Chøa c¸c tËp tin ch−¬ng tr×nh cña Jrun/connectors Chøa c¸c tËp tin Web server kÕt nèi /docs Chøa c¸c trang tµi liÖu html h−íng dÉn sö dông/lib Chøa c¸c tËp tin th− viÖn .jar/lib/ext Chøa c¸c tËp tin .jar gåm servlet.jar & ejb.jar /logs Chøa c¸c tËp tin log cña Jrun/samples Chøa c¸c trang jsp vµ servlet mÉu /servers Chøa c¸c øng dông Web cña Jrun/servers/lib Chøa c¸c tËp tin .jar vµ c¸c líp ®èi t−îng .class/servlets Chøa c¸c tËp tin .class cña servlet truy cËp /uninst Th«ng tin vÒ th¸o bá cµi ®Æt cña Jrun

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

Page 206: Tai lieu Thiet ke Web toan tap

I. CÊu H×nh Tr×nh Chñ Web Server3. Cöa sæ ®iÒu khiÓn (Jrun Management Console)

Jrun Management Console lµ mét øng dông Web nh»m gióp cho thao t¸c trªn giao diÖn Web ®Ó cÊu h×nh Jrun. §Ó dïng JMC nh− mét ng−êi qu¶n trÞ Web Server, ta cã thÓ thùc hiÖn theo c¸c b−íc sau:

NhËp ®Þa chØ URL : http://local:8000+ Chän Start -> Program -> Jrun3.1 -> Jrun Admin Server+ Chän Start -> Program -> Jrun3.1 -> Jrun Management Console

NÕu thµnh c«ng Jrun sÏ hiÓn thÞ mµn h×nh ®¨ng nhËp (login) yªu cÇu b¹n cung cÊp tµi kho¶n ng−êi dïng (username) vµ mËt khÈu (password) ®Ó ®¨ng nhËp vµo phÇn qu¶n trÞ (Administrator) cña tr×nh chñ.

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

Page 207: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

I. CÊu H×nh Tr×nh Chñ Web Server3. Cöa sæ ®iÒu khiÓn (Jrun Management Console)

.

Page 208: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERI. CÊu H×nh Tr×nh Chñ Web Server

3. Cöa sæ ®iÒu khiÓn (Jrun Management Console)

Sau khi ®¨ng nhËp, c¸c th«ng tin qu¶n trÞ sÏ hiÓn thÞ

H×nh -2 Trang cÊu h×nh qu¶n trÞ cña Jrun

Page 209: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

I. CÊu H×nh Tr×nh Chñ Web Server3. Cöa sæ ®iÒu khiÓn (Jrun Management Console)

Sau khi ®¨ng nhËp, c¸c th«ng tin qu¶n trÞ sÏ hiÓn thÞ

Page 210: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

I. CÊu H×nh Tr×nh Chñ Web Server3.1 CÊu h×nh qu¶n trÞ Web ServerTh−êng b¹n sö dông trang qu¶n trÞ ®Ó qu¶n lý, khëi ®éng, thay ®æitham sè cho tr×nh chñ Default Web Server phôc vô øng dông Web.

3.1.1 CÊu h×nh Jrun Default Web Server Ta chØ cÇn cÊu h×nh theo c¸c th«ng tin sau :

+ Web Server Address *+ Client IP filter *+ Web Server Port 8100+ Ide threed timeout 300+ Minimum threed count 1+ Maximum active request 100+ Maximum concurrent request 100+ Jrun Web Server on

Page 211: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

I. CÊu H×nh Tr×nh Chñ Web Server 3.1 CÊu h×nh qu¶n trÞ Web Server

3.1.2 Tù t¹o mét Web Server + Ngoµi Jrun Default Server, b¹n cã thÓ tù t¹o mét Web

Server kh¸c cho riªng m×nh

L−u ý : trªn mét m¸y cã thÓ cã nhiÒu Web Server ch¹y cïng mét lóc miÔn sao chóng ®−îc cÊu h×nh víi sè hiÖu cæng kh¸c nhau.

+ §Ó t¹o Web Server kh¸c, b¹n chän nh¸nh gèc bªn khung trang tr¸i. NhÊn nót Add a server bªn khung trang ph¶i vµ ®Æt tªn cho Web Server còng nh− c¸c th«ng tin cÊu h×nh kh¸c mµ Jrun yªu cÇu

Page 212: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

I. CÊu H×nh Tr×nh Chñ Web Server3.1 CÊu h×nh qu¶n trÞ Web Server

3.1.2 Tù t¹o mét Web Server cña riªng b¹n

Page 213: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

I. CÊu H×nh Tr×nh Chñ Web Server3.2 CÊu h×nh vµ t¹o øng dông Web (Web Application)

3.2.1 T¹o míi øng dông WebTh«ng th−êng khi t¹o mét øng dông Web, ta cÇn ph¶i

cÊu h×nh øng dông nµy trong Jrun Web Server. §Ó t¹o mét øng dông trªn Web Server cña Jrun, ta chØ cÇn theo c¸c b−íc sau:

+ Tr−íc khi cÊu h×nh Jrun, ta cÇn chó ý ®Þa chØ IP cña m¸y chñ n¬i Jrun ®ang ch¹y. NÕu kh«ng kÕt nèi m¹ng, ta cã thÓ sö dông localhost hay 127.0.0.1 lµ ®Þa chØ IP côc bé cña mçi m¸y.

Page 214: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

I. CÊu H×nh Tr×nh Chñ Web Server3.2 CÊu h×nh vµ t¹o øng dông Web (Web Application)

3.2.1 T¹o míi øng dông Web+ Chän Jrun Web Server (Admin Server hay Default Server)

+ BÊm vµo link Create Application

+ Chän Jrun Addmin Server hay Jrun Default Server.

+ NhËp tªn cña øng dông. VÝ dô : DATN

+ NhËp vµo ®Þa chØ gèc URL cho øng dông.

+ Chän th− môc mµ ta ®Æt c¸c trang JSP cña øng dông.

VÝ dô: C:/DATN/Jsp lµ th− môc chøa c¸c trang JSP cña øng dông.

+ Sau khi ®iÒn th«ng tin ta nhÊn nót Create.

+ TiÕp ®Õn ta khëi ®éng l¹i Web Server t−¬ng øng víi tªn mµ ta dïng ®Ó t¹o øngdông(Jrun Default Server).

+ Cuèi cïng ta thö trªn mµn h×nh Browser cña tr×nh duyÖt b»ng c¸ch gâ vµo ®Þa chØURL nh− sau : http://localhost:8100/DATN/Jsp/index.jsp

Page 215: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVER

I. CÊu H×nh Tr×nh Chñ Web Server3.2 CÊu h×nh vµ t¹o øng dông Web (Web Application)

3.2.1 T¹o míi øng dông Web

Page 216: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERI. CÊu H×nh Tr×nh Chñ Web Server

3.2 CÊu h×nh vµ t¹o øng dông Web (Web Application)

3.2.2 Xãa mét øng dông WebDo nhu cÇu sö dông ®«i khi b¹n t¹o ra mét øng dông web,

nh−ng cã thÓ sau mét thêi gian sö dông b¹n kh«ng cÇn dïng ®Õn nãn÷a, ta cã thÓ xãa nã ®i. §Ó xãa mét øng dông web:

+ Chän Web Application tõ mµn h×nh qu¶n trÞ cña Jrun

+ TiÕp ®Õn chän Web Application. Jrun sÏ hiÓn thÞ danh s¸ch c¸cøng dông ta ®· ®¨ng ký hoÆc t¹o ra tr−íc ®ã.

+ §Ó lo¹i bá øng dông Web, ta chän môc Remove Application.

+ Khi Jrun hiÓn thÞ danh s¸ch c¸c ®Ò môc cÇn xãa, b¹n chän tªncña øng dông råi chän Remove.

+ §Ó Jrun nhËn ra øng dông ®· bÞ xãa hoµn toµn, cÇn khëi ®éngl¹i tr×nh chñ Jrun Web Server.

Page 217: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERI. CÊu H×nh Tr×nh Chñ Web Server

3.2 CÊu h×nh vµ t¹o øng dông Web (Web Application)3.2.2 Xãa mét øng dông Web

Page 218: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERI. CÊu H×nh Tr×nh Chñ Web Server

3.2 CÊu h×nh vµ t¹o øng dông Web (Web Application) 3.2.3 CËp nhËt mét øng dông Web

Sau khi t¹o ra mét øng dông Web nÕu cÇn bæ sung hoÆc thay®æi, ta cã thÓ cËp nhËt l¹i néi dung øng dông theo c¸c b−íc sau:

+ Chän Web Application tõ mµn h×nh qu¶n trÞ cña Jrun Web Server.

+ Jrun sÏ hiÓn thÞ danh s¸ch c¸c øng dông ®· ®¨ng ký tr−íc ®ã.+ Chän môc Edit Application.+ Khi Jrun hiÓn thÞ danh s¸ch øng dông, ta cÇn chän lÊy øng

dông muèn cËp nhËt.+ Th«ng tin øng dông sÏ hiÖn ra ®Ó ta bæ sung hoÆc söa ®æi.+ CÇn ph¶i khëi ®éng l¹i tr×nh chñ Jrun Web Server.

Page 219: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERI. CÊu H×nh Tr×nh Chñ Web Server

3.2 CÊu h×nh vµ t¹o øng dông Web (Web Application) 3.2.3 CËp nhËt mét øng dông Web

Page 220: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERI. CÊu H×nh Tr×nh Chñ Web Server

4. T¹o vµ qu¶n lý user trong Jrun Web Server§èi víi Jrun Web Server ta cã thÓ t¹o ra mét sè thµnh

viªn giíi h¹n cho phÐp truy cËp tr×nh chñ Web Server. Ta cã thÓ thùc hiÖn theo c¸c b−íc sau :

+ Chän môc manage JMC users tõ trang qu¶n trÞ cñaJrun.

+ NhËp tªn user vµ password cña thµnh viªn ®ã. MçilÇn ta chØ cÇn ®¨ng ký cho hai thµnh viªn.

+ Ta chän nót Update JMC Uesrs ®Ó cËp nhËt user vµoc¬ së d÷ liÖu cña Jrun.

Page 221: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERI. CÊu H×nh Tr×nh Chñ Web Server

4. T¹o vµ qu¶n lý user trong Jrun Web Server

Page 222: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERI. CÊu H×nh Tr×nh Chñ Web Server

5. KiÓm tra lçi th«ng qua Log FilesTh«ng th−êng bÊt kú lçi nµo x¶y ra ®èi víi Jrun ®Òu ®−îc l−u vµo file logs.

Nh÷ng file logs nµy n»m trong th− môc [Jrun_Home]\logs.

Mçi file log l−u l¹i nh÷ng sù kiÖn vµ lçi ph¸t sinh kh¸c nhau. Th«ngth−êng cã 3 file log sau :

+ default-err.log : file nµy l−u l¹i nh÷ng lçi cña Jrun x¶y ra trong qu¸ tr×nhdÞch

+ default-even.log : l−u l¹i nh÷ng lçi trong qu¸ tr×nh thùc hiÖn truy xuÊt tµinguyªn cña Java.

+ default-out.log : l−u l¹i nh÷ng lçi liªn quan ®Õn m«i tr−êng bªn ngoµi. VÝ dô : Khi b¹n göi th«ng tin ®Õn mét ®Þa chØ kh«ng cã th× lçi sÏ ®−îc ghi vµodefault-out.log.

Tãm l¹i : §Ó theo dâi qu¸ tr×nh lµm viÖc cña Jrun, ta cã thÓ dùa vµo néi dung cña file log. File log lµ n¬i gióp ta ph¸t hiÖn vµ kh¾c phôc nh÷ng lçi ngo¹i lÖ cñahÖ thèng

Page 223: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERII. X©y Dùng C¬ ChÕ Connection Poll

1. Giíi thiÖu :+ Nhu cÇu vÒ kÕt nèi c¬ së d÷ liÖu trung t©m ®Ó truy vÊn d÷ liÖu

trong c¸c øng dông cña Web ngµy cµng t¨ng.

+ C¸c hÖ c¬ së d÷ liÖu ph¶i tiªu tèn rÊt nhiÒu tµi nguyªn ®Ó duytr× liªn tôc kÕt nèi trong qu¸ tr×nh truy vÊn.

+ Ta chØ nªn më kÕt nèi truy vÊn ®Õn c¬ së d÷ liÖu chØ khi nµothËt sù cÇn thiÕt. Mét khi ®· hoµn tÊt truy xuÊt, b¹n ph¶i tr¶ l¹i kÕtnèi cho ng−êi dïng kh¸c truy cËp. MÆc dï vËy, mçi mét kÕt nèi ®Õnc¬ së d÷ liÖu ®Òu ph¶i ®ßi hái cã thêi gian thiÕt lËp, ph©n bæ tµinguyªn,...

+ C¸c tr×nh chñ Web server ®−a ra c¬ chÕ POLL cho phÐp c¸cyªu cÇu vÒ kÕt nèi ®Õn c¬ së d÷ liÖu chØ ®−îc më mét lÇn vµ dïngchung bëi c¸c trang JSP víi nhau.

Page 224: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERII. X©y Dùng C¬ ChÕ Connection Poll

1. Giíi thiÖu :+ V× vËy, c¸c yªu cÇu vÒ truy vÊn d÷ liÖu th−êng chØ diÔn ra trong

thêi gian ng¾n

+ Nh÷ng trang JSP tr−íc khi truy xuÊt d÷ liÖu sÏ yªu cÇu hÖ thèngcung cÊp mét kÕt nèi, hÖ thèng sÏ kiÓm tra xem kÕt nèi ®· ®−îc thiÕtlËp hay ch−a. NÕu ch−a cã hÖ thèng sÏ t¹o mét kÕt nèi cung cÊp chotrang JSP sö dông.

+ Trang JSP sau khi sö dông xong kh«ng ®ãng kÕt nèi mµ tr¶ l¹i kÕt nèi cho hÖ thèng. HÖ thèng sÏ l−u kÕt nèi trë l¹i ng¨n xÕp hoÆchµng ®îi.

+ Trong lêi triÖu gäi trang JSP ë phiªn lµm viÖc kh¸c, nÕu cÇn ®Õntruy xuÊt c¬ së d÷ liÖu, hÖ thèng sÏ cung cÊp kÕt nèi ®· cã tr−íc ®ã mµkh«ng cÇn sö dông tµi nguyªn cña hÖ thèng t¹o l¹i kÕt nèi.

Page 225: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERII. X©y Dùng C¬ ChÕ Connection Poll

1. Giíi thiÖu :Ta sÏ cµi ®Æt mét hÖ thèng nh− vËy cho c¬ chÕ Pool (c¬ chÕ chia sÎ kÕt nèi). Tr−íc

hÕt hÖ thèng cña ta cÇn hç trî hai ph−¬ng thøc chÝnh cho yªu cÇu kÕt nèi ®ã lµ cung cÊpkÕt nèi (getConnection()) vµ nhËn l¹i kÕt nèi khi trang JSP ®· sö dông(releaseConnection()). Khai b¸o giao tiÕp interface mang tªn IconnectionPool sÏ cungcÊp th«ng tin nµy.

// Interface ®Þnh nghÜa c¸c ph−¬ng thøc c¬ b¶n cung cÊp vµ chia sÎ kÕt nèi

public interface IconnectionPool

{ public Connection getConnection() throws SQLException;

public void releaseConnection(Connectionconn) throws SQLException;

}

Ta h×nh dung Poll t−¬ng tù cµi ®Æt cña ng¨n xÕp hoÆc hµng ®îi dïng ®Ó l−u tr÷ c¸c phÇntö cho môc ®Ých sö dông l¹i. Pool kh«ng ®ßi hái thø tù lÊy ra cña c¸c phÇn tö. C¸c phÇntö l−u trong Pool th−êng lµ ®èi t−îng Connection cã thÓ lÊy ra ngÉu nhiªn hoÆc tuÇn tù.

Page 226: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERII. X©y Dùng C¬ ChÕ Connection Poll

2. C¬ ChÕ Pool Hç Trî Bëi Web Server+ HiÖn nay hÇu hÕt c¸c tr×nh chñ Web server ®Òu cung cÊp s½n c¬

chÕ Pool gäi lµ Data Source.

+ ViÖc qu¶n lý vµ ®iÒu hµnh Pool sÏ do tr×nh chñ Web server ®¶m nhiÖm vµ b¹n chØ cÇn cung cÊp cho tr×nh chñ nh÷ng th«ng tin t¹o Pool lµ ®ñ.

+ Chóng ta sÏ cÊu h×nh vµ sö dông c¬ chÕ Pool hç trî bëi tr×nh chñJrun. Tr−íc hÕt ta më trang http://localhost:8100/ ®Ó vµo trang qu¶n trÞcña Jrun. TiÕp ®Õn ta chän Default Jrun Server\JDBC Data Source. NhÊn nót Add trang cung cÊp th«ng tin ®Ó cÊu h×nh cho DataSourcehiÓn thÞ nh− sau :

Page 227: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERII. X©y Dùng C¬ ChÕ Connection Poll

2. C¬ ChÕ Pool Hç Trî Bëi Web Server

Page 228: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERII. X©y Dùng C¬ ChÕ Connection Poll

2. C¬ ChÕ Pool Hç Trî Bëi Web Server+ Jrun cho phÐp sö dông nhiÒu lo¹i kÕt nèi JDBC.Trong tr−êng hîp

nµy ta chän môc danh s¸ch JDBC to ODBC Bridge. Môc Data Source Name ta gâ vµo tªn CSDL nguån. §©y lµ sÏ chuçi ®−îc dïng ®Ó thamchiÕu ®Õn Pool sau nµy.

Page 229: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERII. X©y Dùng C¬ ChÕ Connection Poll

2. C¬ ChÕ Pool Hç Trî Bëi Web ServerTiÕp tôc ta nhËp vµo c¸c th«ng tin liªn quan ®Õn chuçi kÕt nèi c¬ së d÷liÖu.

Page 230: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERII. X©y Dùng C¬ ChÕ Connection Poll

2. C¬ ChÕ Pool Hç Trî Bëi Web ServerTiÕp tôc nhÊn Next Jrun sÏ hoµn tÊt nh÷ng thao t¸c cßn l¹i.

Page 231: Tai lieu Thiet ke Web toan tap

CCµµI I ®Æ®ÆT VT Vµµ CÊU HCÊU H××NH WEB SERVERNH WEB SERVERII. X©y Dùng C¬ ChÕ Connection Poll

2. C¬ ChÕ Pool Hç Trî Bëi Web Server

Page 232: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPI. Giíi thiÖu vÒ PHP

1. Giíi thiÖu

+ PHP (Personal Home Page) là một kịch b¶ntrªn Server (Server Script)

+ Lµ mét m«i tr−êng lËp tr×nh cung cÊp cho viÖckÕt hîp HTML, ng«n ng÷ kÞch b¶n (Scripting) nh−Javacript, vµ c¸c thµnh phÇn ®−îc viÕt trong c¸cng«n ng÷ nh»m t¹o ra mét øng dông Internet m¹nh mÏ vµ hoµn chØnh.

+ PHP lµ mét phÇn mÒm m· nguån më (Open Source)

Page 233: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPI. Giíi thiÖu vÒ PHP

2. PHP file lµ g×?+ File ®−îc t¹o víi phÇn më réng .PHP. Trong

file nµy chøa c¸c thÎ HTML, c¸c kÞch b¶nScripting nh− JavaScript.

+ Khi cÇn söa ®æi c¸c file PHP ta chØ cÇn ghi l¹i trªn server th«i. Vµo nh−ng lÇn sau khi trang PHP ®−îc gäi, c¸c Script trong file PHP tù ®éng biªndÞch l¹i.

+ CÊu tróc m· gÇn gièng ng«n ng÷ lËp tr×nh C

Page 234: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPI. Giíi thiÖu vÒ PHP

3. C¸ch thøc lµm viÖc cña trang PHP+ Trang HTML tÜnh:

Page 235: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPI. Giíi thiÖu vÒ PHP

3. C¸ch thøc lµm viÖc cña trang PHP+ Trang PHP :

Page 236: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPI. Giíi thiÖu vÒ PHP

4. Web Server Apache thùc thi trang PHP

+ Web, vÒ c¬ b¶n thùc sù lµ mét hÖ thèng c¸c yªu cÇu (Request) vµ c¸c ®¸p øng (Response).

+ Webserver ph¶n håi l¹i c¸c yªu cÇu ®ßi th«ng tin cña Web Browser. Nã l¾ng nghe c¸c yªu cÇu ®ã tõphÝa Users trªn mét m¹ng sö dông WWW.

Page 237: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPII. C¸ch x©y dùng Web b»ng PHP

1. Nhóng PHP vµo HTML

Cã 4 c¸ch ®Ó nhóng m· PHP vµo trong HTML :

+ Dïng cÆp thÎ <? ….. ?>

+ Dïng <?php ….?>

+ Dïng <Script language = “php” >

……</script>

+ Dïng <% …. %>

Page 238: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPII. C¸ch x©y dùng Web b»ng PHP

1. Nhóng PHP vµo HTML

Ví dụ 1: Lưu file sau lên đĩa với tên vd.php<html>

<head><title>Testing page</title>

</head> <body><?php echo "Hello you!"; ?></body>

</html>

Page 239: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPII. C¸ch x©y dùng Web b»ng PHP

2. Một số chú ý khi bắt đầu lập trình PHPa. Lệnh echo : Lệnh này dùng để xuất 1 chuỗi văn bản về cho trình

duyệt.Ví dụ: Câu lệnh echo "Hello, world!"; trìnhduyệt sẽ nhận được chuỗi văn bản Hello, world!.

Câu lệnh echo 1+2; sẽ trả về cho trình duyệt chuỗivăn bản 3.

Và câu lệnh echo 5+2, "Hello world!"; sẽ trả vềtrình duyệt chuỗi 7Hello world!.

Page 240: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPII. C¸ch x©y dùng Web b»ng PHP

2. Một số chú ý khi bắt đầu lập trình PHPb. Phân cách các lệnh bằng dấu chấm phảy (;)Tương tự như các ngôn ngữ lập trình khác, một câu

lệnh của PHP được kết thúc bằng dấu chấm phảy (;)Ví dụ: echo 1+2; echo "Hello, world!";

c. Chú thích trong chương trình- Chú thích 1 dòng được bắt đầu bằng // hoặc #, và

những gì được ghi từ đó về sau là chú thích.- Chú thích nhiều dòng được bắt đầu bằng /* và kết

thúc bằng */, những gì ở giữa là chú thích.

Page 241: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPII. C¸ch x©y dùng Web b»ng PHP

2. Một số chú ý khi bắt đầu lập trình PHPc. Chú thích trong chương trình

Ví dụ:<?php

//Đây là chú thích 1 dòng#Đây cũng là chú thích 1 dòng

/* Đây là chú thích nhiều dòng Đoạn chương trìnhsau sẽ in ra chuỗi abc123 */

echo "abc123"; ?>

Page 242: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : PHP hỗ trợ 8 kiểu dữ liệu chính:

+ 4 kiểu dữ liệu vô hướng: boolean, integer, float (double), string.

+ 2 kiểu dữ liệu tổ hợp: array, object. + 2 kiểu dữ liệu đặc biệt : resource, NULL.

Page 243: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : + Kiểu Boolean : mang 1 trong 2 giá trị TRUE (đúng) hoặc FALSE (sai). Ví dụ: <?php $a = TRUE; $b = FALSE; //phép toán == kiểm tra xem 2 biểu thức

$c = (7==2); //vì 7 khác 2 nên $c mang giá trị FALSE

$d = ("abc" == “abc"); //$d mang giá trị TRUE ?> ?>

Page 244: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : + Kiểu Integer : - Mang các giá trị số nguyên ..., -2, -1, 0, 1, 2,...- Trên hầu hết các hệ thống, kiểu số nguyên có kích

thước 32 bit, mang giá trị từ -2147483647 cho đến2147483648. Ví dụ:

<?php $a = 1234; $b = -123; $c = 0123; ?>

Page 245: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : + Kiểu Float (Double) : là kiểu số thực, có thể

mang bất cứ giá trị số thực nào. Trên hầu hết các hệthống, kiểu số thực có kích thước 64 bit.

Ví dụ: <?php $a = 1.234; $b = 1.2e3; //= 1.2*10^3 = 1200 $c = 7E-10; //= 7*(10^-10) = 0.0000000007 $d = -1.23;

?>

Page 246: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : + Kiểu String : lưu giữ 1 chuỗi ký tự, mỗi ký tự có

kích thước 1 byte. Nội dung string được đặt giữa 2 dấu nháy, nháy đơn (') hoặc nháy kép (").

Ví dụ: <?php $a = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn'; $b = "Đây là 1 chuỗi được đặt giữa dấu nháy kép"; $c = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn với "vài

dấu nháy kép ở giữa"'; $d = "chuỗi đặt giữa dấu nháy kép với 'vài dấu nháy đơn '";?>

Page 247: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : + Nếu muốn sử dụng dấu nháy đơn trong 1 chuỗi được bọc

bởi dấu nháy đơn, hoặc sử dụng dấu nháy kép đặt giữa chuỗi được bọc bởi dấu nháy kép thì để thêm ký tự \ (ký tự escape) ởphía trước. Ví dụ: <?php $a = 'Dấu \'nháy đơn\' ở giữa chuỗi';

//$a mang giá trị: Dấu 'nháy đơn' ở giữa chuỗi$b = "Dấu \"nháy kép\" ở giữa chuỗi";

//$b mang giá trị: Dấu "nháy kép" ở giữa chuỗi $c = "Dùng ký tự \\ ở giữa câu \\ thì sao?";

//$c mang giá trị: Dùng ký tự \ ở giữa câu \ thì sao?

Page 248: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : - Một số chuỗi ký tự escape đặc biệt:

+ \n: ký tự xuống hàng LF (ký tự có mã 10 trong bảng mã ASCII)

+ \r: ký tự về đầu dòng CR (ký tự có mã 13 trong bảng mã ASCII)

+ \t: ký tự tab (ký tự có mã 9 trong bảng mã ASCII)

+ \$: ký tự $

Page 249: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : - Ngoài ra, nếu để 1 biến vào giữa 1 chuỗi được bọc

với dấu nháy kép, giá trị của biến sẽ được thay thếvào trong chuỗi. Ví dụ: <?php $a = 1;

$b = 2; $c = 3; $d = "$a $b $c";

//$d sẽ mang giá trị là chuỗi "1 2 3" ?>

Page 250: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : + Kiểu Array : Array là một mảng gồm nhiều phần

tử. Array được tạo qua lệnh Array. Ví dụ:<?php $a = Array(1,2,3);

echo $a[0]; //in ra giá trị 1 echo $a[2]; //in ra giá trị 3 $a[1] = 5; //giờ đây $a = Array(1,5,3)

?>

Page 251: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : - Mảng còn có thể được tạo thành bởi các cặp (khoá, giá trị).

Ví dụ: <?php $a = Array(

"khoá 1" => "giá trị 1", "khoá 2" => "giá trị 2", "khoá 3" => "giá trị 3" ); echo $a["khoá 1"]; //in ra: giá trị 1

?>

Page 252: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

1. Kiểu dữ liệu : + Kiểu NULL : Đây là 1 giá trị đặt biệc, báo choPHP biết rằng 1 biến nào đó chưa/không mang giá trịnào

Ví dụ: <?php $a = 1; //$a mang giá trị 1 $a = NULL; //bây giờ $a không mang giá trị$a = 2; //giờ đây $a mang giá trị 2 //hàm unset sẽ làm cho 1 biến có giá trị là NULLunset($a); //lúc này $a lại là NULL

?>

Page 253: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

2. Biến trong PHP :Một biến trong PHP được bắt đầu bằng ký tự $ và đitheo ngay sau đó là tên của biến.

+ Biến trong PHP phân biệt chữ hoa và chữ thường. $Abc và $abc là 2 biến hoàn toàn khác nhau.

+ Tên biến chỉ được bao gồm các ký tự chữ cái (a..zhoặc A...Z), chữ số (0...9) và ký tự gạch dưới (_); nhưng tên biến không được bắt đầu bằng ký tự gạch dưới hoặc chữ số. Ví dụ: $a: biến có tên là a

$abc123: biến có tên là abc123

Page 254: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

2. Biến trong PHP :Ví dụ : Các tên biến sau là không hợp lệ :

$_abc Không hợp lệ! bắt đầu bằng ký tự gạch dưới$1abc Không hợp lệ! bắt đầu bằng chữ số$nguyễn Không hợp lệ! tên biến có ký tự đặc biệt (ễ)

* Tầm vực (scope) của biến : là ngữ cảnh mà ở trong đó biến được định nghĩa.

Ví dụ: <?php $a = 1; //tầm vực của biến $a từ đâyinclude 'b.php'; //trải dài tới bên trong file b.php//tới cuối file vẫn còn hợp lệ?>

Page 255: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

2. Biến trong PHP :Tuy nhiên khi gặp 1 hàm do người dùng định nghĩa,

bên trong hàm, biến cục bộ sẽ được dùng thay vì biếntoàn cục.

Ví dụ: <?php$a = 1; //biến toàn cục //hàm do tự tạofunction test()

{ echo $a; }//end test

?>

Page 256: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

2. Biến trong PHP :Để truy cập tới các biến toàn cục ở bên trong 1 hàm

do người dùng định nghĩa, ta có thể dùng như sau: Cách 1: <?php $a = 1; //biến toàn cục

function test() { //từ khoá global báo cho php biết là bên test

global $a; //bây giờ ta sẽ dùng biến toàn cụcecho $a; //in ra giá trị: 1 } //end test

Page 257: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

2. Biến trong PHP :Để truy cập tới các biến toàn cục ở bên trong 1 hàm

do người dùng định nghĩa, ta có thể dùng như sau: Cách 2: <?php

$a = 1; //biến toàn cụcfunction test() { echo $GLOBALS['a']; //in ra giá trị: 1 } //end test ?>

Page 258: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

3. Biểu thức :+ Biểu thức là nền tảng quan trọng của PHP. Hầu

như mọi thứ bạn ghi trong file php đều là biểu thức. Nói một cách đơn giản, bất cứ cái gì mang 1 giá trịnào đó đều có thể là 1 biểu thức. Ta xét câu lệnh đơngiản sau:

$a = 5;$b = $a;

Tuy nhiên biểu thức trong PHP có thể phức tạp hơnVí dụ: $a = 1; $b = 2; $c = 3; $d = $a + $b + $c;

Page 259: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

4. Toán tử :* Toán tử kết hợp các giá trị hoặc biểu thức lại với nhauvà tạo ra một giá trị mới.

Ví dụ: Trong biểu thức 1+2 thì “+” là toán tử kết hợp hai giátrị 1 và 2 lại với nhau tạo ra giá trị mới là 3.* Các toán tử trong PHP được chia thành 3 nhóm:

- Các toán tử áp dụng trên 1 giá trị, ví dụ như toán tử ++ hoặc --

- Các toán tử kết hợp 2 hoặc nhiều giá trị, ví dụ như toán tử+, -, *, / - Toán tử ?: dùng để chọn 1 trong 2 giá trị

Page 260: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

4. Toán tử :Toán tử Sử dụng Tương tự

+=++-=--*=/=

%=.=

$a+=$b$a++

$a-=$b$a- -

$a*=$b$a/=$b

$a%=$b$a.=$b

$a*=$a+$b$a*=$a+1$a*=$a-$b$a*=$a-1

$a*=$a*$b$a*=$a/$b

$a*=$a%$b$a*=$a.$b

Page 261: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

5. Các phép toán cơ bản :a. Các phép toán số học :

+, -, *, /, % (module)b. Các phép toán về chuỗi : Ta sử dụng dấu . để nối 2 chuỗi.

Ví dụ:<?php $a= “Xin chao”; $b=“ban”;

$a=$a . ”tat ca”;echo $a . $b;

?>

Page 262: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

5. Các phép toán cơ bản :c. Các phép toán so sánh :Phép toán sao sánh dùng để so sánh 2 giá trị, nếu sử dụng để so sánh 2 biểu thức, kết quả trả về là True hay False tùy vào kết quả so sánh.

Toán tử Sử dụng Tương tự==

===!=<><

<=>

>=

$a==$b$a===$b$a!=$b$a<>$b$a<$b

$a<=$b$a>$b

$a>=$b

$a bằng $b$a bằng và cùng kiểu $b

$a khác $b$a khác $b

$a nhỏ hơn $b$a nhỏ hơn hoặc bằng $b

$a lớn hơn $b$a lớn hơn hoặc bằng $b

Page 263: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

5. Các phép toán cơ bản :d. Phép toán logic

! Phép toán phủ định (not)&& Phép toán và (and)| | Phép toán hoặc (or)and Phép toán và (and)or Phép toán hoặc (or).

e. Phép toán ErrorTrong trường hợp biểu thức hay phép toán báo lỗi, nhưng

ta không muốn trình duyệt hiển thị lỗi ta dùng phép toán @trước biểu thức

Page 264: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

5. Các phép toán cơ bản :e. Phép toán Error

Ví dụ:<?php$a=10;$b=0;$c=@($a/$b);echo “Gia tri b = “.$c;?>

Page 265: Tai lieu Thiet ke Web toan tap

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHPIII. Lập trình PHP

6. Biến hàmLà các thư viện hàm trong PHP cho phép thao tác vàkiểm tra biến với nhiều cách khác nhau.Các hàm sau trả về true nếu đúng, ngược lại là sai

- is_array() : Kiểm tra biến có phải kiểu mảng không- is_double: Kiểm tra biến có phải kiểu double không- is_float() : Kiểm tra biến có phải kiểu float không- is_integer() : Kiểm tra biến có phải kiểu int không- is_string() : Kiểm tra biến có phải kiểu chuỗi không- is_object() : Kiểm tra biến có phải kiểu đốI tượng không

Page 266: Tai lieu Thiet ke Web toan tap

CẤU TRÚC ĐIỀU KHIỂNI. Cấu trúc lựa chọn :

1. Câu lệnh ifCú pháp đơn giản nhất của câu lệnh if có dạng như sau:

if ( biểu thức ) câu lệnh;Câu lệnh if trên được diễn giải như sau: nếu

biểu thức trả về giá trị TRUE (hoặc tương đương với TRUE sau khi chuyển đổi) thì câu lệnh sẽ được thực thi; ngược lại (khi biểu thức trả về giá trị FALSE) thì bỏ qua không thực thi câu lệnh nữa.

Page 267: Tai lieu Thiet ke Web toan tap

Cú pháp nâng cao của câu lệnh if có dạng như sau:

if ( biểu thức ) câu lệnh 1; else câu lệnh 2;

Câu lệnh if trên được diễn giải như sau: nếu biểu thức trả về giá trị TRUE thì câu lệnh 1 sẽ được thi hành, ngược lại thì câu lệnh 2 sẽ được thi hành.

Page 268: Tai lieu Thiet ke Web toan tap

Các lệnh if có thể được lồng vào nhau để tạo ra câu lệnh if phức tạp hơn:

if ( biểu thức 1 ) if ( biểu thức 2 ) câu lệnh 1; else câu lệnh 2;

else câu lệnh 3;

Nếu biểu thức 1 trả về giá trị FALSE thì câu lệnh 3 sẽ được thực hiện, ngược lại xét tiếp biểu thức 2: nếu biểu thức 2 trả về giá trị TRUE thì thực hiện câu lệnh 1, ngược lại nếu biểu thức 2 trả về giá trịFALSE thì thực hiện câu lệnh 2.

Page 269: Tai lieu Thiet ke Web toan tap

if ( biểu thức 1 ) câu lệnh 1; else if ( biểu thức 2 ) câu lệnh 2; else if ( biểu thức 3 ) câu lệnh 3; else câu lệnh 4;

Nếu biểu thức 1 trả về TRUE thì thực hiện câu lệnh 1(các câu lệnh 2,3,4 không thực hiện), nếu biểu thức 1 trảvề FALSE và biểu thức 2 trả về TRUE thì câu lệnh 2 được thực hiện, nếu biểu thức 1 trả về FALSEm biểu thức 2 trả về FALSE và biểu thức 3 trả về TRUE thì câu lệnh 3 được thực hiện. Nếu cả 3 biểu thức 1,2,3 đều trả vềFALSE thì thực hiện câu lệnh 4. Ngoài ra PHP còn cung cấp từ khoá elseif, chính là ghép giữa từ khoá else và if.

Page 270: Tai lieu Thiet ke Web toan tap

2. Câu lệnh switchCâu lệnh switch hoạt động như là 1 loạt câu lệnh if ghép lại với nhau. Ta hãy xem câu lệnh if sau: if ( $a == "abc" )

{echo "Giá trị của a là abc"; } elseif ( $a == "def" )

{echo "Giá trị của a là def"; } elseif ( $a == "123" )

{ echo "Giá trị của a là 123"; }else

{ echo "Giá trị khác"; }

Page 271: Tai lieu Thiet ke Web toan tap

2. Câu lệnh switch

<?php switch ($x) { case 1: echo "Number 1";

break; case 2: echo "Number 2";

break; case 3: echo "Number 3";

break; default: echo "No number between 1 and 3";

} ?>

Page 272: Tai lieu Thiet ke Web toan tap

3 câu lệnh if ở trên có thể được viết lại bằng câu lệnh switch như sau: switch ( $a )

{ case "abc" : echo "Giá trị của a là abc"; break;

case "def": echo "Giá trị của a là def"; break;

case "123": echo "Giá trị của a là 123"; break;

default: echo "Giá trị khác"; }

//end switch

Page 273: Tai lieu Thiet ke Web toan tap

CCấấu tru trúúc đic điềều khiu khiểểnn

II. II. CCấấuu trtrúúcc llệệnhnh llặặpp::1. 1. CâuCâu llệệnhnh while :while :

while ( while ( bibiểểuu ththứứcc ) ) câucâu llệệnhnh;;

TrongTrong khikhi bibiểểuu ththứứcc còncòn trtrảả vvềề gigiáá trtrịị TRUE TRUE ththììtitiếếpp ttụụcc ththựựcc hihiệệnn câucâu llệệnhnh, , sausau khikhi ththựựcc hihiệệnn câucâu llệệnhnh ththììkikiểểmm tratra llạạii bibiểểuu ththứứcc, , nnếếuu vvẫẫnn còncòn trtrảả vvềề gigiáá trtrịị TRUE TRUE ththììllạạii titiếếpp ttụụcc ththựựcc hihiệệnn câucâu llệệnhnh......ccứứ titiếếpp ttụụcc nhưnhư vvậậyy chochottớớii khikhi nnààoo bibiểểuu ththứứcc trtrảả vvềề gigiáá trtrịị FALSE FALSE ththìì ngưngngưng..

Page 274: Tai lieu Thiet ke Web toan tap

Ví dụ: In ra các số từ 1 tới 10 với câu lệnh while: <?php $i = 1; while ( $i <= 10 )

{ echo $i, “<br>"; $i++; } //end while?>

Ghi chú: Câu lệnh $i++ tương đương với $i = $i+1;, câu lệnh này sẽ tăng giá trị của $i lên 1 qua mỗi lần lặp.

Page 275: Tai lieu Thiet ke Web toan tap

2. Câu lệnh do-whileCâu lệnh do-while cũng tương tự như câu lệnh while, chỉ khác một điểm là câu lệnh được thực hiện trước rồi biểu thức mới được kiểm tra sau, nếu biểu thức còn trả về giá trị TRUE thì tiếp tục thực hiện câu lệnh. Cú pháp của câu lệnh do-while như sau:

do { câu lệnh; }

while ( biểu thức );

Page 276: Tai lieu Thiet ke Web toan tap

Ví dụ:In ra các số từ 1 tới 10 với câu lệnh do-while:

<?php $i = 1; do { echo $i, “<br>"; $i++; }

while ( $i <= 10 ); ?>

Page 277: Tai lieu Thiet ke Web toan tap

3. Câu lệnh forCâu lệnh for cũng dùng để tạo vòng lặp. Đây làmột trong những câu lệnh phức tạp nhất của PHP, cú pháp của nó như sau: for ( biểu thức 1; biểu thức 2; biểu thức 3 )

câu lệnh;Đầu tiên biểu thức 1 được thực hiện, Tiếp theo biểu

thức 2 được kiểm tra Nếu trả về TRUE thì câu lệnh được thực hiện và sau đó thực hiện biểu thức 3. Nếu trả về FALSE thì kết thúc câu lệnh for.Kiểm tra lại biểu thức 2 và lặp lại quátrình như trên.

Page 278: Tai lieu Thiet ke Web toan tap

Ví dụ:In ra các số từ 1 tới 10 với câu lệnh for:

<?php for ( $i = 0; $i < 10; $i++ ) { echo $i, “<br>"; } //end for

?>

Page 279: Tai lieu Thiet ke Web toan tap

4. Câu lệnh foreachCâu lệnh foreach chỉ làm việc với array. Câu lệnh foreach có 2 dạng cú pháp như sau:

foreach ( $array as $value ) câu lệnh;

foreach ( $array as $key => $value ) câu lệnh;

Page 280: Tai lieu Thiet ke Web toan tap

Ví dụ 1:<?php

$a = array('a' => ‘1’, 'b' => '2', 'c' => '3'); foreach ( $a as $value )

{ echo $value, "\n"; } //end foreach

?>Chương trình trên sẽ in ra 3 số 1, 2 và 3.

Page 281: Tai lieu Thiet ke Web toan tap

Ví dụ 2:

<?php$a = array('a' => ‘1’, 'b' => '2', 'c' => '3'); foreach ( $a as $key => $value )

{ echo $key, "=", $value, "\n"; } //end foreach

?>

Chương trình trên sẽ in ra 3 chuỗi a=1, b=2 và c=3.

Page 282: Tai lieu Thiet ke Web toan tap

5. Câu lệnh breakCâu lệnh break sẽ dừng việc thực thi của các vòng lặp for, foreach, while, do-while và switch. Ởphần trước ta đã thấy câu lệnh break được sử dụng trong câu lệnh switch.

Ví dụ: sử dụng câu lệnh break trong vòng lặp for: for ( $i=1; $i<=10; $i++ )

{ echo $i; if ( $i == 5 ) break; }

Page 283: Tai lieu Thiet ke Web toan tap

6. Câu lệnh continueCâu lệnh continue áp dụng lên các vòng lặp, lệnh continue sẽ bỏ qua lần lặp hiện thời và tiếp tục thực hiện các lần lặp tiếp theo.

Ví dụ: for ( $i=1; $i<=5; $i++ )

{ if ( $i == 2 ) continue; echo $i; }

Khi $i đạt giá trị 2, câu lệnh echo $i; sẽ được bỏqua không thì hành nữa do câu lệnh continue. Và như vậy, đoạn lệnh trên khi chạy sẽ in ra các giátrị 1,3,4,5 (không có giá trị 2).

Page 284: Tai lieu Thiet ke Web toan tap

HÀM1. Định nghĩa :

Trong lập trình, có một số đoạn mã được dùng nhiều lần ở nhiều nơi khác nhau trong chương trình.

PHP cung cấp một giải pháp đó là hàm do người dùng định nghĩa. Ta có thể đưa đoạn mã đóvào trong 1 hàm, và ở chỗ nào cần dùng đoạn mã đó ta chỉ cần gọi hàm, khi cần sửa đổi, ta chỉ cần sửa đổi 1 chỗ duy nhất là nội dung của hàm chứkhông cần phải sửa ở nhiều nơi trong chương trình.

Page 285: Tai lieu Thiet ke Web toan tap

Cú pháp để tạo hàm như sau:

function tênHàm($tham_số1, $tham_số2, ...,) { //thân hàm echo "Testing";

return $kết_quả_trả_về; }

//endKhi cần sử dụng hàm ở chỗ nào, ta chỉ cần dùng cú pháp :

tênHàm(các tham số cần thiết);

Page 286: Tai lieu Thiet ke Web toan tap

Ví dụ: <?php

function testing(){ echo "Testing function";

echo 1; echo 2; echo 3; } //end testing

testing(); testing(); testing(); ?>Tên hàm cũng như tên biến , nhưng được phép bắt đầu bằng ký tự gạch dưới .

Page 287: Tai lieu Thiet ke Web toan tap

Tham số của hàmHàm có thể nhận vào các tham số, ví dụ: <?php

function testing($a){ echo "Tham số là $a"; } //end testing testing(123);

testing("abc"); ?>Ở ví dụ trên, lời gọi hàm testing(123); sẽ in ra dòng Tham số là 123 và lời gọi hàm testing("abc"); sẽ in ra dòng Tham số là abc.

Page 288: Tai lieu Thiet ke Web toan tap

Ta có thể gán giá trị mặc định cho tham số của hàm:

<?php function testing($a="mặc định")

{ echo "Tham số là $a"; } //end

testing(); ?>

Khi tham số tương ứng của hàm không được truyền, tham số đó sẽ nhận giá trị mặc định. Đoạn chương trình ví dụ ởtrên khi chạy sẽ in ra dòng Tham số là mặc định.

Page 289: Tai lieu Thiet ke Web toan tap

Giá trị trả về từ hàmHàm còn thể trả về 1 giá trị cho nơi gọi: <?php

function binh_phuong($a) { $ketqua = $a * $a;

return $ketqua; } //end testing

echo binh_phuong(2); ?>Đoạn chương trình trên khi chạy sẽ in ra số 4. Câu lệnh return biểu_thức; sẽ kết thúc hàm và trả vềgiá trị của biểu_thức cho nơi gọi.

Page 290: Tai lieu Thiet ke Web toan tap

Chú ý: bên trong hàm, biến cục bộ sẽ được dùng thay vì biến toàn cục.

Ví dụ: <?php

$a = 1; //biến toàn cục //hàm do tự tạofunction test()

{ echo $a; }//end test

?>

Page 291: Tai lieu Thiet ke Web toan tap

Để truy cập tới các biến toàn cục ở bên trong 1 hàm do người dùng định nghĩa, ta có thể dùng 1 trong 2 cách sau:

Cách 1: <?php $a = 1; //biến toàn cục //hàm do tự tạofunction test()

{ //từ khoá global báo cho php biết là bên test //bây giờ ta sẽ dùng biến toàn cục global $a;echo $a; //in ra giá trị: 1

} //end test

Page 292: Tai lieu Thiet ke Web toan tap

Cách 2:<?php

$a = 1; //biến toàn cục//hàm do tự tạofunction test()

{ echo $GLOBALS['a']; //in ra giá trị: 1} //end test

?>

Page 293: Tai lieu Thiet ke Web toan tap

Các hàm thông dụng của PHP

1. Hàm xem thông tin PHP: phpinfo()

Các tham số:

INFO_GENERAL

INFO_CREDITS

INFO_CONFIGURATION

INFO_MODULES

INFO_ENVIRONMENT

INFO_VARIABLES

INFO_LICENSE

INFO_ALL

Page 294: Tai lieu Thiet ke Web toan tap

<html> <html> <body><body>

<?php<?phpphpinfo(); phpinfo();

?>?><?php <?php phpinfo(INFO_GENERAL); phpinfo(INFO_GENERAL); ?>?>

</body> </body> </html></html>

Page 295: Tai lieu Thiet ke Web toan tap

2. H2. Hààm him hiểển thn thịị thông tin Serverthông tin Server

<?phpecho “Hỗ trợ: " .

$_SERVER["HTTP_REFERER"] . "<br />"; echo “Hỗ trợ Browser: " . $_SERVER["HTTP_USER_AGENT"] . "<br />"; echo “Địa chỉ IP: " . $_SERVER["REMOTE_ADDR"];

?>

Page 296: Tai lieu Thiet ke Web toan tap

3. H3. Hààm Header()m Header()

Chuyển đến 1 trang nào đó<?php //Redirect browserheader("Location: http://student.ud.edu.vn/");?><html> <body>......</body> </html>Lưu ý : Khi dùng hàm này cần:

* Phải đảm báo các lệnh trước đó không có tác dụng xuất bất cứ dữ liệu nào ra trình duyệt thì nó mới có tác dụng (kể cả trước đó là các thẻ HTML)

Page 297: Tai lieu Thiet ke Web toan tap

PHẦN III

NGÔN NGỮ LẬP TRÌNH WEB

PHP

Page 298: Tai lieu Thiet ke Web toan tap

I. Truy cËp biÕn tõ FORMTrong PHP khai b¸o ®Ó lÊy gi¸ trÞ tõ biÕn FORM

tõ trang HTML t−¬ng ®èi ®¬n gi¶n, tªn cña mét ®èi t−îng Form trong HTML còng chÝnh lµ tªn biÕn dïng trong PHP.

VD: <?php echo “ten cua ban la: “.$txtUser;

echo “Mat khau cua ban la: “.$txtPass;?>

Trong ®ã txtUser vµ txtPass lµ tªn ®èi t−îng d¹ng text trong thÎ FORM.

NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH PHPP TRÌNH PHP

Page 299: Tai lieu Thiet ke Web toan tap

Sö dông m¶ng h»ng $HTTP_POST_VARS[“tªn biÕn form"];$HTTP_GET_VARS[“tªn biÕn form"];

VD:<?php echo “ten cua ban la: “. $HTTP_POST_VARS [“txtUser”];

Trong ®ã txtUser lµ tªn ®èi t−îng d¹ng text trong thÎ FORM.

Page 300: Tai lieu Thiet ke Web toan tap

II. Khai b¸o h»ng trong PHP

+ TÊt c¶ c¸c h»ng sè trong PHP lµ ch÷ hoa

+ Có ph¸p khai b¸o:

define(“TENHANG”,gi¸ trÞ g¸n cho h»ng)VÝ dô:

define(“PI”,3.14);

Page 301: Tai lieu Thiet ke Web toan tap

III. Thao t¸c trªn chuçi trong PHPXö lý chuçi trong øng dông Web lµ mét phÇn chÝnh cña PHP, ®iÓm m¹nh cña PHP lµ kh¶ n¨ng xö lý chuçi rÊt tèt.

1. Hµm xö lý kho¶ng tr¾ng trªn chuçi:

+Hµm kiÓm tra chuçi rçng:Có ph¸p: isempty(string str);

NÕu chuçi str trçng tr× tr¶ vÒ true, ng−îc l¹i tr¶ vÒ false.

+Hµm xãa bá kho¶ng tr¾ng bªn tr¸i vµ bªn ph¶i chuçi :Có ph¸p: ltrim(string str);

vµ: chop(string str);

VÝ dô:

$name=ltrim($name);

$pass=chop($pass);

Page 302: Tai lieu Thiet ke Web toan tap

2. Hµm thay ®æi kiÓu ch÷ cña chuçi:

Hµm DiÔn gi¶I Sö dông KÕt qu¶strupperstrlowerucfirst

ucword

Ch÷ hoa

Ch÷ th−êng

Ch÷ hoa ký tù®Çu tiªn

Ch÷ hoa ký tù®Çu mçi tõ

strupper(“toi”)strlower (“TOI”)ucfirst(“toi va ban”

ucword(“toi va ban”

TOI

toi

Toi va ban

Toi Va Ban

Page 303: Tai lieu Thiet ke Web toan tap

3. §Þnh d¹ng chuçi ®Ó ®−a vµo vµ lÊy ra tõ CSDL:

§Ó l−u trò 1 chuçi vµo CSDL mµ chuçi ®ã cho chøa c¸c ký tù � hay � hay \ th× ph¶i thªm dÊu \ vµo tr−íc khi l−u.

Ta sö dông hµm AddSlashes(string str). Hµm nµy sÏ tù t×m c¸c ký tù

trªn vµ thªm \ vµo tr−íc.Ng−îc l¹i ta dïng hµm StripSlashes(string str)®Ó lo¹i bá \.VÝ dô: $noidung=AddSlashes($noidung);

$noidung=StripSlashes($noidung);

Page 304: Tai lieu Thiet ke Web toan tap

4. Hµm kÕt hîp hay t¸ch chuçi:+T¸ch chuçi thµnh 2 chuçi con b»ng mét ký tù ph©n c¸ch vµ®−a vµo m¶ng.

Có ph¸p:array=expode(string phan_cach, string str);

VÝ dô : t¸ch ®Þa chØ Email thµnh 2 phÇn:$manga=explode(“@”,$email);echo manga[1];+ Hµm substr();

Có ph¸p:string substr(string str, int i [,int l]);

Hµm nµy tr¶ vÒ chuçi con cña chuçi str, b¾t ®Çu tõ vÞ trÝ i víi l ký tù. Tham sè l lµ tïy chän, nÕu kh«ng cã th× tr¶ vÒ ®Õn hÕt chuçi str

Page 305: Tai lieu Thiet ke Web toan tap

5. Hµm so s¸nh chuçi:NgoµI to¸n tö == dïng so s¸nh 2 chuçi, chóng ta cßn cã thÓ dïng c¸c hµm :

int strcmp(string str1, string str2);

NÕu str1=str2 : =0str1>str2 : >0str1<str2 : <0

So s¸nh str1 vµ str2 cã ph©n biÖt ch÷ hoa, ch÷ th−êng, ngoµI ra cßn cã c¸c hµmint strcasecmp(string str1, string str2);int strnatcmp(string str1, string str2);

Page 306: Tai lieu Thiet ke Web toan tap

6. Hµm kiÓm tra chiÒu dµi chuçi:có ph¸p:

int strlen(string str);7. Hµm t×m kiÕm vµ thay thÕ chuçi

+ Hµm t×m chuçi:string strstr(string str1, string str2);

Hµm nµy t×m chuçi str2 trong str1, nÕu cã tr¶ vÒ chuçi míi lµ chuçi b¾t ®Çu b»ng chuçi str2 ®Õn hÕt chuçi str1.

VÝ dô:<?php $a="xin chao cac ban than men";

echo strstr($a,"c")."<br>";?>

Page 307: Tai lieu Thiet ke Web toan tap

+ Hµm t×m vÞ trÝ chuçi con:

int strpos(string str1, string str2);

Hµm nµy tr¶ vÒ vÞ trÝ t×m thÊy cña chuçi str2 trong str1, nÕu kh«ng t×m thÊy th× tr¶ vÒ -1, nÕu cã nhiÒu chuçi gièng nhau, th× chØ tr¶ vÒ vÞ trÝ t×m thÊy ®Çu tiªn.

(VÞ trÝ cña chuçi tÝnh tõ 0)

VÝ dô:

<?php $a="xin chao cac ban than men";$vitri= strpos($a,“chao");echo “vi tri la: “.$vitri.<br>";?>

Page 308: Tai lieu Thiet ke Web toan tap

+ Hµm thay thÕ chuçi:string str_replace(string str1, string str2, string str);

. Hµm nµy tr¶ vÒ 1 chuçi b»ng c¸ch thay thÕ tÊt c¶ c¸c chuçi str1 trong str b»ng chuçi str2. . §Ó khèng chÕ chØ cho thay ®æi vÞ trÝ ta dïng hµm:

string substr_replace(string str1, string str2, int start [,int n]);

Thay the str2 vµo trong str1, bat ®Çu tõ ký tù cã vÞ trÝ lµ start vµ cã chiÒu dµI lµ n ký tù

VÝ dô:<?php $a="xin chao cac ban va tat ca cac ban than men";$vitri= strpos($a,"chao");$chuoi= str_replace("ban","em",$a);$chuoi2=substr_replace($chuoi,“ban",13,3);echo "chuoi : ".$chuoi."<br>";echo "chuoi 2 ".$chuoi2."<br>";?>

Page 309: Tai lieu Thiet ke Web toan tap

V. Sö dông lại m· ch−¬ng tr×nh trong PHPPHP cung cÊp 2 c¸ch ®Ó khai b¸o sö dông bÊt kú ®o¹n

m· ch−¬ng tr×nh nµo ®· cã s½n, b»ng c¸ch sö dông 2 khai b¸o

require() vµ include().1. Sö dông khai b¸o require() :

Có ph¸p: require(string path_file);VÝ dô: - t¹o 1 file require.* cã néi dung<?php $a=2;$b=3;$c=$a+$b;echo “a + b = ".$c."<br>";?>

Page 310: Tai lieu Thiet ke Web toan tap

- t¹o 1 file php cã néi dung

<?phprequire("require2.php");?>• Các lưu ý:

- File ®−îc gäi cã phÇn më réng tïy ý.

- C¸c ®o¹n m· PHP trong File ®−îc gäi ph¶i ®Æt trong cặp thÎ <?php …?>

Page 311: Tai lieu Thiet ke Web toan tap

2. Sö dông khai b¸o include() :

Có ph¸p: include(string path_file);

Gièng nh− tr−êng hîp trªn, nh−ng include() vµrequire() kh¸c nhau lµ: TÊt c¶ néi dung ®−îc n¹p lªn b»ng require()

Webserver ph¶i dÞch tÊt c¶ néi dung bªn trong. Do ®ã trong nh÷ng file n¹p b»ng require() kh«ng nªn dïng c¸c cÊu tróc ®iÒu khiÓn.

Page 312: Tai lieu Thiet ke Web toan tap

PHẦN IV

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL

Page 313: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLI. Truy xuất cơ sở dữ liệu bằng PHP

1. Cơ sở dữ liệu MySQL:+ Để có thể liên kết và truy xuất dữ liệu trongPHP, trước tiên ta cần tìm hiểu cách thao tác làmviệc trên cơ sở dữ liệu trong MySQL.+ MySQL là một hệ quản trị cơ sở dữ liệu vừa vànhỏ. + Khi làm việc với cơ sở dữ liệu MySQL, bạn đăngký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phân quyền sử dụng, thiết kế đối tượng Table củacơ sở dữ liệu và xử lý dữ liệu.

Page 314: Tai lieu Thiet ke Web toan tap

I. Truy xuất cơ sở dữ liệu bằng PHP1. Cơ sở dữ liệu MySQL:

+ Nếu lần đầu tiên tạo kết nối cơ sở dữ liệu, chúng ta cần phải tạo một Connection, cung cấptên Server hay IP của máy chứa MySQL.

+ Trong trường hợp máy chứa cơ sở dữ liệuMySQL là máy đang sử dụng, bạn có thể sử dụngtên localhost. Username mặc định của cơ sở dữ liệuMySQL là root và Password là root.

+ Cuối cùng bạn bắt đầu tạo cơ sở dữ liệu và làmviệc với cơ sở dữ liệu.

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQL

Page 315: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLI. Truy xuất cơ sở dữ liệu bằng PHP

2. Truy xuất cơ sở dữ liệu trong PHP:a. Thiết lập kết nối cơ sở dữ liệu: PHP cung cấp

cho chúng ta hàm kết nối cơ sở dữ liệu có cú pháp: intmysql_pconnect("servername","username","password")Ngoài ra có thể sử dụng phát biểu như sau:$link=mysql_connect("servername","username","password") or die("Could not connect to MySQLDatabase");

Page 316: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLIV. Truy xuất cơ sở dữ liệu bằng PHP

2. Truy xuất cơ sở dữ liệu trong PHP:b. Mở một cơ sở dữ liệu :

+ Sau khi khai báo kết nối đến cơ sở dữ liệu MySQLthành công, bạn khai báo phát biểu để mở 1 cơ sở dữliệu.+ Nếu chọn cách 1 thì ta khai báo:

- mysql_select_db("tên CSDL");+ Nếu chọn cách 2 thi ta khai báo:

- mysql_select_db("tên CSDL",$link);

Page 317: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLIV. Truy xuất cơ sở dữ liệu bằng PHP

2. Truy xuất cơ sở dữ liệu trong PHP:Vi dụ: Trong CSDL MySQL có cơ sở dữ liệu có tên là DULIEU. Đểthực hiện kết nối đến cơ sở dữ liệu này ta khai báo đoạn lệnh sau:<?php

//Khai báo kết nối$link = mysql_connect("localhost","root","") or die ("Khong the

ket noi den CSDL MySQL");//Lựa chọn cơ sở dữ liệumysql_select_db("DULIEU",$link);

?>

Page 318: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLIV. Truy xuất cơ sở dữ liệu bằng PHP

2. Truy xuất cơ sở dữ liệu trong PHP:c.Đóng kết nối dữ liệu :+ Khi không sử dụng kết nối cơ sở dữ liệu,

bạn có thể khai báo phát biểu đóng kết nối nhưsau:

mysql_close(database_connection);Ví dụ: Đóng kết nối cơ sở dữ liệu Quanly trên:

mysql_close($link);

Page 319: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLIV. Truy xuất cơ sở dữ liệu bằng PHP

2. Truy xuất cơ sở dữ liệu trong PHP:d.Truy vấn cơ sở dữ liệu:+ Để truy vấn cơ sở dữ liệu ta có thể dùng hàm

mysql_query() với tham số bắt buộc là chuỗi SQL, chuỗi kết nối là tham số tùy chọn như một trong 3 phát biểu sau:

int mysql_query( string sql);int mysql_query( string sql, [int db_connection]);int mysql_query( string database, string sql, [int

db_connection]);

Page 320: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLIV. Truy xuất cơ sở dữ liệu bằng PHP

2. Truy xuất cơ sở dữ liệu trong PHP:

Page 321: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLIV. Truy xuất cơ sở dữ liệu bằng PHP

2. Truy xuất cơ sở dữ liệu trong PHP:+ Để biết được số lượng mẫu tin trả về ta cóthể dùng hàm :

int mysql_num_rows();+ Bạn có thể đọc từng mẫu tin bằng các hàmsau:

mysql_fetch_array();mysql_fetch_row();

Page 322: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLIV. Truy xuất cơ sở dữ liệu bằng PHP

2. Truy xuất cơ sở dữ liệu trong PHP:

Page 323: Tai lieu Thiet ke Web toan tap

THỰC THI CÂU LỆNH SELECT VÀ LẤY KẾT QUẢ TRẢ VỀ

PHP cung cấp cho ta 3 hàm hữu dụng để thực hiện công việc này: $result = mysql_query($sql, $conn) : thực hiện câu lệnh SQL được cung cấp qua tham số $sql và trả về 1 kết quảkiểu $result (hàm này trả về FALSE nếu như câu lệnh thực hiện không thành công). mysql_num_rows($result) : hàm này trả về số lượng row lấy được qua câu lệnh SELECT (được thực thi bởi hàm mysql_query) trước đó.

Page 324: Tai lieu Thiet ke Web toan tap

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

Page 325: Tai lieu Thiet ke Web toan tap

$row = mysql_fetch_row($result);$row = mysql_fetch_assoc($result);

Hai hàm này trả về dòng kết quả hiện thời của câu lệnh select và chuyển con trỏ tới dòng tiếp theo (như vậy lệnh gọi mysql_fetch_row hoặc mysql_fetch_assoc tiếp đó sẽtrả về dòng tiếp theo); hoặc giá trị FALSE nếu như không còn dòng nào để trả về nữa. Kết quả trả về từ 2 hàm này là 1 array.

mysql_error($conn) : trả về thông báo lỗi của MySQL server nếu như một lệnh trước đó có lỗi.

Page 326: Tai lieu Thiet ke Web toan tap

Sự khác nhau của mysql_fetch_row() và mysql_fetch_assoc()+ Hàm mysql_fetch_row() sẽ trả về 1 array mà phần tử thứ[0] sẽ tương ứng với cột đầu tiên của table, phần tử thứ [1] sẽ tương ứng với cột thứ hai của table....Ví dụ : While ( $row = mysql_fetch_row($result) )

{ echo "Username = ".$row[0]."<br>\n"; echo "Password = ".$row[1]."<br>\n"; }

+ Hàm mysql_fetch_assoc() sẽ trả về 1 array mà các phần tửsẽ được truy cập qua tên, với tên được lấy từ tên các cột của table:Ví dụ : while ( $row = mysql_fetch_assoc($result) )

{ echo "Username = ".$row['username']."<br>\n"; echo "Password = ".$row['password']."<br>\n"; }

Page 327: Tai lieu Thiet ke Web toan tap

<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42' ");if (!$result) {

echo 'Could not run query: ' . mysql_error();exit;

}$row = mysql_fetch_row($result);

echo $row[0]; // 42echo $row[1]; // the email value?>

Page 328: Tai lieu Thiet ke Web toan tap

…………..………….while ($row = mysql_fetch_assoc($result)) {

echo $row["userid"];echo $row["fullname"];echo $row["userstatus"];

}

mysql_free_result($result);

?>

Page 329: Tai lieu Thiet ke Web toan tap

THỰC THI 1 CÂU LỆNH INSERT$sql = "INSERT INTO thanhvien (id, user, pass,

email) VALUES (1, ‘admin‘,’123’)"; $result = mysql_query($sql, $conn);

//chèn thêm 1 dòng vào tableif ( !$result )

die("Không thể thực hiện được câu lệnh SQL:".mysql_error($conn)); echo "Số lượng row được chèn: ".mysql_affected_rows($conn)."<br>\n"; //ta chỉ chèn 1 dòng nên hàm mysql_affected_rows sẽtrả về 1 .

Page 330: Tai lieu Thiet ke Web toan tap

THỰC THI 1 CÂU LỆNH UPDATE $sql = "UPDATE thanhvien SET pass=‘abc' WHERE username=‘admin'";$result = mysql_query($sql, $conn);//đổi password của adminif ( !$result ) die("Không thể thực hiện được câu lệnh SQL: ".mysql_error($conn)); echo "Số lượng row được thay đổi : ".mysql_affected_rows($conn)."<br>\n";

Page 331: Tai lieu Thiet ke Web toan tap

THỰC THI 1 CÂU LỆNH DELETE$sql = "DELETE FROM thanhvien"; $result = mysql_query($sql, $conn); //xoá hết tất cả các accountif ( !$result ) die("Không thể thực hiện được câu lệnh SQL: ".mysql_error($conn)); echo "Số lượng row được xoá : ".mysql_affected_rows($conn)."<br>\n"; .

Page 332: Tai lieu Thiet ke Web toan tap

<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) {

die('Could not connect: ' . mysql_error());}mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");printf("Last inserted record has id %d\n", mysql_insert_id());?>

Page 333: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Nhấp đôi chuột lên tập tin cài đặt Apache co phầnmở rộng .msi (apache_2.0.50-win32-x86-no_ssl.msi) . Màn hình xuất hiện như sau:

Page 334: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Nhấn Next để tiếp tục.+ Màn hình License Agreement xuất hiện như hìnhdưới :

Page 335: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Chọn tuỳ chọn I accept the tems in license

agreement. Bấm Next để tiếp tục.+ Màn hình Read This First xuất hiện giới

thiệu một số thông tin chung về Apache HTTP server.

+ Bấm Next để chuyển sang màn hìnhServer Information như hình sau:

Page 336: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:

Page 337: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+Trong trường Netword Domain nhập vào tên

miền cho Server của bạn. Trong trường Server name nhập vào tên đầy đủ cho Server.

+Trong trường Administrator’s Email Address nhập vào địa chỉ Mail của quản trị Server, chọntuỳ chọn For all user, on Port 80, as a Server –Recommended.

+ Bấm Next để tiếp tục.

Page 338: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Màn hình Setup Type xuất hiện như hình sau vàchọn kiểu cài đặt mặc định là Typical. Bấm Next để tiếp tục:

Page 339: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Màn hình Destination Folder xuất hiện như

hình sau. Bấm Next để tiếp tục.

Page 340: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Màn hình Ready to Install the frogram xuất

hiện để sẵn sàn cài đặt. Sau đó bấm Install để tiếptục cài đặt.

Page 341: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Sau đó bấm Finish để kết thúc quá trình cài

đặt.

Page 342: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Chạy chương trình Apache như một dịch vụserver- Nhấn Start>Run, cửa sổ run xuất hiện như sau:

Page 343: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Nhập vào Servies.msc và nhấn OK.

Page 344: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Chọ dịch vụ Apache2, sau đó bạn có thể dừng

(Stop), Khởi động lại (Restart), khởi động (Start).

Page 345: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Kiểm tra sau khi cài đặt:

- Sau khi khởi động Apache nó sẽ lắng nghe trênPost 80. Để kiểm tra Apache server có hoạt độngkhông bạn kết nối đến Apache web server và truycập nhập địa chỉ http://localhost/ hoặchttp://127.0.0.1

- Nếu Apache Web server hoạt động được thì nósẽ hiển thị trang chào chứa các liên kết đến tài liệuapache như hình sau:

Page 346: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

1. Cài đặt Apache trên Window:+ Kiểm tra sau khi cài đặt :

Page 347: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

2. Cài đặt MySQL :+ Nhấp đôi chuột lên tập tin cài đặt Setup.exe

màn hình chào MySQL Server and Client xuấthiện như hình sau. Bấm Next để tiếp tục :

Page 348: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

2. Cài đặt MySQL :+ Màn hình Information xuất hiện cung cấp một

số thông tin khi bạn cài đặt. Nhấn Next để tiếp tục:+ Màn hình Choose Destination Location xuất

hiện như hình sau cho phép bạn chọn thư mục đíchchứa chương trình cài đặt bằng cách bấm nútBrowse.

+ Hãy chọn thư mục mặc định C:/mysql. + Bấm Next để tiếp tục

Page 349: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

2. Cài đặt MySQL :

Page 350: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

2. Cài đặt MySQL :+ Màn hình Setup Type xuất hiện như hình cho

phép chọn kiểu cài đặt bạn muốn. + Bấm Next để tiếp tục

Page 351: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

2. Cài đặt MySQL :+ Quá trình cài đặt diễn ra như sau:

Page 352: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

2. Cài đặt MySQL : + Đợi cho đến khi quá trình cài đặt kết thúc.

Bấm nút Finish để kết thúc quá trình cài đặt.

Page 353: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

2. Cài đặt MySQL :Khởi động MySQL: (Dùng Server)

Page 354: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

3. Cài đặt PHP:+ Nhấp đôi chuột lên chương trình cài đặt. Màn

hình chào chương trình cài đặt PHP xuất hiện. BấmNext để tiếp tục

Page 355: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

3. Cài đặt PHP:+ Màn hình thoả thuận bản quyền xuất hiện nhưhình sau. Bấm I Agree để tiếp tục.

Page 356: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

3. Cài đặt PHP:+ Tiếp theo chọn kiểu cài đặt, hãy chọn Standard.

Bấm Next để tiếp tục

Page 357: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

3. Cài đặt PHP:+ Tiếp theo cho phép bạn chọ thư mục cài đặt

PHP (mặc định là c:\PHP). Bấm Next để tiếp tục

Page 358: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

3. Cài đặt PHP:+ Màn hình thiết lập Mail xuất hiện như hình sau. Bấm Next để tiếp tục

Page 359: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

3. Cài đặt PHP:+ Tiếp theo bạn chọn kiểu Web server bạn muốn

cấu hình để chạy PHP, trong trường hợp nàychúng ta dùng Apache.

+ Bấm Next để tiếp tục. Tiếp tục quá trình càiđặt.

+ Cuối cùng bạn nhận được thông báo cho biếtquá trình cài đặt PHP đã kết thúc

Page 360: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

3. Cài đặt PHP:

Page 361: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

4. Cấu hình Apache để nhận mã PHP:+ Đến thư mục cài đặt apache mở tập tin

cấu hình httpd.conf bằng một trình soạn thảovăn bản bất kỳ.

+ Thêm dòng “#ScriptAlias : This control which….” rồi thêm dòng thông tin sau (tạothư mục ảo của thư mục cài đặt PHP) :

ScriptAlias /php/ “c:/PHP/”

Page 362: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

4. Cấu hình Apache để nhận mã PHP:+ Tìm đến dòng “#AddType allow you to…” rồi

thêm dòng thông tin sau (để apache nhận ra kiểutập tin php)

Addtype Application/x-httpd-php .php .php3+ Tìm đến dòng “# Action lets you define media

types…” rồi thêm dòng thông tin như sau (Chươngtrình sẽ được gọi để xử lý mã PHP). Nếu bạn càiđặt PHP 4.x thì thêm:

Action application/x-httpd-php “/php/php.exe”

Page 363: Tai lieu Thiet ke Web toan tap

HHỆỆ QUQUẢẢN TRN TRỊỊ CƠ S CƠ SỞỞ DDỮỮ LILIỆỆU MYSQLU MYSQLII. CÀI ĐẶT PHP, MYSQL, APACHE

4. Cấu hình Apache để nhận mã PHP:+ Nếu bạn cài đặt PHP 5.x thì thêm:

Action application/x-httpd-php “/php/php-cig.exe”+ Để Apache nhận ra trang mặc định trong một

thư mục bạn tìm đến dòng “DirectoryIndexindex.html index.htm”. Rồi thêm trang mặc địnhvào:

DirectoryIndex index.html index.htm index.phpindex.php3

Page 364: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXNỘI DUNG

1. Giới thiệu2. Cơ chế và nguyên lý hoạt động3. Mô hình tương tác Asynchronous4. Đối tượng XMLHttpRequest5. Các công nghệ hổ trợ liên quan6. Ajax và ứng dụng

Page 365: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAX

NỘI DUNG+ Tài liệu về Ajax từ cuốn sách Ajax in

Action của Dave Crane và những bài viết vềAjax đã có.

+ Kiến thức về công nghệ Ajax : giới thiệu, cơ chế và mô hình hoạt động của Ajax.

+ Các công cụ liên quan : giới thiệu, tìmhiểu chức năng, vai trò trong công nghệ này.

Page 366: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

1. Giới thiệu :+ “Công nghệ Ajax” chỉ mới xuất hiện vào khoảng

tháng 2 năm 2005. + Ajax - Asynchronous JavaScript and XML

(JavaScript và XML không đồng bộ) là công cụ cho phéptăng tốc độ ứng dụng Web bằng cách cắt nhỏ dữ liệu vàchỉ hiển thị những gì cần thiết thay vì phải tải đi tải lạitoàn bộ trang Web.

+ Ajax không phải là một công nghệ đơn lẻ mà nó là tậphợp của nhiều công nghệ.

AsynchronousJavascript + CSS + DOM + XMLHttpRequest

Page 367: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

1. Giới thiệu :+ Ajax bao gồm:

-Thể hiện Web theo tiêu chuẩn XHTML và CSS.- Nâng cao tính năng động và phản hồi bằng DOM

(Document Object Model).- Trao đổi và truy cập/tác động lên thông tin, dữ liệu

bằng XSL và XSLT.- Nhận thông tin không đồng bộ (Synchronous) dùng

XMLHttpRequest.- Và tất cả các kỹ thuật trên được liên kết lại với nhau

bằng Javascript.

Page 368: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

2. Cơ chế và nguyên lý hoạt động :* Cơ chế : Như vậy Ajax nó đóng vai trò như một lớp

trung gian giữa giao diện trên trình duyệt và máy chủ xử lýthông tin. Có thể mô tả một cách cụ thể cách thức hoạt độngcủa Ajax như sau :

● Ajax thực hiện tương tác với máy chủ bằng cáchsử dụng đối tượng XMLHttpRequest, nhận kết quả trả vềdưới dạng XML và phân tích kết quả bằng công nghệ DOM

● Tương tác giữa Ajax và giao diện người dùngđược thực hiện thông qua các mã Javascript vàXHTML+CSS.

Page 369: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

2. Cơ chế và nguyên lý hoạt động :* Cơ chế : - Công nghệ Ajax thì sẽ cho phép tạo ra mộtAjax Engine. Khi đó các yêu cầu gởi request và nhậnResponse sẽ do Ajax Engine thực hiện.

- Web server gởi trả dữ liệu dưới dạng XML và Ajax Engine sẽ tiếp nhận, sau đó thực hiện phân tích chuyển hoáthành XHTML+CSS cho trình duyệt hiển thị.

- Các việc này được thực hiện trên Client nên giảmtải rất nhiều cho Server, đồng thời với người sử dụng thì sẽthấy kết quả hiển thị ngay tức thì mà không cần nạp lạinguyên cả trang.

Page 370: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

2. Cơ chế và nguyên lý hoạt động :*Nguyên lý hoạt động : Để minh họa cho cơ chế

Ajax xin đưa ra hai mô hình tương tác như sau :+ Mô hình thứ nhất là mô hình tương tác

giữa máy chủ và máy khách trong các ứng dụngWeb truyền thống .

+ Mô hình thứ hai thể biểu diễn quá trìnhtương tác giữa máy chủ và máy khách trong các ứngdụng Web có sử dụng công nghệ Ajax.

Page 371: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

2. Cơ chế và nguyên lý hoạt động :*Nguyên lý hoạt động :

Page 372: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

2. Cơ chế và nguyên lý hoạt động :*Nguyên lý hoạt động :

Page 373: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

2. Cơ chế và nguyên lý hoạt động :*Nguyên lý hoạt động :+ Một trong những điểm mấu chốt của công nghệ

Ajax là không tương tác trực tiếp với máy chủ nhưtruyền thống mà là qua một lớp trung gian của Ajax.

+ Chính điều đó sẽ tạo ra sự ngạc nhiên về cơ chếxử lý này vì sẽ phải qua thêm một lớp trung gian vànhư vậy thì sẽ làm chậm đi quá trình tương tác.

Tuy nhiên thực tế thì không như vậy, nguyênnhân là :

Page 374: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

2. Cơ chế và nguyên lý hoạt động :*Nguyên lý hoạt động :

- Không phải lúc nào cũng cần phải tương tác vớimáy chủ như trong trường hợp của Gmail, một khi giaodiện của Gmail đã được tải về xong thì những tác vụ nhưchuyển từ thư mục này hay sang xem thư mục khác khôngnhất thiết phải đòi hỏi gọi lại máy chủ.

- Bằng cách chỉ nhận những thông tin cần thiết (ởdạng XML), dung lượng truyền tải giữa máy khách và máychủ sẽ giảm đi rất nhiều. Điều này nghĩa là giao diện củaứng dụng chỉ cần tải về một lần (lần đầu)

Page 375: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

2. Cơ chế và nguyên lý hoạt động :*Nguyên lý hoạt động :

- Ajax sẽ không phải thực hiện tải lại toàn bộgiao diện đó mỗi khi có tương tác với máy chủ. Thayvào đó Ajax sẽ gởi yêu cầu đến máy chủ và nhận kếtquả từ máy chủ về những gì đã thay đổi sau khi máychủ thực hiện yêu cầu đó.

- Ajax sau đó sẽ thông báo cho phần giaodiện (thông qua các lời gọi Javascript) thực hiện cácthay đổi tương ứng trên giao diện

Page 376: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

2. Cơ chế và nguyên lý hoạt động :*Nguyên lý hoạt động :

- Các tương tác giữa phần giao diện với Ajax là tương tác nội bộ trên trình duỵệt. Việc này giúpcho việc thực hiện các thay đổi được diễn ra rấtnhanh (gần như ngay tức thì).

- Vì thế khi duyệt một trang hỗ trợ Ajax, người sử dụng không bao giờ thấy một của sổ trắng(blank) và biểu tượng đồng hồ cát –là những dấuhiệu cho thấy máy chủ đang thực hiện công việc.

Page 377: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

3. Mô hình tương tác Asynchronous + Sự cải tiến trong mô hình tương tác máy chủ -

máy khách là một trong những điểm khác biệt củaAjax

+ Mô hình tương tác của các ứng dụng web truyền thống (Mô hình đồng bộ )

Page 378: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

3. Mô hình tương tác Asynchronous

Page 379: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

3. Mô hình tương tác Asynchronous + Theo mô hình trên có sự thiếu hợp lý ở chổ: Khi người

dùng có yêu cầu và gởi lên máy chủ thì chờ cho tới khimáy chủ xử lý xong và sau khi nhận được kết quả từ máychủ trả về thì người dùng mới có thể tiếp tục thực hiện cácthao tác tiếp theo.

+ Như vậy thì đặt trong trường hợp nếu ta cần xử lý dữliệu lớn thì không còn cách nào khác là phải chờ khá lâu.

+ Đây chính một nhược điểm của các công nghệ Web truyền thống và Ajax đã giải quyết được vần đề này .

Page 380: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

3. Mô hình tương tác Asynchronous

Page 381: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXI. Khái quát chung :

3. Mô hình tương tác Asynchronous + Để ý thấy rằng tương tác giữa giao diện

máy khách của chúng ta với Ajax diễn ra mangtính chất ngẫu nhiên và rất thường xuyên

+ Tương tác giữa Ajax và máy chủ xảy ravới chu kỳ dài hơn nhiều. Chính vì vậy việc xử lýnhững yêu cầu thực hiện trên máy chủ sẽ khôngảnh hưởng gì đến quá trình tương tác giữa ngườidùng với máy client. Do đó làm giảm đi khoảngthời gian đợi như ở các mô hình truyền thống.

Page 382: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

1. Ngôn ngữ XML

+ XML (Extensible Markup Language) - là một bộ quy luật bao gồm cácquy tắc để chia một tài liệu ra làm nhiều phần, rồi đánh dấu và ráp các phần khác nhau lại đểdễ nhận diện chúng.

+ Tổ hợp Web toàn cầu W3C gọiXML là “một cú pháp thông dụng cho việc hiểnthị cấu trúc trong dữ liệu”.

Page 383: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

1. Ngôn ngữ XML

+ Mục tiêu chính của XML là tách biệt nộidung và dạng biểu diễn của văn bản (Baldwin).

+ Cùng một nội dung ta có thể biểu diễn dướinhiều hình thức khác nhau : chẳng hạn in ra giấy hoặcđưa lên Web, và có thể áp dụng nhiều thuộc tính trênvăn bản như in đậm, in nghiêng, in gạch dưới, dùngmàu,...

+ Ngoài ra nhờ việc sử dụng các ký tự thôngthường mà con người có thể hiểu được nôi dung của vănbản ngay khi còn đang ở dạng thô, chưa được áp dụngbất kỳ dạng biểu diễn nào

Page 384: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

1. Ngôn ngữ XML

Một trang XML cần phải theo đúng các quy luật sauđây :

+ Trang XML phải bắt đầu bằng câutuyên bố XML

+ Mỗi bộ phận, gọi là “element” phảinằm giữa Tag Pair.

+ Nếu Tag nào không chứa gì ở giữa thìphải chấm dứt bằng”/>”

Page 385: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

1. Ngôn ngữ XML

Một trang XML cần phải theo đúng các quy luật sauđây : + Một trang XML phải có một element độc nhất chứa tất cả các element khác. Đó là root của cây biểu diễn trang XML .

+ Các Tag Pair không được xen kẻ nhau, cácTag Pair phải đánh vần đúng y như nhau kể cả chữ hoa, chữ thường (<STUDENT> và </student> là bất hợp lệ) vàcác Attribute đều phải nằm giữa hai ngoặc kép(standalone=yes là bất hợp lệ, phải viếtstandalone=”yes”).

Page 386: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

1. Ngôn ngữ XML

Ví dụ :<?xml version=”1.0” standalone=”yes”?>

<gicungduoc>Chào XML ! Mạnh giỏi ?

</gicungduoc>

Page 387: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

2. Đối tượng DOM (Document Object Model) + Mô hình đối tượng tài liệu là một giao

diện lập trình ứng dụng (API). + Thông thường DOM có dạng một cây cấu

trúc dữ liệu và được dùng để truy xuất các tài liệuHTML và XML.

+ Mô hình DOM hoạt động độc lập với hệđiều hành và dựa theo kỹ thuật lập trình hướng đốitượng để mô tả tài liệu.

+ Trong Ajax mô hình DOM đóng vai tròphân tách dữ liệu truyền dưới dạng XML.

Page 388: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

2. Đối tượng DOM+ Để phân tích một văn bản XML bằng máy

tính ta thường dùng một trong hai hoặc cả hai môhình phân tích là SAX (Simple API for XML) vàDOM.

+ Theo mô hình phân tích DOM, toàn bộnội dung của một văn bản XML sẽ được lưu giữ vàobộ nhớ trong dưới dạng một cấu trúc cây

Page 389: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

2. Đối tượng DOM+ Để phân tích một văn bản XML bằng máy

tính ta thường dùng một trong hai hoặc cả hai môhình phân tích là SAX (Simple API for XML) vàDOM.

+ Theo mô hình phân tích DOM, toàn bộnội dung của một văn bản XML sẽ được lưu giữ vàobộ nhớ trong dưới dạng một cấu trúc cây

Page 390: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

3. Giới thiệu về XHTML+ Trong Ajax XHTML cùng với CSS đóng

vai trò hiển thị dữ liệu cho trang Web.+XHTML là một chuẩn kết hợp giữa

HTML và XML và trở thành một định dạng riêng choweb. XHTML cho phép HTML được mở rộng bằngcác thẻ sở hữu.

+ Ngoài ra XHTML cũng được mã hoá chặtchẽ hơn HTML và phải tuân thủ nhiều quy tắc cấutrúc hơn HTML

Page 391: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

3. Giới thiệu về XHTML+ Trong XHTML tất cả các thẻ phải được

đóng, các thuộc tính phải được cho vào dấu ngoặc kép(“”), và đặc biệt tất cả các thẻ và thuộc tính đều phảiviết bằng chữ cái thường.

+ Mặc dù điều này có thể XHTML bị xem làcứng nhắc nhưng chính điều này lại là ưu điểm của nó: quy chuẩn và nguyên tắc.

+ XHTML là phiên bản kết hợp của HTML nên có những điểm khác cơ bản với HTML

Page 392: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

3. Giới thiệu về XHTML - Các File XHTML cần phải well-formed có

nghĩa là các thẻ <htm> <head> <body>…phải tuân thủtheo chuẩn .

- Các thể lồng nhau phải đúng trật tự .- Các thẻ và các thuộc tính của các phần tử

phải được viết bằng chữ thường.- Các thuộc tính của các phần tử phải được

đóng nháy kép: ví dụ <table border=”1”width=”100%”>,...

- Các thẻ được gọi là noempty cần phải đượcđóng bằng một thẻ đóng( <br> …</br>)

Page 393: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

3. Giới thiệu về XHTML - Không cho phép giản lược các thuộc tính.

Ví dụ : trong HTML có thể viết <option selected> nhưngtrong XHTML phải viết đủ <option selected=”selected”> và không được đóng bằng thẻ</option>.

- Thuộc tính name được thay bằng thuộc tính id.Ví dụ : <img src=”picture.gif” name=”picture1”/> được

thay thế bằng <img src=”picture.gif” id=”picture1”/> - Phải khai báo DOCTYPE trước thẻ <html>

Page 394: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

3. Giới thiệu về XHTML<!DOCTYPE Doctype goes here><html>

<head><title>Vi du ve XHTML</title></head><body>

This is XHTML page </body>

</html>

Page 395: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

4. CSS (Cascading Style Sheets)+ Tập định kiểu theo tầng, được dùng

để miêu tả cách trình bày các tài liệu viết bằngngôn ngữ HTML, XHTML, XML, SVG, XUL…

+ Các thông số kỹ thuật của CSS do World Wide Web Consortium (W3C) quản lý. Trong Ajax CSS cùng với XHTML đóng vai tròhiển thị dữ liệu cho trang web .

Page 396: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

5. DHTML+ Hay HTML động tạo một trang Web

bằng cách kết hợp các thành phần ngôn ngữđánh dấu HTML tĩnh, ngôn ngữ lệnh máykhách (như JavaScript ) và ngôn ngữ định dạngCSS và DOM.

+ Do có khả năng phong phú, DHTML còn được sử dụng như một công cụ để xây dựngcác trò chơi đơn giản trên trình duyệt .

Page 397: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

6. Đối tượng XMLHttpRequest+ Để hiểu được cơ chế hoạt động của Ajax thì

chúng ta phải biết được XMLHttpRequest là gì ? Nhưnhiều chuyên gia đã nhận định một trong những điểmquan trọng nhất của Ajax là nằm ở XMLHttpRequest

+ Điều đó cho thấy rằng, vì XMLHttpRequestcó vai trò quan trọng đặc biệt trong công nghệ như vậynên một ứng dụng của Ajax có thực thi và mang hiệu quảhay không phụ thuộc vào việc trình duyệt có hỗ trợ đốitượng này. Nếu một trình duyệt không hỗ trợXMLHttpRequest sẽ không thể diễn ra quá trình trao đổigiữa máy client và máy server

Page 398: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

6. Đối tượng XMLHttpRequest+ Thông thường trong một ứng dụng web, để

có thể gởi một HTTP Request đến máy chủ bằngJavaScript bạn cần tạo một đối tượng của lớp cung cấptính năng này. Trong Interner Exploer (IE) thì lớp này tồntại dưới dạng một ActiveX có tên là XMLHTTP

+ Đối tượng XMLHttpRequest không phải làmột chuẩn của W3C (World Wide Web Consortium). Đốitượng XMLHttpRequest được hỗ trợ ở IE 5.0+, Safari 1.2, Mozilla1.0/Firefox, Opera 8.0 và Netcape 7+.

var httpReqquest =new XMLHttpRequest();

Page 399: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

6. Đối tượng XMLHttpRequest+ Do sự khác biệt này nên để các ứng dụng có

thể chạy được trên các trình duyệt chúng ta phải khai báo: if(window.XMLHttpRequest)

{ //Mozilla,Safari ,..httpRequest=new XMLHttpRequest();}else if(window.ActiveXObject)

{//IE..httpRequest=new

ActiveXObject(Microsoft.XMLHTTP”);}

Page 400: Tai lieu Thiet ke Web toan tap

CÔNG NGHCÔNG NGHỆỆ AJAXAJAXII. Các khái niệm liên quan Ajax :

6. Đối tượng XMLHttpRequest+ Do ActiveX trên IE rất nguy hiểm cho nhiều

người dùng nên trong nhiều trường hợp tính năng này bịcấp. Vì vậy bạn cần phải kiểm tra trình duyệt trước khigọi đối tượng XMLHTTP. Quá trình kiểm tra này đượcthực hiện thông qua giá trị của window.ActiveXObject

Ví dụ : if(window.ActiveXObject) {xmlhttp=new

ActiveXObject(“Microsoft.XMLHTTP”);}

else{…}

Page 401: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)

I. Giíi thiÖuNg«n ng÷ SQL (Structured Query Language) ®−îc

h·ng m¸y tÝnh IBM ®−a ra vµo n¨m 1970. Lµ mét ng«n ng÷ cã cÊu tróc, cã nghÜa lµ b»ng tËp hîp

c¸c dßng lÖnh sÏ chØ cho hÖ qu¶n trÞ CSDL biÕt lµ ng−êi södông sÏ lµm g× chø kh«ng chØ ra lµm nh− thÕ nµo.

Ng«n ng÷ SQL cung cÊp mét c«ng cô truy vÊn (query) nh»m cho phÐp ng−êi sö dông ®Æt c©u hái víi d÷ liÖu ®angchøa trong c¸c b¶ng, d÷ liÖu ®−îc rót ra tõ nh÷ng truy vÊncã thÓ cã nguån tõ mét hay nhiÒu b¶ng kh¸c nhau.

Sau ®ã tham kh¶o kÕt qu¶ nµy, xem xÐt, ph©n tÝch nãkü l−ìng ®Ó cã nh÷ng xö lý th«ng tin thiÕt thùc h¬n.

Page 402: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)

II. C¸c c©u lÖnh SQLTrong môc nµy tr×nh bµy mét sè lÖnh c¬ b¶n dïng ®Ó

thao t¸c trªn c¬ së d÷ liÖu nh−: chän d÷ liÖu, thªm vµo d÷liÖu míi, xo¸ d÷ liÖu cò, söa ®æi d÷ liÖu.1. LÖnh Select : LÖnh nµy dïng ®Ó lÊy d÷ liÖu trong métb¶ng tho¶ m·n ®iÒu kiÖn nµo ®ã.Có ph¸p:

Select [*|fields] From tablename

[Where expression][Group by fields1][Having expression1][Order by {colname }[ASC | DESC]]

Page 403: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)

II. C¸c c©u lÖnh SQL* : tÊt c¶ c¸c tr−êng ®Òu ®−îc chän.colname: tªn cét.tablename: lµ tªn cña mét Table hoÆc nhiÒu Table mµ c¸c Record ®−îc chän.expression: lµ biÓu thøc ®iÒu kiÖn ®−îc ®Æt ra mµ c¸c b¶n ghi®−îc chän tõ tablename ph¶i tho¶ m·n biÓu thøc nµy.expression1: mét biÓu thøc ®iÒu kiÖn ®i sau mÖnh ®Ò Having. MÖnh ®Ò Having th«ng th−êng ®i kÌm víi mÖnh ®Ò Group by, expression1 lµ biÓu thøc kh«ng t¸c ®éng vµo toµn b¶ng ®−îc chØra bëi mÖnh ®Ò From mµ chØ t¸c ®éng lÇn l−ît tõng nhãm c¸cb¶n ghi ®· ®−îc chØ ra bëi mÖnh ®Ò Group by.Order by: dïng ®Ó s¾p c¸c b¶n ghi t¨ng hay gi¶m

Page 404: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)

II. C¸c c©u lÖnh SQL1. LÖnh Select

VÝ dô: Giả sử cã mét Table cã tªn NHANSU nh− sau:

Maso Hoten Ngaysinh Nghenghiep

1 Lª Văn TuÊn 10/8/1990 Häc sinh

2 NguyÔn Văn Hµ 7/8/1970 Kü s−

3 NguyÔn ThÞ Hoa 30/07/1980 Sinh viªn

Page 405: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)II. C¸c c©u lÖnh SQL

1. LÖnh Select

NÕu sö dông lÖnh: Select Hoten, Ngaysinh From nhansuSÏ chän tÊt c¶ c¸c b¶n ghi nh−ng chØ giíi h¹n bëi haitr−ßng Hoten vµ Ngaysinh. Cô thÓ gåm c¸c b¶n ghi sau:

Lª Văn TuÊn 10/8/1990

NguyÔn văn Hµ 7/8/1970

NguyÔn ThÞ Hoa 30/07/1980

Page 406: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)II.C¸c c©u lÖnh SQL

2. LÖnh Insert Into : LÖnh nµy dïng ®Ó chÌn thªm métRecord d÷ liÖu míi vµo cho 1 b¶ng.Có ph¸p:

Insert Into table[(field1[,field2[,...]])] Values(value1[, value2[,...])Trong ®ã:

Table: tªn cña Table cÇn bæ sung b¶n ghifiled1,field2: tªn cña c¸c tr−êng cÇn bæ sung d÷ liÖuvalue1,value2: gi¸ trÞ cÇn bæ sung øng víi c¸c tr−êng

filed1,field2...

Page 407: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)II. C¸c c©u lÖnh SQL

2. LÖnh Insert Into

VÝ dô:Gi¶ sö ta cã ®−îc Table Nhansu nh− trªn, b©y giêbæ sung vµo b¶n ghi míi:Insert Into nhansu (Hoten, Ngaysinh, Nghenghiep) Values(“Nguyễn v¨n An”,”10/7/1995”,”Häc sinh”)Sau khi thùc hiÖn lÖnh nµy b¶ng Nhansu b©y giênh− sau:

Page 408: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)II.C¸c c©u lÖnh SQL

2. LÖnh Insert Into

Maso Hoten Ngaysinh Nghenghiep

1 Lª Văn TuÊn 10/08/1990 Häc sinh

2 NguyÔn văn Hµ 07/08/1970 Kü s−

3 NguyÔn ThÞ Hoa 30/07/1980 Sinh viªn

4 NguyÔn văn An 10/07/1995 Häc sinh

Page 409: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)II. C¸c c©u lÖnh SQL

3. LÖnh Update : LÖnh nµy dïng ®Ó thay ®æi d÷ liÖucho c¸c tr−êng trong mét b¶ng tho· m·n ®iÒu kiÖn nµo ®ãCó ph¸p:

Update table Set Field1=value1[,...] Where expression

Trong ®ã:table: lµ tªn cña Table chøa b¶n ghi cÇn söa ®æi.Field1: tr−êng cÇn thay ®æi d÷ liÖuValue1: gi¸ trÞ d÷ liÖu míiexpression : lµ biÓu thøc, mµ c¸c b¶n ghi ®−îc cËp nhËt

ph¶i tho¶ m·n biÓu thøc nµy

Page 410: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)II. C¸c c©u lÖnh SQL

3. LÖnh Update

VÝ dô: Söa ®æi tr−êng Nghenghiep cã gi¸ trÞ míi thµnh“CNVC” cho tÊt c¶ c¸c record tho¶ m·n ®iÒu kiÖnlµ tr−êng Ngaysinh="07/08/1970":

Update Nhansu Set Nghenghiep=“CNVC”Where Ngaysinh=“07/08/1970”

Page 411: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)II. C¸c c©u lÖnh SQL

3. LÖnh Update

Table Nhansu b©y giê nh− sau:

Maso Hoten Ngaysinh Nghenghiep

1 Lª Văn TuÊn 10/08/1990 Häc sinh

2 NguyÔn văn Hµ 07/08/1970 CNVC

3 NguyÔn ThÞ Hoa 30/07/1980 Sinh viªn

4 NguyÔn văn An 10/07/1995 Hoc sinh

Page 412: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)II. C¸c c©u lÖnh SQL

4. LÖnh DeleteLÖnh nµy dïng ®Ó xo¸ mét hoÆc nhiÒu record trong

mét b¶ng tho¶ m·n ®iÒu kiÖn nµo ®ã.Có ph¸p:

Delete * From table Where expression

Trong ®ã:table: lµ tªn Table chøa c¸c b¶n ghi cÇn xo¸.*: tÊt c¶ c¸c tr−êng cña b¶n ghi ®Òu bÞ xo¸.expression : lµ tÊt c¶ c¸c b¶n ghi ®−îc xo¸ ph¶i tho¶

m·n biÓu thøc nµy.

Page 413: Tai lieu Thiet ke Web toan tap

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)

II. C¸c c©u lÖnh SQL4. LÖnh Delete

VÝ dô:Xo¸ tÊt c¶ c¸c b¶n ghi trong Table Nhansu cã tr−êngNghenghiep=“Häc sinh“.Delete * From nhansu Where Nghenghiep=“Häc sinh“

B©y giê table Nhansu trë thµnh:

Maso Hoten Ngaysinh Nghenghiep

2 NguyÔn văn Hµ 07/08/1970 CNVC

3 NguyÔn ThÞ Hoa 30/07/1980 Sinh viªn

Page 414: Tai lieu Thiet ke Web toan tap

Chú ý: Trong mệnh đề WHERE, các phép toán được sử dụng là:

Phép toán Mô tả= So sánh bằng<> So sánh khác> Lớn hơn< Nhỏ hơn>= Lớn hơn hoặc bằng<= Nhỏ hơn hoặc bằngBETWEEN Nằm giữa một khoảngLIKE So sánh mẫu chuỗi

Lưu ý: Trong một số phiên bản của SQL, phép toán <> có thể được viết dưới dạng !=

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)

Page 415: Tai lieu Thiet ke Web toan tap

* Sử dụng dấu nháyLưu ý rằng ở ví dụ trên ta đã sử dụng hai dấu nháy đơn (') bao quanh giá trị điều kiện 'Sandnes'.SQL sử dụng dấu nháy đơn bao quanh các giá trị ở dạng chuỗi văn bản (text). Nhiều hệ CSDL còn cho phép sửdụng dấu nháy kép ("). Các giá trị ở dạng số không dùng dấu nháy để bao quanh.

+ Với dữ liệu dạng chuỗi văn bản:Câu lệnh đúng:

SELECT * FROM Persons WHERE FirstName = 'Tove'

Câu lệnh sai:SELECT * FROM Persons WHERE FirstName = Tove

NgNg««n ngn ng÷÷ Truy vÊn dTruy vÊn d÷÷ liliÖÖu (SQL)u (SQL)

Page 416: Tai lieu Thiet ke Web toan tap

+ Với dữ liệu dạng số:

Câu lệnh đúng:SELECT * FROM Persons WHERE Year > 1965

Câu lệnh sai:SELECT * FROM Persons WHERE Year > '1965'

Page 417: Tai lieu Thiet ke Web toan tap

* Phép toán điều kiện LIKEPhép toán LIKE được dùng để tìm kiếm một chuỗi mẫu văn bản trên một cột.

Cú pháp :Cú pháp của phép toán LIKE như sau:SELECT tên_cột FROM tên_bảngWHERE tên_cột LIKE mẫuMột ký hiệu % có thể được sử dụng để định nghĩa các ký tự đại diện. % có thể được đặt trước và/hoặc sau mẫu.

Page 418: Tai lieu Thiet ke Web toan tap

+ Sử dụng LIKECâu lệnh SQL sau sẽ trả về danh sách những người có tên

bắt đầu bằng chữ O:SELECT * FROM SINHVIEN WHERE ten LIKE 'O%'

Câu lệnh SQL sau sẽ trả về danh sách những người có tên kết thúc bằng chữ a:SELECT * FROM sinhvienWHERE ten LIKE '%a'

Câu lệnh SQL sau sẽ trả về danh sách những người có tên kết chứa chuỗi la:SELECT * FROM sinhvienWHERE ten LIKE '%la%'

Page 419: Tai lieu Thiet ke Web toan tap

ĐĐềề ttàài thi ki thi kếết tht thúúc hc họọc phc phầầnn1. Tạo Website theo các chủ đề sau :

1. Website về dịch vụ việc làm2. Website về dịch vụ nhà đất3. Website báo điện tử4. Website trường học5. Website bán hàng6. Website dịch vụ giải trí như ECards, Điện hoa, ...7. Soạn trang web cá nhân của nhóm bao gồm: Họ vàtên, Công việc và chức vụ hiện nay, Địa chỉ liên lạc, Điện thoại, Fax, Email, Mobile Phone, ... Ngoài ra các nhóm có thể bổ sung các thông tin khác.8. Website giới thiệu âm nhạc

Page 420: Tai lieu Thiet ke Web toan tap

ĐĐềề ttàài thi ki thi kếết tht thúúc hc họọc phc phầầnn1. Tạo Website theo các chủ đề sau :

9. Website cho sinh viên thi trắc nghiệm 10. Website giáo trình điện tử môn học bất kỳ11. Website hỗ trợ công tác đào tạo của trường ĐHBK12. Website quản lý lịch thực hành máy 13. Website quản lý quảng cáo 14. Xây dựng diễn đàn trên mạng15. Website ký túc xá16. Website phục vụ cho công tác biên tập và thư viện tư liệu tại toà soạn báo17. Website quản lý tour du lịch18. Website giới thiệu, hướng dẫn sử dụng ĐTDĐ

Page 421: Tai lieu Thiet ke Web toan tap

ĐĐềề ttàài thi ki thi kếết tht thúúc hc họọc phc phầầnn1. Tạo Website theo các chủ đề sau :

19. Website phục vụ công tác Đoàn trường đại học20. Website giới thiệu khu di tích Hội An (Mỹ Sơn)21. Website hệ thống thông tin hỗ trợ sinh viên22. Website quản lý cước phí23. Website phục vụ cho bệnh viện22. Các chủ đề khác : quản lý danh bạ điện thoại, thuê bao sử dụng Internet, dịch vụ 1080, quản lý khách sạn, quản lý việc cấp phát thuốc bảo hiểm y tế, quản lý bệnh án, giường bệnh, lịch chạy tàu, quản lý nhàhàng,…

Page 422: Tai lieu Thiet ke Web toan tap

2. Tham khảo các site thông tin của Việt Namhttp://vnexpress.net/http://www.vnn.vn/.http://www.vdc.com.vn3. Tham khảo các site bán hàng nổi tiếng http://shopping.yahoo.comhttp://www.amazon.com4. Tham khảo các site giải tríhttp://greetings.yahoo.comhttp://www.vnn.vn/ecards/http://www.fpt.vn/Postcard/main.asphttp://www.geraldstevens.com/http://www.1800flowers.com/5. Tham khảo các site về lao động việc làm tại VNhttp://203.162.5.43/ld2000/http://www.vietname-business.com/jobnld/http://www.jobsonline.saigonnet.vn/

Page 423: Tai lieu Thiet ke Web toan tap

HHếết t !!!!!!