You are on page 1of 423

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA


KHOA CÔNG NGHỆ THÔNG TIN
---&---

BÀI GIẢNG MÔN HỌC

CÔNG NGHỆ WEB NÂNG CAO


TÀI LIỆU THAM KHẢO

1. Internet nối kết mạng (Lê Quang Liêm)


2. Internetworking với TCP/IP (Nguyễn Quốc Cường)
3. Architecis of the Web (Ried Robert.H)
4. Ebook “Thương mại Việt Nam hội nhập thế giới ’’
5. Các Website TMĐT : Yahoo, Amazon, Ebay, AltaVista,...
http://www.ecomerce-guide.com
http://www.online-commerce.com
http://www.ecommercetimes.com
http://creating-a-site.com
NỘI DUNG CHƯƠNG TRÌNH

Chương 1: Internet & Web


Chương 2: Ngôn ngữ HTML
Chương 3: JavaScript & VBScript
Chương 4: Triển khai WebSite-Các công nghệ Web động
Chương 5: Cài đặt & Cấu hình Web Server
CHƯƠNG 1 : INTERNET VÀ WEB
I. 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:
z Dữ liệu
z Thông điệp
z Hình ảnh
z Máy fax
z Modem
z Máy in
z Các tài nguyên phần cúng khác
CHƯƠNG 1 : INTERNET VÀ WEB

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

Máy tính Máy in

Cáp
CHƯƠNG 1 : INTERNET VÀ WEB
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
II. CÁC LOẠI MẠNG MÁY TÍNH
3. MẠNG INTERNET LÀ GÌ?
CHƯƠNG 1 : INTERNET VÀ WEB
II. CÁC LOẠI MẠNG MÁY TÍNH
3. MẠNG INTERNET LÀ GÌ?
Internet là liên mạng toàn cầu lớn nhất bao trùm lên tất cả
các mạng khác phân bố trên phạm vi toàn thế giới.
+ Giúp các máy tính kết nối và trao đổi thông tin với
nhau mà không cần biết vị trí địa lý của chúng
+ Cho phép truy cập lên các tài nguyên lưu trữ ở xa.
+ Cho phép trao đổi thư điện tử (Email), trò chuyện
(Chat), gọi điện thoại, gửi tin nhắn,..
+ Các tư liệu thông tin được tổ chức theo từng trang
(trang Web). Các trang này được liên kết với nhau nhờ các
liên kết hay các chỉ mục.
CHƯƠNG 1 : INTERNET VÀ WEB
Lịch sử phát triển Internet
z Tiền thân của Internet là ARPANET, 1960
z Năm 1983, giao thức TCP/IP chính thức được coi như một
chuẩn cho việc kết nối máy tính
z Năm 1984, ARPANET đã được chia ra thành hai phần:
phần thứ nhất vẫn được gọi là ARPANET, dành cho việc
nghiên cứu và phát triển; phần thứ hai được gọi là
MILNET, là mạng dùng cho các mục đích quân sự.
z WWW ra đời, 1989
z Ngày nay chúng ta thấy Internet xuất hiện trong mọi lĩnh
vực : thương mại, chínhh trị, quân sự, nghiên cứu, giáo dục,
văn hoá, xã hội ...
CHƯƠNG 1 : INTERNET VÀ WEB
INTERNET IAP: Internet Access Provider
Nhà cung cấp khả năng ISP:Internet Service Provider
truy cập Internet
IAP
IAP
Máy chủ
Máy chủ ISP ISP
ISP ISP
¢
¢
Người dùng
Nhà cung cấp dịch
vụ Internet Máy chủ
truy cập
ISP
ISP
trực tiếp
¢

Người dùng truy cập từ xa Mạng người dùng công cộng


(điện thoại, thuê bao)
CHƯƠNG 1 : INTERNET VÀ WEB
Kết nối Internet
z Để kết nối được Internet cần :
- Máy tính (…)
- Modem (…)
- Đường dây điện thoại
- Nhà cung cấp dịch vụ
+ America Online
+ VDC (VNPT)
+ FTP, Viettel, Netnam…
- Các phần mềm Internet
CÀI ĐẶT INTERNET
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
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ấn
Enter.
CÀI ĐẶT INTERNET
CÀI ĐẶT INTERNET
II. Cài đặt Dial-up Adapter
z 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 theo
z Mở Control Panel
z Chọn Network
CÀI ĐẶT INTERNET
z Chọn Add tại Network box.
z Chọn Adapter (trong phần "Click the type of
network component you want to install") và
bấm Add
CÀI ĐẶT INTERNET
z Chọn Microsoft trong phần Manufacturers.
z Chọn Dial-up Adapter.
z Chọn OK.
z Chỉ định đường dẫn đến thư mục hoặc ổ đĩa
cài Windows.
CÀI ĐẶT INTERNET
III. Cài đặt giao thức TCP/IP
z Mở Control Panel
z Chọn Network
z Bấm Add tại Network box.
z Chọn Protocol (trong phần "Click the type of
network component you want to install") sau đó bấm
Add.
z Chọn Microsoft trong phần Manufacturers sau đó
chọn TCP/IP trong phần Network Protocol.
z Chọn OK.
z Khởi động lại máy.
CÀI ĐẶT INTERNET
IV. Tạo kết nối Dial-up networking
z Mở My Computer
z Mở Dial - Up Networking

z Select Make New Connection và điền các thông tin :


z Tên của kết nối, ví dụ : NetnamInternet
z Chọn modem
z Bấm Next và điền các thông tin :
z Area Code: Quay tới Hà nội, điền 04
z Telephone number : Số điện thoại của nhà cung cấp
dịch vụ Internet
CÀI ĐẶT INTERNET
IV. Tạo kết nối Dial - up networking
z Hiện tại có 03 số điện thoại hay truy cập nhất
z Netnam Internet : (04) 756.22.34
z VDC Internet : (04) 1260
z FPT Internet : (04) 822.31.22
CÀI ĐẶT INTERNET

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

z Countrycode : 84 (Vietnam )
z Bấm Next
z Bấm Finish
CÀI ĐẶT INTERNET
V. Thuộc tính của kết nối
z 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


z Chọn Server Type:
z Chọn PPP : WindowsX, WindowsNT, Internet
trong Type of dial-up server
z Trong phần Advanced Options : Chọn Enable
software compression và bỏ các tuỳ chọn khác
z Trong phần Advanced network protocol chọn
TCP/IP và bỏ các tuỳ chọn khác
CÀI ĐẶT INTERNET
V. Thuộc tính của kết nối

Tiếp đó chọn thẻ General


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

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


CHƯƠNG 1 : INTERNET VÀ WEB
III. CÁC KHÁI NIỆM
1. 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 1 : INTERNET VÀ WEB
III. CÁC KHÁI NIỆM
2. ĐỊ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 động
Cấ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 1 : INTERNET VÀ WEB
III. CÁC KHÁI NIỆM
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 1 : INTERNET VÀ WEB
III. CÁC KHÁI NIỆM
3. Tên miền (Domain Name)
Ví dụ:

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


113.115.12.37 www.pacific.net.sg
203.162.16.235 home.vnn.vn
203.162.7.48 fpt.com.vn
110.32.26.74 www.yahoo.com
CHƯƠNG 1 : INTERNET VÀ WEB
III. CÁC KHÁI NIỆM
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ăng
truy 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 1 : INTERNET VÀ WEB
IV. CÁC DỊCH VỤ CỦA INTERNET
1. Dịch vụ thư điện tử (E-mail) :
• Electronic mail (E-mail) : Là một dịch vụ của Internet giúp
cho việc trao đổi thông điệp giữa những người dùng hay
nhóm người dùng trên mạng
• Dựa trên giao thức chuẩn Internet: Simple Mail Transfer
Protocol (SMTP)
• Khả năng gửi tới nhiều người cùng một thời điểm
• Nhanh chóng chuyển giao được tài liệu
• Chi phí thấp
CHƯƠNG 1 : INTERNET VÀ WEB
IV. CÁC DỊCH VỤ CỦA INTERNET
1. Dịch vụ thư điện tử (E-mail) :

Các mô hình hoạt động E-Mail :


z Mô hình thông điệp trực tiếp
z Mô Hình hộp thư lưu
z Mô hình Internet
CHƯƠNG 1 : INTERNET VÀ WEB
IV. CÁC DỊCH VỤ CỦA INTERNET
1. Dịch vụ thư điện tử (E-mail) :
Mô hình thông điệp trực tiếp
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ộ
from: A
to: D C
 

B  D 
CHƯƠNG 1 : INTERNET VÀ WEB
IV. CÁC DỊCH VỤ CỦA INTERNET
1. Dịch vụ thư điện tử (E-mail) :
Mô hình hộp thư lưu
Thông điệp được gửi gián tiếp tới một máy phục vụ đang hoạt
động trong mạng nội bộ

m¸y phôc vô th−


Mail SERVER
D 

from: A

C
 B   to: D
CHƯƠNG 1 : INTERNET VÀ WEB

Các thành phần cơ bản

• Mail server: Chương trình phục vụ thư


• Mail Client: Chương trình cho người sử dụng
• Cách thức giao nhận thư
CHƯƠNG 1 : INTERNET VÀ WEB

Tài khoản thư điện tử


• Tài khoản đăng nhập thư điện tử gồm:
Tên đăng ký (account name)
Mật khẩu (Password)
• Địa chỉ thư của người sử dụng sau khi đăng ký:
tên_đăng_ký@tên_miên
Trong đó: tên miên là tên định danh của máy phục vụ thư - tên
được cấp bởi tổ chức quản lý tên miền internet
Ví dụ: mvha@ud.edu.vn
CHƯƠNG 1 : INTERNET VÀ WEB
Thư điện tử - Webmail
Là các địa chỉ E-mail miễn phí như:
http://www.yahoo.com
http://www.hotmail.com
http://vol.vnn.vn
http://mail.emailpinoy.com
http://Saigon.vnn.vn/webmail
www.mailexcite.com Excite mail
www.netaddress.com USA-Net mail
CHƯƠNG 1 : INTERNET VÀ WEB
IV. CÁC DỊCH VỤ CỦA INTERNET
2. World Wide Web (www)
• World Wide Web (WWW) hoặc Web là một dịch vụ
của Internet
• Là dịch vụ cung cấp thông tin một cách toàn diện nhất
cho người dùng.
• Web chứa thông tin bao gồm văn bản, hình ảnh, âm
thanh và thậm chí cả video được kết hợp với nhau.
• Web là kho thông tin khổng lồ: phong phú về nội dung,
đa dạng về hình thức, thường xuyên được cập nhật, đổi
mới và phá triển không ngừng
CHƯƠNG 1 : INTERNET VÀ WEB
IV. CÁC DỊCH VỤ CỦA INTERNET
3. Chat
z Làhình thức hội thoại trực tiếp trên Internet, là một
dịch vụ của Internet

z Dịchvụ 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ông
qua bàn phím và màn hình.
CHƯƠNG 1 : INTERNET VÀ WEB
IV. CÁC DỊCH VỤ CỦA INTERNET
4. 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 1 : INTERNET VÀ WEB
IV. CÁC DỊCH VỤ CỦA INTERNET
5. Dịch vụ Telnet
* Cho phép người sử dụng đăng nhập vào máy tính
chủ 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
* Lệnh: Telnet <tên host> hoặc <địa chỉ IP>
* Trong đó: <tên host> là tên máy chủ muốn truy cập.
<địa chỉ IP> là địa chỉ của máy chủ muốn truy cập.
CHƯƠNG 1 : INTERNET VÀ WEB
IV. CÁC DỊCH VỤ CỦA INTERNET
6. Các dịch vụ khác :
* Gopher – Tra cứu thông tin theo thực đơn
* Dịch vụ WAIS (Wide Area Information Server)
Tìm kiếm thông tin theo diện rộng
* Mailing list: Danh sách trao đổi trên Email
Các dạng mailing list :
- Mailing list không có nhà quản trị
- Mailing list có nhà quản trị (thông dụng)
- Mailing list một chiều
CHƯƠNG 1 : INTERNET VÀ WEB
V. KIẾN TRÚC CƠ BẢN CỦA WORLD WIDE
WEB (WWW)
1. Mô hình chung :

Server
Client
HTTP HTTP
Internet
Internet

Client gởi yêu cầu


thông tin lên Internet Server nhận yêu cầu, xử lý
và gởi kết quả về cho Client
CHƯƠNG 1 : INTERNET VÀ WEB
V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)
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.
CHƯƠNG 1 : INTERNET VÀ WEB
V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)
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ªn
Internet, 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:
CHƯƠNG 1 : INTERNET VÀ WEB
V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)
2. Các khái niệm :
a. Địa chỉ URL :
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: Anonymous
Password: ®Þa chØ e-mail
Port: 21

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


MAILTO Mailto:Address@Host Kh«ng
TELNET Telnet://User:Password@Host:Port Port: 23
CHƯƠNG 1 : INTERNET VÀ WEB
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êu
cầ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 ứng
yê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 1 : INTERNET VÀ WEB
V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)
2. Các khái niệm :
c. Web Server
) Là 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ôi
trường Windows, Web Server của Oracle được thiết kế để tận
dụng khả năng truy cập vào cơ sở dữ liệu hùng mạnh của
Oracle.
CHƯƠNG 1 : INTERNET VÀ WEB
V. KIẾN TRÚC CƠ BẢN CỦA WEB (WWW)
2. Các khái niệm :
d. Web Browser
) Là 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ác
kết quả đáp ứng từ Server đồng thời hiển thị lên với khuôn dạng
thích hợp.
) Các trình duyệt : Nestcape Navigator, Mosaic NCSA,
Internet Explore
CHƯƠNG 1 : INTERNET VÀ WEB
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:

Presentation Application Data


Logic Managerment
CHƯƠNG 1 : INTERNET VÀ WEB
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ập
cá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ày
bao 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àn
vẹn dữ liệu.
CHƯƠNG 1 : INTERNET VÀ WEB
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 Server
Mạng máy tính (Network)
Một chương trình Front-end Client chạy trên trạm làm
việc (Workstation), mà ở đó người sử dụng giao tiếp với ứng
dụ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.
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
Data Data
Data Data
Data Data
Data
Managerment
Managerment Managerment
Managerment Managerment
Managerment Managerment
Managerment

Application
Application Application
Application
logic
logic logic
logic

Data
Data
Managerment
Managerment

Application
Application Application
Application Application
Application
logic
logic logic
logic logic
logic

Presentation
Presentation Presentation
Presentation Presentation
Presentation Presentation
Presentation

WORKSTATION
CHƯƠNG 1 : INTERNET VÀ WEB
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ên
má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ý giao
diện còn được phân bổ một số chức năng xử lý thích
hợp.
CHƯƠNG 1 : INTERNET VÀ WEB
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áy
trạm. Máy chủ chỉ có chức năng quản lý dữ liệu, còn
máy trạm có nhiệm vụ xử lý tính toán và quản lý giao
diện người sử dụng.
+ Mô hình cuối cùng là mô hình quản lý dữ liệu
phâ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ột
phần dữ liệu được quản lý bởi máy chủ.
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
I. GIỚI THIỆU
1. 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 ).
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
I. GIỚI THIỆU
1. 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
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
I. GIỚI THIỆU
2. 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>
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
I. GIỚI THIỆU
2. C¸c kh¸i niÖm
b. Thuéc tÝnh cña Tag
Mç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
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
I. GIỚI THIỆU
2. 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.
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
I. GIỚI THIỆU
3. Cấu trúc một trang Web ở dạng HTML
Mé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
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
1. 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.
z VÝ dô:
z <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
3.2 Draft//EN">
z hay <!DOCTYPE HTML PUBLIC "-//IETF//DTD
HTML Level 1//EN">
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
1. 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/">
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
1. 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.
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
1. 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>
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
2. 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>
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
2. C¸c Tag trong phÇn th©n tµi liÖu
Thué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¶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ã.

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)
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
2. 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.
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
2. 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


CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
2. C¸c Tag trong phÇn th©n tµi liÖu
c. Tag Frame
Mô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.
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
2. C¸c Tag trong phÇn th©n tµi liÖu
c. Tag Frame
VÝ 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 ®ã
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
c. Tag Frame
File Frame.htm cã néi dung:
z <html>
z <head>
z <title>VÝ dô t¹o frames</title>
z </head>
z <frameset border="false" frameborder="0" rows="80,*">
z <frame name="frame1" src="frame1.htm" scrolling="no" noresize>
z <frame name="frame2" src="frame2.htm" scrolling="auto" noresize>
z </frameset>
z <noframes>
z <body>
z </body>
z </noframes>
z </html>
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
c. Tag Frame
z File frame1.htm cã néi dung:
z <html>
z <head>
z <title>Frame 1</title>
z </head>
z <body bgcolor="#AADDFF" topmargin=10 >
z <center>
z <font color="Red" size="3" face=".VnTimeH">Frame 1</font></b>
z <hr>
z VÝ dô t¹o frame 1
z </center>
z </body>
z </html>
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
c. Tag Frame
z File frame2.htm cã néi dung:
z <html>
z <head>
z <title>Frame 2</title>
z </head>
z <body bgcolor="#AADDFF" topmargin=10 >
z <center>
z <font color="Red" size="3" face=".VnTimeH">Frame 2</font></b>
z <hr>
z VÝ dô t¹o frame 2
z </center>
z </body>
z </html>
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
c. Tag Frame
KÕt qu¶ hiÓn thÞ nh− sau:
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
2. 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:
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
2. 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ªn


Server. Gi¸ trÞ POST dïng ®Ó göi dữ liÖu, GET dïng
®Ó lÊy dữ liÖu tõ Server.
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)

II. CÁC TAG CƠ BẢN CỦA HTML


2. C¸c Tag trong phÇn th©n tµi liÖu
d. Tag Form
Trong 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">
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
2. C¸c Tag trong phÇn th©n tµi liÖu
d. Tag Form
Text 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Öu
nhËp vµo sÏ ®−îc hiÓn thÞ b»ng
c¸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ña
ch−¬ng tr×nh mµ kh«ng cÇn
hiÓn thÞ chóng.
Check box <INPUT TYPE="Checkbox" > Lùa chän nhiÒu gi¸ trÞ mét lóc
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
d. 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ôc
trªn m¸y tÝnh ®Ó chän file
Select box <SELECT Name="select_name"> Cho phÐp chän 1 ®Ò môc thÝch hîp trong
<OPTION VALUE="nvalue"> danh s¸ch ®æ xuèng cña c¸c ®Ò môc
ĐÒ môc chän lùa
</OPTION>
........
</SELECT>
Button <INPUT TYPE="Submit/Reset/Button"> Dïng ®Ó thùc hiÖn viÖc göi sè liÖu lªn
Server (nÕu Type="Submit"), hoÆc
trả vÒ gi¸ trÞ ngÇm ®Þnh cña c¸c tr−êng
trªn form (nÕu Type="Reset")
CHƯƠNG 2 : NGÔN NGỮ HTML
(HyperText Markup Language)
II. CÁC TAG CƠ BẢN CỦA HTML
d. Tag Form
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
I. GIỚI THIỆU
z 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ù.
z 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.
z 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.
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
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>
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
II. Ng«n ng÷ JavaScript
1. 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è 2
z VÝ 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 .
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
II. Ng«n ng÷ JavaScript
1. 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¸ var
VÝ dô: var x=12
Trong JavaScript cã thÓ dïng biÕn mµ kh«ng cÇn khai b¸o.
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
II. Ng«n ng÷ JavaScript
1. 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
……
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
III. Xö lý c¸c sù kiÖn trªn trang Web
1. 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 ®ñ,....
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
III. Xö lý c¸c sù kiÖn trªn trang Web
1. Sù kiÖn vµ ®èi t−îng
z 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.
z 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.
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Çn Textbox, Textarea,
tö trªn form Select list

click onClick Ng−êi sö dông kÝch vµo mét phÇn tö trªn Button, Radio button,
form hoÆc kÝch vµo 1 liªn kÕt 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ö Textbox, Textarea,
trªn form Select list
select onSelect Ng−êi sö dông chän d÷ liÖu trong c¸c phÇn 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ªn Link
mét liªn kÕt

submit onSubmit Ng−êi sö dông cho thi hµnh øng dông Submit button
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
III. Xö lý c¸c sù kiÖn trªn trang Web
VÝ 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..."

z <Script language="JavaScript">
z function thongbao(){
z alert("Hello...")
z }
z </Script>
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
III. Xö lý c¸c sù kiÖn trªn trang Web
VÝ 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..."
z <BODY>
z <Form name="form1">
z <input type="button" value="Click here"
onClick="thongbao()">
z </Form>
z </BODY>
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
III. Xö lý c¸c sù kiÖn trªn trang Web
1. Sù kiÖn vµ ®èi t−îng
z §Ó ®¸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:
z §èi t−îng lín nhÊt cña tr×nh duyÖt lµ window
z Trong window chøa c¸c tµi liÖu HTML (mçi tµi liÖu lµ
mét ®èi t−îng document)
z 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)
z Trong Form cã thÓ chøa nhiÒu phÇn tö (cã ®èi t−îng lµ
elements)
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
III. Xö lý c¸c sù kiÖn trªn trang Web
1. Sù kiÖn vµ ®èi t−îng

window

document

form

elements

links
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
III. Xö lý c¸c sù kiÖn trªn trang Web
2. C¸c ph−¬ng thøc vµ thuéc tÝnh cña c¸c ®èi t−îng
z §Ó 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"
z 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ã.
III. Xö lý c¸c sù kiÖn trªn trang Web
2. C¸c ph−¬ng thøc vµ thuéc tÝnh cña c¸c ®èi t−îng
2.1 §èi t−îng window
z * 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«ng
viÖc cÇn hµnh ®éng (chän OK hay Cancel). Ph−¬ng thøc nµy
tr¶ vÒ gi¸ trÞ true (khi chän OK) hoÆc false (khi chän
Cancel)
prompt("message",variable) Đ−a ra hép tho¹i cho phÐp ng−êi sö dông nhËp d÷ liÖu ®Çu
vµ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
III. Xö lý c¸c sù kiÖn trªn trang Web
2. C¸c ph−¬ng thøc vµ thuéc tÝnh cña c¸c ®èi t−îng
2.1 §èi t−îng window
z * C¸c thuéc tÝnh:

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æ

z §Ó 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...'">
z * 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
Ch−¬ng 3: Ng«n ng÷ VBScript vµ
JavaScript
III. Xö lý c¸c sù kiÖn trªn trang Web
2. C¸c ph−¬ng thøc vµ thuéc tÝnh cña c¸c ®èi t−îng
2.2. §èi t−îng document
2.3. §èi t−îng form
2.4. §èi t−îng links
2.5. §èi t−îng text, textarea, vµ password
2.6. §èi t−îng select (gièng nh− listbox)
2.7. §èi t−îng button, submit, reset
2.8. §èi t−îng checkbox, radio
CHƯƠNG 4 : TRIỂN KHAI WEBSITE
I. CÁCH THỨC TẠO WEBSITE
1. 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 4 : TRIỂN KHAI WEBSITE
I. CÁCH THỨC TẠO WEBSITE
2. 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ạn
phải có một kỹ năng thành thực và một sự nghiên cứu
kỹ về Web. Bạn phải biết mình sẽ làm gì và không
nên làm gì để đưa tất cả các ý tưởng đó vào việc xây
dựng một Website.
+ Ðể tạo ra một Website bạn cần phải theo làm theo
những bước sau đây:
- Bước 1: Ðây là giai đoạn định hướng. Bạn cần
phải đề cập đến những vấn đề sau đây:
CHƯƠNG 4 : TRIỂN KHAI WEBSITE
I. CÁCH THỨC TẠO WEBSITE
2. Cách thức tạo ra một Website:
z Những ý tưởng tổng quan của bạn.
z Mục đích của bạn cần đạt tới đối với website .
z Ðối tượng mà bạn cần nhắm tới là ai.
z Bạn đã có những thông tin gì trong tay và bạn sử
dụng chúng như thế nào.
z 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 4 : TRIỂN KHAI WEBSITE
I. CÁCH THỨC TẠO WEBSITE
2. Cách thức tạo ra một Website:
- Bước 2 :
z 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.
z 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ông
tin mà bạn không quan tâm.
z Lựa chọn các từ khoá thích hợp để thuận tiện cho
việc tìm kiếm và sử dụng các dịch vụ tìm kiếm.
CHƯƠNG 4 : TRIỂN KHAI WEBSITE
I. CÁCH THỨC TẠO WEBSITE
2. Cách thức tạo ra một Website:
- Bước 3 :
z 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ệc
của bạn, các chuyên gia chính của công ty.
z 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 4 : TRIỂN KHAI WEBSITE
I. CÁCH THỨC TẠO WEBSITE
2. 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ới
HTML 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ặc
là 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 4 : TRIỂN KHAI WEBSITE

I. CÁCH THỨC TẠO WEBSITE


2. Cách thức tạo ra một Website:
Bước 5:
z Lựa chọn nhà cung cấp dịch vụ Internet
z Thiết lập tên miền của bạn.
z Ðăng ký tên website của bạn với các nhà tìm kiếm.
z Quảng cáo và khuếch trương website của bạn đối với các
khách hàng mục tiêu bằng cách gửi thư, truyền thanh, truyền
hình, biển hiệu quảng cáo....
z Một điều rất quan trọng là các thông tin của bạn phải được
cập nhật hàng ngày.
CHƯƠNG 4 : TRIỂN KHAI WEBSITE

I. CÁCH THỨC TẠO WEBSITE


2. Cách thức tạo ra một Website:
Bước 6:
z Thông qua các công cụ tìm kiếm tiện ích đảm bảo
rằng Website của bạn phải thật nổi bật :
+ Lycos, Alta Vista, Google...
z Ðây là việc tốn rất nhiều thời gian.
CHƯƠNG 4 : TRIỂN KHAI WEBSITE
II. Môi trường cạnh tranh với website:
Khi một Website Thương mại điện tử ra đời, vấn đề cần thiết là phải cạnh tranh
được với một số Website lớn đang chiếm giữ thị trường. Đứng trên khía cạnh quản lý một
trang web(bên cạnh việc quản lý Công ty thực hiện Thương mại điện tử), phải tìm cách để
Website hướng sự chú ý của khách hàng đến Công ty.

Yêu cầu cần đặt ra khi làm website và ứng dụng thực tế :
1 . Giao diện thân thiện, dễ sử dụng.
2 . Hỗ trợ đa ngôn ngữ(khuyến cáo).
3 . Trợ giúp ngắn gọn, dễ hiểu.
4 . Thông tin chính xác.
5 . Công cụ tìm kiếm nhanh, hiệu quả và dễ sử dụng.
6 . Chức năng đầy đủ
7 . Hỗ trợ các mục tin tức cần thiết.
8 . Có những phần download miễn phí để gây ấn tượng cho khách hàng.
9 . Domain ngắn gọn, dễ nhớ
10. Website truy cập nhanh

CHƯƠNG 4 : TRIỂN KHAI WEBSITE
III. Tự động hoá website, chìa khoá của thành công
+ Có nhiêu doanh nghiêp đã thành công khi khai thác môt Website. Hãy
kiêm tra các tình huông sau :
- 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 được
cô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ăng
thẳ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ạn
khô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ể đợi
bạn trả lời email hay chuyển tiền qua tải khoản, họcần mua ngay lập tức?.
Active Server Pages
I. Tæng quan vÒ ASP
1. Giíi thiÖu
ASP 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,...
Active Server Pages
I. Tæng quan VÒ ASP
2. ASP lµm viÖc nh− thÕ nµo ?
Trang Web tÜnh :
Active Server Pages
I. Tæng quan VÒ ASP
2. ASP lµm viÖc nh− thÕ nµo ?
Trang web động (Dynamic):
Active Server Pages
I. Tæng quan VÒ ASP
2. ASP lµm viÖc nh− thÕ nµo ?
Active Server Pages
I. Tæng quan VÒ ASP
3. C¸ch x©y dùng mét trang ASP
C¸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.
Active Server Pages
I. Tæng quan VÒ ASP
3. C¸ch x©y dùng mét trang ASP
VÝ 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 ASP
Dim a,b,c 'khai b¸o 3 biÕn a,b,c
a=10 'g¸n 10 cho biÕn a
b=20 'g¸n 20 cho biÕn b
c=a+b 'tÝnh tæng c=a+b
'kÕt thóc viÕt lÖnh cho ASP
%>
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-->
z <HTML>
z <HEAD>
z <Title>VÝ dô vÒ ASP</Title>
z <HEAD>
z <BODY>
z <!-- in kÕt qu¶ ra trang web-->
z Tæng cña a vµ b lµ <%=c%>
z </BODY>
z </HTML>
Active Server Pages
I. Tæng quan VÒ ASP
3. C¸ch x©y dùng mét trang ASP
z Ví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
z 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%>
z 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¶.
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è:
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
…………………..
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Ón
a. CÊu tróc IF..THEN..ELSE..IF
Có ph¸p:
z <% If <§iÒu kiÖn 1> then
z <C¸c c©u lÖnh>
z Else
z If <§iÒu kiÖn 2> then
z <C¸c c©u lÖnh>
z End if
z End if
z %>
Active Server Pages
II. LËp tr×nh víi ASP
3. C¸c cÊu tróc ®iÒu khiÓn
Ngoµi ra cã thÓ sö dông : IF.. THEN. . . . ELSEIF. . . END IF
z <%
z If <§iÒu kiÖn 1> then
z <C¸c c©u lÖnh 1>
z ElseIf <§iÒu kiÖn 2> then
z <C¸c c©u lÖnh 2>
z Else
z <C¸c c©u lÖnh 3>
z End if
z %>
Active Server Pages
II. LËp tr×nh víi ASP
3. C¸c cÊu tróc ®iÒu khiÓn
b. 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
%>
Active Server Pages
II. LËp tr×nh víi ASP
3. C¸c cÊu tróc ®iÒu khiÓn
c. 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
%>
Active Server Pages
II. LËp tr×nh víi ASP
3. C¸c cÊu tróc ®iÒu khiÓn
d. C¸c CÊu tróc lÆp kh¸c
* DO WHILE….LOOP :
Có ph¸p:
z <%
z Do while <§iÒukiÖn>
z <C¸c c©u lÖnh>
z Loop
%>
Active Server Pages
II. LËp tr×nh víi ASP
3. C¸c cÊu tróc ®iÒu khiÓn
d. C¸c CÊu tróc lÆp kh¸c
* WHILE….wend
z Có ph¸p:
z <%
z While <§iÒukiÖn>
z <C¸c c©u lÖnh>
z Wend
%>
Active Server Pages
II. LËp tr×nh víi ASP
3. C¸c cÊu tróc ®iÒu khiÓn
d. C¸c CÊu tróc lÆp kh¸c
* DO….Loop until
Có ph¸p:
<%
DO
<C¸c c©u lÖnh>
Loop until <§iÒu kiÖn>
%>
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¶n
z TRIM(x©u as string): Bá kho¶ng tr¾ng hai ®Çu kÝ tù
z LEFT(X©u as string, n as interger): LÊy bªn tr¸i x©u n kÝ tù.
z RIGHT(X©u as string, n as interger): LÊy bªn ph¶i x©u n kÝ tù.
z LCASE(X©u as string) : ChuyÓn x©u vÒ ch÷ th−êng
z UCASE(X©u as string) : ChuyÓn x©u vÒ ch÷ hoa
z MID(x©u as string, n1, n2): LÊy n2 kÝ tù trong x©u b¾t
®Çu tõ vÞ trÝ n1.
z CSTR(BiÕn): Hµm chuyÓn ®æi biÕn thµnh kiÓu string
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¶n
Hµ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”
%>
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.
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.
Active Server Pages
III. C¸c thµnh phÇn trong ASP
1. Qu¸ tr×nh truy cËp C¬ së d÷ liÖu
DataBase 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.
Active Server Pages
III. C¸c thµnh phÇn trong ASP
1. Qu¸ tr×nh truy cËp C¬ së d÷ liÖu
z Mé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:
Active Server Pages
III. C¸c thµnh phÇn trong ASP
1. Qu¸ tr×nh truy cËp C¬ së d÷ liÖu
z <%
'T¹o ra mét ®èi t−îng conn cho phÐp nèi tíi nguån d÷ liÖu
z set 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Ëp
z conn.open "VIDU"
'BiÕn sql chøa c©u lÖnh lÊy tÊt c¶ d÷ liÖu tõ b¶ng KHACHHANG
z sql="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 RS
z Set RS = Conn.Execute(sql)
z %>
Active Server Pages
z <HTML>
z <Body>
z <%
'Sö dông vßng lÆp ®Ó kiÓm tra RS cã cßn chøa d÷ liÖu hay kh«ng
z Do While NOT RS.EOF
z %>
STT: <%=RS(0)%>, Hä tªn: <%=RS(1)%>, §Þa chØ: <%=RS(2)%>
z <% RS.MoveNext 'di chuyÓn ®Õn Record tiÕp theo
Loop 'quay l¹i vßng lÆp
Conn.CLOSE '®ãng nèi kÕt
z %>
z </BODY>
z </HTML>
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 :
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
Active Server Pages
III. C¸c thµnh phÇn trong ASP
2. C¸c ®èi t−îng xö lý d÷ liÖu
2.1. C¸c ph−¬ng thøc, thuéc tÝnh cña ®èi t−îng
Connection
C¸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
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 Connection
C¸c Ph−¬ng thøc:
Connection: më mét nèi kÕt tíi nguån d÷ liÖu
Có ph¸p: connection.Open ConnectionString
Trong ®ã 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)
z Trong ®ã: Command lµ c©u lÖnh cÇn thùc hiÖn
z Recordset: lµ ®èi t−îng Recordset
z Connection: lµ ®èi t−îng Connection
Close: ®ãng mét ®èi t−îng ®ang më vµ c¸c ®èi t−îng kh¸c liªn
quan
Có ph¸p: object.Close
Active Server Pages
III. C¸c thµnh phÇn trong ASP
2. C¸c ®èi t−îng xö lý d÷ liÖu
2.2. C¸c Ph−¬ng thøc, thuéc tÝnh cña Recordset
z 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
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 Recordset
C¸c Ph−¬ng thøc:
z Close: ®ãng ®èi t−îng ®ang më vµ c¸c ®èi t−îng kh¸c liªn quan
Có ph¸p: object.Close
z MoveFirst: Di chuyÓn tíi record ®Çu tiªn trong 1 Recordset
Có ph¸p: recordset.MoveFirst
z MoveLast: Di chuyÓn tíi record cuèi cïng trong 1 Recordset
Có ph¸p: recordset.MoveLast
z MoveNext: Di chuyÓn tíi record tiÕp theo trong 1 Recordset
Có ph¸p: recordset.MoveNext
z MovePrevious: Di chuyÓn tíi record tr−íc Record hiÖn hµnh trong
1 Recordset
Có ph¸p: recordset.MovePrevious
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
ASP 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¸c
thuéc tÝnh mµ ®−îc cung cÊp s½n nh− c¸c øng dông trªn
Server
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
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.1. §èi t−îng Request
Có ph¸p chung: Request[.Collection](variable)
Trong ®ã Collection cã thÓ lµ mét trong sè c¸c gi¸ trÞ sau:
z 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.
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.1. §èi t−îng Request
z 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
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.1. §èi t−îng Request
VÝ dô: Gi¶ sö cã mét URL nh− sau:
z /Scripts/Sample.asp?hoten=NguyenvanA&tuoi=20
TÊ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=NguyenvanA
b=Request.QueryString("tuoi") 'biÕn b=20
%>
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.1. §èi t−îng Request
z 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".
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.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.
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.2. §èi t−îng RESPONSE
§èi t−îng nµy dïng ®Ó göi d÷ liÖu vÒ Client
Có ph¸p:
Response.property|method
Trong ®ã:
properties gåm c¸c gi¸ trÞ sau:
z + 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).
z Có ph¸p: Response.Buffer=True/False
z + Expires: X¸c ®Þnh thêi gian mµ trang th«ng tin n»m trong vïng ®Öm hÕt t¸c dông
z Có ph¸p: Response.Expires [= number]
z Trong ®ã number lµ sè phót mµ trang hÕt thêi h¹n
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.2. §èi t−îng RESPONSE
Method 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µnh
z Có 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
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.3. §èi t−îng SESSION
z §è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.
z 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.
z 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
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.3. §èi t−îng SESSION
* Properties cã c¸c gi¸ trÞ sau:
z + 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
z + 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ót
z NÕ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]
z Víi nMinutes lµ sè phót cÇn thiÕt lËp (ngÇm ®Þnh lµ 20 phót)
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.3. §èi t−îng SESSION
* Method cã c¸c gi¸ trÞ sau:
z + Abandon: dïng ®Ó ph¸ huû ®èi t−îng Session vµ gi¶i phãng
khái bé nhí.
Có ph¸p: Session.Abandon
Trong ®è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).
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.3. §èi t−îng SESSION
z Có ph¸p cña hai sù kiÖn nµy ®−îc viÕt nh− sau:
z <SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
z Sub Session_OnStart
z . . . c¸c lÖnh cho khëi t¹o phiªn lµm viÖc ®Æt ë ®©y
z End Sub
z </SCRIPT>
z <SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
z Sub Session_OnEnd
z . . . c¸c lÖnh cho kÕt thóc phiªn lµm viÖc ë ®©y
z End Sub
z </SCRIPT>
z 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.
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.4. §èi t−îng Application
Dï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ã.
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.4. §èi t−îng Application
Có 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 Application
VÝ 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’’) %>
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.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.
Active Server Pages
III. C¸c thµnh phÇn trong ASP
3. C¸c ®èi t−îng kh¸c trong ASP
3.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ông
End Sub
</SCRIPT>
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
Sub Application_OnEnd
. . . c¸c lÖnh khi kÕt thóc øng dông
End Sub
</SCRIPT>
Active Server Pages
IV. §¨ng ký nguån d÷ liÖu víi ODBC
1. Giíi thiÖu
Nh− 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ë).
Active Server Pages
IV. §¨ng ký nguån d÷ liÖu víi ODBC
1. Giíi thiÖu
Drivers
Drivers Manager
Manager Driver
Driver DataSource

z 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.
z 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.
z DataSource (Nguån d÷ liÖu): ®©y lµ nguån d÷ liÖu cÇn truy cËp ®Ó
lÊy th«ng tin.
Active Server Pages
IV. §¨ng ký nguån d÷ liÖu víi ODBC
1. Giíi thiÖu
Nh− 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:
Active Server Pages
Web Browser

Web Browser

Internet Information
Server
ASP

ODBC
SQL Server Driver Acces Driver Other
Driver

SQL Database Acces Database Other Database


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.
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 Panel
b. KÝch ®«i biÓu t−îng ODBC (32 bit), xuÊt hiÖn mµn h×nh
nh− sau:
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
Trong 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,...)
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
c. §Ó ®¨ng ký nguån d÷ liÖu míi, kÝch nót Add, xuÊt hiÖn
cöa sæ nh− sau:
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
Trong 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
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
d. 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.
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
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× ?
z XuÊt b¶n mét Home page lªn Internet.

z 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…)
z Cho phÐp ng−êi dïng tõ xa cã thÓ truy xuÊt C¬ së d÷
liÖu (DataBase Remote Access)
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.
jspEC Project
Java Server Pages

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 Pages
I. 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
Java Server Pages
II. 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 :

Trçnh diãùn
Yêu cầu HTTP dëch JSP
Web
Web Trang
Browser
Servlet Tạm Trangjsp
jsp
Service
Kết xuất

Java Web Server


Java Server Pages
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 Pages
III. C¸ch X©y Dùng Web B»ng JSP
Mé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.
Java Server Pages
III. 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>
Java Server Pages
IV. 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>
Java Server Pages
IV. 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
-------------------
%>
Java Server Pages
IV. 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.
Java Server Pages
IV. 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");
--%>
Java Server Pages
IV. C¸c Có Ph¸p C¬ B¶n Cña JSP
4. 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.*" %>
Java Server Pages
IV. C¸c Có Ph¸p C¬ B¶n Cña JSP
6. Nhóng Vµ ChuyÓn H−íng Gi÷a C¸c Trang
Trong qu¸ tr×nh xö lý vµ chuyÓn d÷ liÖu cho form b¹n cã
thÓ nhóng vµ triÖu gäi nh÷ng trang JSP kh¸c víi trang hiÖn
hµnh.
Cã thÓ ®−a mét trang HTML hoÆc JSP vµo trang JSP hiÖn
t¹i ®Ó hç trî thªm th− viÖn hay tÝnh n¨ng bæ sung nµo ®ã. Hay
ghi nhËn ®−îc d÷ liÖu submit tõ tr×nh kh¸ch, trang JSP nhËn
®−îc d÷ liÖu cã thÓ chuyÓn h−íng hoÆc triÖu gäi ®Õn trang JSP
kh¸c.
Java Server Pages
IV. 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.
Java Server Pages
IV. 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>
Java Server Pages
IV. 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>
Java Server Pages

IV. C¸c Có Ph¸p C¬ B¶n Cña JSP


6.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 Pages

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP


Tr×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 Pages

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP


2. §è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.jsp
String USERNAME=request.getParameter( username");
String PASSWORD=request.getParameter( password");
Java Server Pages

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP


3. §è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 Pages
V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP
3. §è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 Pages

V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP


4. §è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.jsp
response.sendRedirect( Bc_td2.jsp ) ;
§Þnh kÕt xuÊt ra HTML hay text
response.setContenType( text/html ) ;
LÊy d÷ liÖu trong vïng ®Öm nhê OutputStream();
response.getOutputStream();
Java Server Pages
V. C¸c §èi T−îng MÆc §Þnh Cña Trang JSP
5. §è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 Pages
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
C«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 Pages
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 Pages

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 Pages

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 Pages

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 Pages
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 :
§Ó 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 Pages
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 Pages
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:subname
subprotocol : giao thøc con t−¬ng øng víi lo¹i CSDL
subname : tªn cña CSDL
username : tªn ng−êi dïng khi ®¨ng nhËp vµo CSDL
password : mËt khÈu ng−êi dïng khi ®¨ng nhËp CSDL
Java Server Pages
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 conn
Statement 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 Pages
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 Pages
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 JDBC
z String
drivername= sun.jdbc.odbc.JdbcOdbcDriver ;
z Class.forName(drivername).newInstance();
// Th«ng tin kÕt nèi JDBC-ODBC
z String url= jdbc:odbc:Database_Name ;
z String username= ;
z String password= ;
Java Server Pages
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
z Connection con=null;
// Thùc hiÖn kÕt nèi
z con=DriverManager.getConnection(url, username, password);

z Statement stmt=null;
z stmt=con.createStatement();
// Thùc thi c©u lÖnh truy vÊn vµ nhËn kÕt qu¶ tr¶ vÒ
z ResultSet rs=null;
// T¹o c©u lÖnh truy vÊn
z String sql=”select * from TABLE_NAME”;
z rs=stmt.executeQuery(sql);
ChƯƠNG 5: CµI ®ÆT Vµ CÊU H×NH WEB
SERVER
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.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. CÊu H×nh Tr×nh Chñ Web Server
2. 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
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. CÊu H×nh Tr×nh Chñ Web Server
2. Cµi ®Æt Jrun
2.3. CÊu tróc th− môc cña Jrun
Th− 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
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. CÊu H×nh Tr×nh Chñ Web Server
3. 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ñ.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. CÊu H×nh Tr×nh Chñ Web Server
3. Cöa sæ ®iÒu khiÓn (Jrun Management Console)
.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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Þ
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. CÊu H×nh Tr×nh Chñ Web Server
3.1 CÊu h×nh qu¶n trÞ Web Server
Th−êng b¹n sö dông trang qu¶n trÞ ®Ó qu¶n lý, khëi ®éng, thay ®æi
tham 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
CµI ®ÆT Vµ CÊU H×NH 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
CµI ®ÆT Vµ CÊU H×NH 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 cña riªng b¹n
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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.1 T¹o míi øng dông Web
Th«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.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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.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 øng
dô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
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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.1 T¹o míi øng dông Web
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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
Do 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ªn
cñ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 ®éng
l¹i tr×nh chñ Jrun Web Server.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. 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ña
Jrun.
+ NhËp tªn user vµ password cña thµnh viªn ®ã. Mçi
lÇ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µo
c¬ së d÷ liÖu cña Jrun.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. CÊu H×nh Tr×nh Chñ Web Server
4. T¹o vµ qu¶n lý user trong Jrun Web Server
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
I. CÊu H×nh Tr×nh Chñ Web Server
5. KiÓm tra lçi th«ng qua Log Files
Th«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«ng
th−ê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×nh
dÞch
+ default-even.log : l−u l¹i nh÷ng lçi trong qu¸ tr×nh thùc hiÖn truy xuÊt tµi
nguyª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µo
default-out.log.
z 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ña
hÖ thèng
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
II. 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 ®Ó duy
tr× 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µo
thËt sù cÇn thiÕt. Mét khi ®· hoµn tÊt truy xuÊt, b¹n ph¶i tr¶ l¹i kÕt
nèi cho ng−êi dïng kh¸c truy cËp. MÆc dï vËy, mçi mét kÕt nèi ®Õn
c¬ së d÷ liÖu ®Òu ph¶i ®ßi hái cã thêi gian thiÕt lËp, ph©n bæ tµi
nguyªn,...
+ C¸c tr×nh chñ Web server ®−a ra c¬ chÕ POLL cho phÐp c¸c
yªu cÇu vÒ kÕt nèi ®Õn c¬ së d÷ liÖu chØ ®−îc më mét lÇn vµ dïng
chung bëi c¸c trang JSP víi nhau.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
II. 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èng
cung cÊp mét kÕt nèi, hÖ thèng sÏ kiÓm tra xem kÕt nèi ®· ®−îc thiÕt
lËp hay ch−a. NÕu ch−a cã hÖ thèng sÏ t¹o mét kÕt nèi cung cÊp cho
trang 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Æc
hµng ®îi.
+ Trong lêi triÖu gäi trang JSP ë phiªn lµm viÖc kh¸c, nÕu cÇn ®Õn
truy 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.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
II. 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Êp
kÕ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Ï cung
cÊ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Çn
tö 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Çn
tö 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ù.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
II. 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 DataSource
hiÓn thÞ nh− sau :
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
II. X©y Dùng C¬ ChÕ Connection Poll
2. C¬ ChÕ Pool Hç Trî Bëi Web Server
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
II. 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 ®Ó tham
chiÕu ®Õn Pool sau nµy.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
II. X©y Dùng C¬ ChÕ Connection Poll
2. C¬ ChÕ Pool Hç Trî Bëi Web Server
TiÕ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.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
II. X©y Dùng C¬ ChÕ Connection Poll
2. C¬ ChÕ Pool Hç Trî Bëi Web Server
TiÕp tôc nhÊn Next Jrun sÏ hoµn tÊt nh÷ng thao t¸c cßn l¹i.
CµI ®ÆT Vµ CÊU H×NH WEB SERVER
II. X©y Dùng C¬ ChÕ Connection Poll
2. C¬ ChÕ Pool Hç Trî Bëi Web Server
NGÔN NGỮ LẬP TRÌNH PHP
I. Giíi thiÖu vÒ PHP
1. Giíi thiÖu
+ PHP (Personal Home Page) là một kịch b¶n
trªn Server (Server Script)
+ Lµ mét m«i tr−êng lËp tr×nh cung cÊp cho viÖc
kÕ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¸c
ng«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)
NGÔN NGỮ LẬP TRÌNH PHP
I. 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¶n
Scripting 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ªn
dÞch l¹i.
+ CÊu tróc m· gÇn gièng ng«n ng÷ lËp tr×nh C
NGÔN NGỮ LẬP TRÌNH PHP
I. Giíi thiÖu vÒ PHP
3. C¸ch thøc lµm viÖc cña trang PHP
+ Trang HTML tÜnh:
NGÔN NGỮ LẬP TRÌNH PHP
I. Giíi thiÖu vÒ PHP
3. C¸ch thøc lµm viÖc cña trang PHP
+ Trang PHP :
NGÔN NGỮ LẬP TRÌNH PHP
I. 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.
NGÔN NGỮ LẬP TRÌNH PHP
II. 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 <% …. %>
NGÔN NGỮ LẬP TRÌNH PHP
II. 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>
NGÔN NGỮ LẬP TRÌNH PHP
II. C¸ch x©y dùng Web b»ng PHP
2. Một số chú ý khi bắt đầu lập trình PHP
a. 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ình
duyệ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ỗi
vă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!.
NGÔN NGỮ LẬP TRÌNH PHP
II. C¸ch x©y dùng Web b»ng PHP
2. Một số chú ý khi bắt đầu lập trình PHP
b. 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.
NGÔN NGỮ LẬP TRÌNH PHP
II. C¸ch x©y dùng Web b»ng PHP
2. Một số chú ý khi bắt đầu lập trình PHP
c. 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ình
sau sẽ in ra chuỗi abc123 */
echo "abc123";
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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.
NGÔN NGỮ LẬP TRÌNH PHP
III. 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 ?>
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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 đến
2147483648.
Ví dụ:
<?php $a = 1234; $b = -123; $c = 0123;
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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;
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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 '";
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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?
NGÔN NGỮ LẬP TRÌNH PHP
III. 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ự $
NGÔN NGỮ LẬP TRÌNH PHP
III. 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"
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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)
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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
z ?>
NGÔN NGỮ LẬP TRÌNH PHP
III. Lập trình PHP
1. Kiểu dữ liệu :
+ Kiểu NULL : Đây là 1 giá trị đặt biệc, báo cho
PHP 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à NULL
unset($a); //lúc này $a lại là NULL
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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à đi
theo 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..z
hoặ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
NGÔN NGỮ LẬP TRÌNH PHP
III. 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ừ đây
include '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ệ
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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ến
toàn cục.
Ví dụ: <?php
$a = 1; //biến toàn cục //hàm do tự tạo
function test()
{ echo $a; }
//end test
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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ục
echo $a; //in ra giá trị: 1
} //end test
NGÔN NGỮ LẬP TRÌNH PHP
III. 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ục
function test()
{ echo $GLOBALS['a']; //in ra giá trị: 1
} //end test
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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 đơn
giản sau:
$a = 5;
$b = $a;
Tuy nhiên biểu thức trong PHP có thể phức tạp hơn
Ví dụ: $a = 1; $b = 2; $c = 3; $d = $a + $b + $c;
NGÔN NGỮ LẬP TRÌNH PHP
III. 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 nhau
và 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ị
NGÔN NGỮ LẬP TRÌNH PHP
III. 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*=$a+1
-= $a-=$b $a*=$a-$b
-- $a- - $a*=$a-1
*= $a*=$b $a*=$a*$b
/= $a/=$b $a*=$a/$b
%= $a%=$b $a*=$a%$b
.= $a.=$b $a*=$a.$b
NGÔN NGỮ LẬP TRÌNH PHP
III. 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;
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. 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ằng $b
=== $a===$b $a bằng và cùng kiểu $b
!= $a!=$b $a khác $b
<> $a<>$b $a khác $b
< $a<$b $a nhỏ hơn $b
<= $a<=$b $a nhỏ hơn hoặc bằng $b
> $a>$b $a lớn hơn $b
>= $a>=$b $a lớn hơn hoặc bằng $b
NGÔN NGỮ LẬP TRÌNH PHP
III. 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 Error
Trong 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
NGÔN NGỮ LẬP TRÌNH PHP
III. 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;
?>
NGÔN NGỮ LẬP TRÌNH PHP
III. Lập trình PHP
6. Biến hàm
Là 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
CẤU TRÚC ĐIỀU KHIỂN
I. Cấu trúc lựa chọn :
1. Câu lệnh if
Cú 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.
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.
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.
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.
2. Câu lệnh switch
Câ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"; }
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";
}
?>
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
Cấu trúc điều khiển

II. Cấu trúc lệnh lặp:


1. Câu lệnh while :
while ( biểu thức ) câu lệnh;

Trong khi biểu thức còn trả về giá trị TRUE thì
tiếp tục thực hiện câu lệnh, sau khi thực hiện câu lệnh thì
kiểm tra lại biểu thức, nếu vẫn còn trả về giá trị TRUE thì
lại tiếp tục thực hiện câu lệnh...cứ tiếp tục như vậy cho
tới khi nào biểu thức trả về giá trị FALSE thì ngưng.
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.
2. Câu lệnh do-while
Câ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 );
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 );
?>
3. Câu lệnh for
Câ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.
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
?>
4. Câu lệnh foreach
Câ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;


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.
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.


5. Câu lệnh break
Câ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;
}
6. Câu lệnh continue
Câ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).
HÀM
1. Đị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.
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ề;
}
//end
Khi 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);
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 .
Tham số của hàm
Hà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.
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.
Giá trị trả về từ hàm
Hà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.
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ạo
function test()
{ echo $a; }
//end test
?>
Để 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ạo
function 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
Cách 2:
<?php
$a = 1; //biến toàn cục
//hàm do tự tạo
function test()
{ echo $GLOBALS['a']; //in ra giá trị: 1
} //end test
?>
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
<html>
<body>
<?php
phpinfo();
?>
<?php
phpinfo(INFO_GENERAL);
?>
</body>
</html>
2. Hàm hiển thị thông tin Server

<?php
echo “Hỗ trợ: " .
$_SERVER["HTTP_REFERER"] . "<br />";
echo “Hỗ trợ Browser: " .
$_SERVER["HTTP_USER_AGENT"] . "<br />";
echo “Địa chỉ IP: " .
$_SERVER["REMOTE_ADDR"];
?>
3. Hàm Header()
Chuyển đến 1 trang nào đó
<?php
//Redirect browser
header("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)
PHẦN III

NGÔN NGỮ LẬP TRÌNH WEB


PHP
NGÔN NGỮ LẬP TRÌNH PHP
I. Truy cËp biÕn tõ FORM
Trong 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.
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.
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);
III. Thao t¸c trªn chuçi trong PHP
Xö 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);
2. Hµm thay ®æi kiÓu ch÷ cña chuçi:
Hµm DiÔn gi¶I Sö dông KÕt qu¶
strupper Ch÷ hoa strupper(“toi”) TOI
strlower Ch÷ th−êng strlower (“TOI”) toi
ucfirst Ch÷ hoa ký tù ucfirst(“toi va ban” Toi va ban
®Çu tiªn
ucword Ch÷ hoa ký tù ucword(“toi va ban” Toi Va Ban
®Çu mçi tõ
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);
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
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 : =0
str1>str2 : >0
str1<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µm
int strcasecmp(string str1, string str2);
int strnatcmp(string str1, string str2);
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>";
?>
+ 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>";
?>
+ 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>";
?>
V. Sö dông lại m· ch−¬ng tr×nh trong PHP
PHP 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>";
?>
- t¹o 1 file php cã néi dung
<?php
require("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 …?>
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.
PHẦN IV

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU


MYSQL
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
I. 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 trong
PHP, trước tiên ta cần tìm hiểu cách thao tác làm
việ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 đăng
ký 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ủa
cơ sở dữ liệu và xử lý dữ liệu.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
I. Truy xuất cơ sở dữ liệu bằng PHP
1. 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ấp
tên Server hay IP của máy chứa MySQL.
+ Trong trường hợp máy chứa cơ sở dữ liệu
MySQL là máy đang sử dụng, bạn có thể sử dụng
tên localhost. Username mặc định của cơ sở dữ liệu
MySQL là root và Password là root.
+ Cuối cùng bạn bắt đầu tạo cơ sở dữ liệu và làm
việc với cơ sở dữ liệu.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
I. 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:
int
mysql_pconnect("servername","username","password
")
Ngoài ra có thể sử dụng phát biểu như sau:
$link=mysql_connect("servername","username","p
assword") or die("Could not connect to MySQL
Database");
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
IV. 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 MySQL
thà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);
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
IV. 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ệu
mysql_select_db("DULIEU",$link);
?>
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
IV. 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);
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
IV. 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]);
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
IV. Truy xuất cơ sở dữ liệu bằng PHP
2. Truy xuất cơ sở dữ liệu trong PHP:
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
IV. 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àm
sau:
mysql_fetch_array();
mysql_fetch_row();
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
IV. Truy xuất cơ sở dữ liệu bằng PHP
2. Truy xuất cơ sở dữ liệu trong PHP:
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 đó.
<?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";

?>
$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.
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"; }
<?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]; // 42
echo $row[1]; // the email value
?>
…………..
………….
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}

mysql_free_result($result);

?>
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 table
if ( !$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 .
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 admin
if ( !$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";
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 account
if ( !$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"; .
<?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());
?>
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ần
mở rộng .msi (apache_2.0.50-win32-x86-no_ssl.msi)
. Màn hình xuất hiện như sau:
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ình
dưới :
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ình
Server Information như hình sau:
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. CÀI ĐẶT PHP, MYSQL, APACHE
1. Cài đặt Apache trên Window:
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ọn
tuỳ chọn For all user, on Port 80, as a Server –
Recommended.
+ Bấm Next để tiếp tục.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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:
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ếp
tục cài đặt.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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:
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. CÀI ĐẶT PHP, MYSQL, APACHE
1. Cài đặt Apache trên Window:
+ Nhập vào Servies.msc và nhấn OK.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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).
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ên
Post 80. Để kiểm tra Apache server có hoạt động
không bạn kết nối đến Apache web server và truy
cập nhập địa chỉ http://localhost/ hoặc
http://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ệu
apache như hình sau:
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. CÀI ĐẶT PHP, MYSQL, APACHE
1. Cài đặt Apache trên Window:
+ Kiểm tra sau khi cài đặt :
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ất
hiện như hình sau. Bấm Next để tiếp tục :
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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 đích
chứa chương trình cài đặt bằng cách bấm nút
Browse.
+ Hãy chọn thư mục mặc định C:/mysql.
+ Bấm Next để tiếp tục
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. CÀI ĐẶT PHP, MYSQL, APACHE
2. Cài đặt MySQL :
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. CÀI ĐẶT PHP, MYSQL, APACHE
2. Cài đặt MySQL :
+ Quá trình cài đặt diễn ra như sau:
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. CÀI ĐẶT PHP, MYSQL, APACHE
2. Cài đặt MySQL :
Khởi động MySQL: (Dùng Server)
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ấm
Next để tiếp tục
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ày
chú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ết
quá trình cài đặt PHP đã kết thúc
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. CÀI ĐẶT PHP, MYSQL, APACHE
3. Cài đặt PHP:
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ảo
vă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ạo
thư mục ảo của thư mục cài đặt PHP) :
ScriptAlias /php/ “c:/PHP/”
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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ểu
tậ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ương
trì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”
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
II. 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 “DirectoryIndex
index.html index.htm”. Rồi thêm trang mặc định
vào:
DirectoryIndex index.html index.htm index.php
index.php3
CÔNG NGHỆ AJAX
NỘI DUNG
1. Giới thiệu
2. Cơ chế và nguyên lý hoạt động
3. Mô hình tương tác Asynchronous
4. Đối tượng XMLHttpRequest
5. Các công nghệ hổ trợ liên quan
6. Ajax và ứng dụng
CÔNG NGHỆ AJAX
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ìm
hiểu chức năng, vai trò trong công nghệ này.
CÔNG NGHỆ AJAX
I. 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ép
tă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ại
toàn bộ trang Web.
+ Ajax không phải là một công nghệ đơn lẻ mà nó là tập
hợp của nhiều công nghệ.
AsynchronousJavascript + CSS + DOM + XMLHttpRequest
CÔNG NGHỆ AJAX
I. 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.
CÔNG NGHỆ AJAX
I. 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 động
của Ajax như sau :
● Ajax thực hiện tương tác với máy chủ bằng cách
sử 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.
CÔNG NGHỆ AJAX
I. 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ột
Ajax Engine. Khi đó các yêu cầu gởi request và nhận
Response 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ảm
tả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ại
nguyên cả trang.
CÔNG NGHỆ AJAX
I. 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ụng
Web truyền thống .
+ Mô hình thứ hai thể biểu diễn quá trình
tương tác giữa máy chủ và máy khách trong các ứng
dụng Web có sử dụng công nghệ Ajax.
CÔNG NGHỆ AJAX
I. Khái quát chung :
2. Cơ chế và nguyên lý hoạt động :
*Nguyên lý hoạt động :
CÔNG NGHỆ AJAX
I. Khái quát chung :
2. Cơ chế và nguyên lý hoạt động :
*Nguyên lý hoạt động :
CÔNG NGHỆ AJAX
I. 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ên
nhân là :
CÔNG NGHỆ AJAX
I. 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ới
máy chủ như trong trường hợp của Gmail, một khi giao
diệ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ông
nhấ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áy
chủ 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)
CÔNG NGHỆ AJAX
I. 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ủ. Thay
vào đó Ajax sẽ gởi yêu cầu đến máy chủ và nhận kết
quả từ máy chủ về những gì đã thay đổi sau khi máy
chủ thực hiện yêu cầu đó.
- Ajax sau đó sẽ thông báo cho phần giao
diện (thông qua các lời gọi Javascript) thực hiện các
thay đổi tương ứng trên giao diện
CÔNG NGHỆ AJAX
I. 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úp
cho việc thực hiện các thay đổi được diễn ra rất
nhanh (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ấu
hiệu cho thấy máy chủ đang thực hiện công việc.
CÔNG NGHỆ AJAX
I. 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ủa
Ajax
+ Mô hình tương tác của các ứng dụng web
truyền thống (Mô hình đồng bộ )
CÔNG NGHỆ AJAX
I. Khái quát chung :
3. Mô hình tương tác Asynchronous
CÔNG NGHỆ AJAX
I. 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 khi
máy chủ xử lý xong và sau khi nhận được kết quả từ máy
chủ trả về thì người dùng mới có thể tiếp tục thực hiện các
thao 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 .
CÔNG NGHỆ AJAX
I. Khái quát chung :
3. Mô hình tương tác Asynchronous
CÔNG NGHỆ AJAX
I. 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 mang
tí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 ra
vớ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ười
dùng với máy client. Do đó làm giảm đi khoảng
thời gian đợi như ở các mô hình truyền thống.
CÔNG NGHỆ AJAX
II. 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ác
quy 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ọi
XML là “một cú pháp thông dụng cho việc hiển
thị cấu trúc trong dữ liệu”.
CÔNG NGHỆ AJAX
II. 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ội
dung 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ưới
nhiề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ên
văn bản như in đậm, in nghiêng, in gạch dưới, dùng
màu,...
+ Ngoài ra nhờ việc sử dụng các ký tự thông
thường mà con người có thể hiểu được nôi dung của văn
bản ngay khi còn đang ở dạng thô, chưa được áp dụng
bất kỳ dạng biểu diễn nào
CÔNG NGHỆ AJAX
II. 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âu
tuyên bố XML
+ Mỗi bộ phận, gọi là “element” phải
nằ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”/>”
CÔNG NGHỆ AJAX
II. 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ác
Tag 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ết
standalone=”yes”).
CÔNG NGHỆ AJAX
II. 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>
CÔNG NGHỆ AJAX
II. 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ệu
HTML 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 đối
tượ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.
CÔNG NGHỆ AJAX
II. 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ào
bộ nhớ trong dưới dạng một cấu trúc cây
CÔNG NGHỆ AJAX
II. 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ào
bộ nhớ trong dưới dạng một cấu trúc cây
CÔNG NGHỆ AJAX
II. 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 cho
web. XHTML cho phép HTML được mở rộng bằng
các thẻ sở hữu.
+ Ngoài ra XHTML cũng được mã hoá chặt
chẽ hơn HTML và phải tuân thủ nhiều quy tắc cấu
trúc hơn HTML
CÔNG NGHỆ AJAX
II. 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ải
viế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
CÔNG NGHỆ AJAX
II. 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>)
CÔNG NGHỆ AJAX
II. 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ưng
trong 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>
CÔNG NGHỆ AJAX
II. 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>
CÔNG NGHỆ AJAX
II. 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ằng
ngô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 .
CÔNG NGHỆ AJAX
II. 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áy
khách (như JavaScript ) và ngôn ngữ định dạng
CSS 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ựng
các trò chơi đơn giản trên trình duyệt .
CÔNG NGHỆ AJAX
II. 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ểm
quan trọng nhất của Ajax là nằm ở XMLHttpRequest
+ Điều đó cho thấy rằng, vì XMLHttpRequest
có vai trò quan trọng đặc biệt trong công nghệ như vậy
nê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ợ đối
tượ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 đổi
giữa máy client và máy server
CÔNG NGHỆ AJAX
II. 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ằng
JavaScript bạn cần tạo một đối tượng của lớp cung cấp
tính năng này. Trong Interner Exploer (IE) thì lớp này tồn
tạ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). Đối
tượng XMLHttpRequest được hỗ trợ ở IE 5.0+, Safari 1.2,
Mozilla1.0/Firefox, Opera 8.0 và Netcape 7+.
var httpReqquest =new XMLHttpRequest();
CÔNG NGHỆ AJAX
II. 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”);
}
CÔNG NGHỆ AJAX
II. 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 khi
gọi đối tượng XMLHTTP. Quá trình kiểm tra này được
thực hiện thông qua giá trị của window.ActiveXObject
Ví dụ : if(window.ActiveXObject) {
xmlhttp=new
ActiveXObject(“Microsoft.XMLHTTP”);
}
else{…}
Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
I. Giíi thiÖu
Ng«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 ®ang
chøa trong c¸c b¶ng, d÷ liÖu ®−îc rót ra tõ nh÷ng truy vÊn
cã 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.
Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
II. C¸c c©u lÖnh SQL
Trong 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ét
b¶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]]
Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
II. C¸c c©u lÖnh SQL
z * : tÊt c¶ c¸c tr−êng ®Òu ®−îc chän.
z colname: tªn cét.
z tablename: lµ tªn cña mét Table hoÆc nhiÒu Table mµ c¸c
Record ®−îc chän.
z 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.
z 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¸c
b¶n ghi ®· ®−îc chØ ra bëi mÖnh ®Ò Group by.
z Order by: dïng ®Ó s¾p c¸c b¶n ghi t¨ng hay gi¶m
Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
II. C¸c c©u lÖnh SQL
1. LÖnh Select
z 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


Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
II. C¸c c©u lÖnh SQL
1. LÖnh Select
z NÕu sö dông lÖnh: Select Hoten, Ngaysinh From nhansu
z SÏ chän tÊt c¶ c¸c b¶n ghi nh−ng chØ giíi h¹n bëi hai
tr−ß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


Ng«n ng÷ Truy vÊn d÷ liÖ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ét
Record d÷ liÖu míi vµo cho 1 b¶ng.
z Có ph¸p:
Insert Into table[(field1[,field2[,...]])] Values(value1[,
value2[,...])
z Trong ®ã:
Table: tªn cña Table cÇn bæ sung b¶n ghi
filed1,field2: tªn cña c¸c tr−êng cÇn bæ sung d÷ liÖu
value1,value2: gi¸ trÞ cÇn bæ sung øng víi c¸c tr−êng
filed1,field2...
Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
II. C¸c c©u lÖnh SQL
2. LÖnh Insert Into
z VÝ dô:
z 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”)
z Sau khi thùc hiÖn lÖnh nµy b¶ng Nhansu b©y giê
nh− sau:
Ng«n ng÷ Truy vÊn d÷ liÖ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


Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
II. C¸c c©u lÖnh SQL
3. LÖnh Update : LÖnh nµy dïng ®Ó thay ®æi d÷ liÖu
cho c¸c tr−êng trong mét b¶ng tho· m·n ®iÒu kiÖn nµo ®ã
z Có ph¸p:
Update table Set Field1=value1[,...] Where expression
z 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Öu
Value1: gi¸ trÞ d÷ liÖu míi
expression : 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
Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
II. C¸c c©u lÖnh SQL
3. LÖnh Update
z VÝ dô:
z 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Ön
lµ tr−êng Ngaysinh="07/08/1970":
Update Nhansu Set Nghenghiep=“CNVC”
Where Ngaysinh=“07/08/1970”
Ng«n ng÷ Truy vÊn d÷ liÖ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


Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
II. C¸c c©u lÖnh SQL
4. LÖnh Delete
LÖ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 ®ã.
z Có ph¸p:
Delete * From table Where expression
z 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.
Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
II. C¸c c©u lÖnh SQL
4. LÖnh Delete
VÝ dô:
z Xo¸ tÊt c¶ c¸c b¶n ghi trong Table Nhansu cã tr−êng
Nghenghiep=“Häc sinh“.
z 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


Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
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ằng
BETWEEN Nằm giữa một khoảng
LIKE 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 !=
Ng«n ng÷ Truy vÊn d÷ liÖu (SQL)
* Sử dụng dấu nháy
Lư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
+ 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'
* Phép toán điều kiện LIKE
Phé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ảng
WHERE tên_cột LIKE mẫu
Mộ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.
+ Sử dụng LIKE
Câ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 sinhvien
WHERE 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 sinhvien
WHERE ten LIKE '%la%'
Đề tài thi kết thúc học phần
1. Tạo Website theo các chủ đề sau :
z 1. Website về dịch vụ việc làm
z 2. Website về dịch vụ nhà đất
z 3. Website báo điện tử
z 4. Website trường học
z 5. Website bán hàng
z 6. Website dịch vụ giải trí như ECards, Điện hoa, ...
z 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.
z 8. Website giới thiệu âm nhạc
Đề tài thi kết thúc học phần
1. Tạo Website theo các chủ đề sau :
z 9. Website cho sinh viên thi trắc nghiệm
z 10. Website giáo trình điện tử môn học bất kỳ
z 11. Website hỗ trợ công tác đào tạo của trường ĐHBK
z 12. Website quản lý lịch thực hành máy
z 13. Website quản lý quảng cáo
z 14. Xây dựng diễn đàn trên mạng
z 15. Website ký túc xá
z 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áo
z 17. Website quản lý tour du lịch
z 18. Website giới thiệu, hướng dẫn sử dụng ĐTDĐ
Đề tài thi kết thúc học phần
1. Tạo Website theo các chủ đề sau :
z 19. Website phục vụ công tác Đoàn trường đại học
z 20. Website giới thiệu khu di tích Hội An (Mỹ Sơn)
z 21. Website hệ thống thông tin hỗ trợ sinh viên
z 22. Website quản lý cước phí
z 23. Website phục vụ cho bệnh viện
z 22. 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,…
z 2. Tham khảo các site thông tin của Việt Nam
z http://vnexpress.net/
z http://www.vnn.vn/.
z http://www.vdc.com.vn
z 3. Tham khảo các site bán hàng nổi tiếng
z http://shopping.yahoo.com
z http://www.amazon.com
z 4. Tham khảo các site giải trí
z http://greetings.yahoo.com
z http://www.vnn.vn/ecards/
z http://www.fpt.vn/Postcard/main.asp
z http://www.geraldstevens.com/
z http://www.1800flowers.com/
z 5. Tham khảo các site về lao động việc làm tại VN
z http://203.162.5.43/ld2000/
z http://www.vietname-business.com/jobnld/
z http://www.jobsonline.saigonnet.vn/
Hết !!!

You might also like