Tải bản đầy đủ (.doc) (70 trang)

: Xây Dựng Website bán Giấy Dán Tường

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.76 MB, 70 trang )

TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
------    ------
Đồ án tốt nghiệp
Đề tài : Xây Dựng Website bán
Giấy Dán Tường
Giáo viên hướng dẫn : Ths. Phan Hữu Trung
Sinh viên thực hiện : Bùi Mạnh Khiêm - 516251
Lớp quản lý : 51PM1
Hà Nội 05/2010
Đồ án tốt nghiệp
Lời cám ơn
Mạng internet tốc độ cao ADSL xuất hiện ở Việt Nam chỉ vài năm gần đây nhưng ảnh
hưởng của nó tới cuộc sống và lối sống của người Việt rất rõ ràng. Internet đã thành một
thứ không thể thiếu với cộng đồng từ nhà nước tới người dân, từ người già tới giới trẻ.
Internet mang tới một kênh thông tin truyền thông hiệu quả tới người sử dụng. Kéo theo
sự phát triển đó là thương mại điện tử. Thương mại điện tử là một lĩnh vực mới đang
được nhiều cơ quan, nhiều công ty, đoàn thể cũng như cá nhân nghiên cứu và phát triển
nhằm đưa các thiết bị, các ứng dụng liên quan đến điện tử tin học vào phục vụ cho sự
phát triển kinh doanh. Thương mại điện tử của Việt Nam phát triển đi kèm với sự phát
triển của lượng khách hàng. Khách hàng của các trang thương mại điện tử của Việt Nam
hiện nay phần lớn là giới trẻ, họ trao đổi, buôn bán với nhau các vật dụng công nghệ cao
như điện thoại, máy vi tính, sách vở tạp chí .... thậm chí là quần áo, đồ dùng gia đình.
Đó là lý do em thực hiện đồ án tốt nghiệp xây dựng website bán hàng trực tuyến này.
Trên cơ sở muốn tìm hiều về Web và ứng dụng của Web, cũng như những phát triển của
nó, em thực hiện đề tài: “Nghiên cứu jsp & java – Xây Dựng Website bán
Giấy Dán Tường”. Bước đầu nghiên cứu, hiện thực với kiến thức, khả năng và thời gian
có hạn, đồ án này chắc chắn sẽ không tránh khỏi những thiếu sót, rất mong được thầy cô
và các bạn góp ý để có thể hoàn chỉnh hơn trong quá trình nghiên cứu sau này.
Em xin chân thành cảm ơn sự giúp đỡ tận tình của các thầy có trong suốt quá trình thực
tập và làm đồ án tốt nghiệp, đặc biệt là Ths. Phan Hữu Trung người đã trực tiếp hướng


dẫn em trong toàn bộ quá trình thực hiện để hoàn thành đồ án tốt nghiệp này.
2
Đồ án tốt nghiệp
Phụ lục
Phần 1. Giới thiệu tổng quan..........................................................................................3
1.1. Đặt vấn đề...............................................................................................................3
1.2. Công nghệ sử dụng.................................................................................................4
1.3. Chức năng của website...........................................................................................5
Phần 3. Phân tích và thiết kế.........................................................................................6
3.1 Chức năng của hệ thống...........................................................................................6
3.2 ERD.........................................................................................................................8
3.3 Thiết kế cơ sở dữ liệu............................................................................................10
Phần 4. Thiết kế giao diện và cài đặt chương trình........................................................14
4.1 Tổng quát về công nghệ và công cụ sử dụng........................................................14
4.2 Framework symfony.............................................................................................28
4.3 Giao diện và các chức năng của chương trình.....................................................60
Phần 5. Kết luận..............................................................................................................69
5.1 Những điều đã làm được .......................................................................................69
5.2 Hạn chế:.................................................................................................................70
5.3 Hướng phát triển....................................................................................................70
5.4 Tài liệu tham khảo.............................................................................................70
Phần 1. Giới thiệu tổng quan
1.1.Đặt vấn đề
Ngày nay thương mại điện tử đã dần trở nên quen thuộc với người tiêu dùng bởi nó đã
xoá dần mọi khoảng cách giữa người bán và người mua. Thương mại điện tử đã làm cho
việc mua bán giao dịch giữa người bán và người mua trở lên đơn giản hơn bao giờ hết.
Thay vì phải gặp trực tiếp, mọi hoạt động sẽ diễn ra thông qua Internet.
Các hình thức được biết đến nhiều nhất của thương mại điện tử là mua bán trực tuyến
3
Đồ án tốt nghiệp

cũng như mua bán đấu giá thông qua Internet. Thông qua việc Internet bùng nổ vào cuối
thập niên 90, cửa hàng trực tuyến ngày càng có tầm quan trọng nhiều hơn. Những người
bán hàng thông qua Internet có lợi thế là họ không cần đến một diện tích bán hàng thật
sự mà thông qua các trang Web sử dụng một không gian bán hàng ảo. Các cửa hàng trực
tuyến thường không cần đến nhà kho hay chỉ cần đến rất ít, vì thường có thể cung cấp
cho khách hàng trực tiếp từ người sản xuất hay có thể đặt hàng theo nhu cầu. Lợi thế do
tiết kiệm được các phí tổn cố định này có thể được chuyển tiếp cho khách hàng, đó là
việc khách hàng sẽ được giảm chi phi vận chuyển so với cửa hàng cố định.
Kênh bán hàng trực tuyến còn giúp người bán giảm một số chi phí. Thứ nhất, với cửa
hàng trực tuyến, người bán có thể cập nhật giá và các thông tin khác liên tục, không phải
in catalogue (đã in ra thì không thay đổi được) Thứ hai, cửa hàng truyền thống thường
giới hạn về diện tích, trong khi với cửa hàng trực tuyến, người bán có thể giới thiệu tất
cả sản phẩm mà không lo hết chỗ
Trong những năm gần đây, Đảng và Nhà Nước ta đánh giá cao tiềm năng phát triển của
thương mại điện tử và đang đầu tư rất lớn cho thương mại điện tử. Đầu năm 2007, chính
phủ Việt Nam đă ban hành Nghị định số 27/2007/NĐ-CP ngày 23/02/2007 “Quy định
chi tiết thi hành Luật giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số”,
số 35/2007/NĐ-CP ngày 08/03/2007 “ Về giao dịch điện tử trong hoạt động ngân hàng”.
Hiện nay, các mô hình kinh doanh qua hệ thống e-Commerce ngày càng đa dạng. Từ
thực tế này, ứng dụng Web tự động hóa quy trình quản lý và bán hàng trực tuyến (Web
QLBHTT) được thiết kế phù hợp với mọi mô hình kinh doanh trên Internet. Cùng với
sự phát triển mạnh mẽ của Internet thì mọi giao dịch, hoạt động buôn bán đều có thể
được thực hiện thông qua Internet. Một cửa hàng bán sản phẩm điện thoại sẽ hoàn toàn
có thể được thay thế bằng một Website mà ở đó mọi người có thể mua bất cứ sản phẩm
điện thoại yêu thích ngay cả khi ngồi ở nhà hay ở nơi làm việc.
1.2.Công nghệ sử dụng
- Ngôn ngữ xây dựng website : PHP
- Ngoài ra sử thêm các open source : CkEditor, Jquery
4
Đồ án tốt nghiệp

- Cơ sở dữ liệu : My SQLServer download tại MySQL Home page :
, MySQL Workbench (GUI Tool)
download : />1.3.Chức năng của website
Chức năng của website :
1.3.1. Chức năng giỏ hàng
- Khách hàng ghé thăm website có thể tìm kiếm để chọn hàng tùy thích
- Khách hàng có thể thêm, xóa, cập nhật số lượng hàng mà họ muốn mua
1.3.2. Chức năng quản lý thành viên
- Người quản lý có thể thêm một thành viên, sửa thông tin của thành viên, xóa
thông tin của thành viên.
- Người quản lý có thể tìm kiếm thông tin về thành viên theo : Tên đăng nhập,
Email...
1.3.3. Chức năng quản lý sản phẩm
- Người quản lý có thể thêm một sản phẩm mới, cập nhật thông tin của sản phẩm,
xóa sản phẩm nếu cần thiết.
- Người quản lý có thể tìm kiếm sản phẩm theo : Tên sản phẩm, nhà cung cấp.
1.3.4. Chức năng tìm kiếm
- Với chức năng tìm kiếm này khách ghé thăm website sẽ có thể tìm kiếm sản
phẩm theo nhiều tiêu chí : Tên sản phẩm, giá của sản phẩm, Nhà cung cấp, nhóm
của sản phẩm.
1.3.5. Chức năng quản lý tin tức
- Người quản lý có thể thêm hay sửa thậm chí xóa thông tin về một bản tin.
- Về phần tìm kiếm : người quản lý có thể tìm kiếm tin tức theo tiêu đề tin, nguồn
tin.
1.3.6. Quản lý hóa đơn
- Người quản lý có thể xử lý hóa đơn nếu nó hợp lệ và cũng có thể xóa hóa đơn
không hợp lệ.
- Người quản lý có thể tìm kiếm hóa đơn theo: Tên người nhận, Email của người
nhận.
5

Đồ án tốt nghiệp
-
Phần 3. Phân tích và thiết kế
3.1 Chức năng của hệ thống
3.1.1 Khách ghé thăm website
3.1.1.1 Xem tin tức
Mô tả
Cho phép khách hàng có thể xem tin tức
Đầu vào Lựa chọn mục tin tức muốn xem
Xử lý Lấy thông tin từ database
Đầu ra Hiển thị thông tin được yêu cầu
3.1.1.2 Tìm kiếm thông tin
Mô tả
Cho phép khách hàng có thể tìm kiếm thông tin về sản phẩm
Đầu vào Lựa chọn mục cần search và nhập vào từ khóa
Xử lý Lấy thông tin từ database
Đầu ra Hiển thị thông tin được yêu cầu
3.1.1.3 Đăng ký thành viên
Mô tả
Cho phép thành viên đăng ký để trở thành thành viên của website
Đầu vào Tên, tuổi, giới tính, ngày sinh, địa chỉ , email, số điện thoại.
Xử lý - Kiểm tra tính hợp lệ của dữ liệu
- Check register
- Insert Database
Đầu ra - Nếu dữ liệu đưa vào là ko hợp lệ thì đưa ra thông báo không
thành công và ngược lại.
3.1.2 Chức năng thành viên
3.1.2.1 Quản lý thông tin cá nhân
Mô tả
Quản lý toàn bộ thông tin cá nhân

Đầu vào Cật nhập thông tin cá nhân
Xử lý Thêm sửa xóa thông tin
6
Đồ án tốt nghiệp
Đầu ra Hiển thị thông tin
3.1.2.2 Đặt hàng online
Mô tả
Khách hàng ghé thăm website có thể chọn và đặt mua sản phẩm
Đầu vào Lựa chọn các sản phẩm cần mua và số lượng
Xử lý Lưu thông tin giỏ hàng
Đầu ra Hóa đơn thanh toán
3.1.3 Chức năng của admin
3.1.3.1 Quản lý thành viên
Mô tả
Quản lý toàn bộ thành viên và cấp quyền
Đầu vào Cật nhập thông tin các thành viên
Xử lý Thêm sửa xóa thông tin của thành viên
Đầu ra Hiển thị thông tin của thành viên
3.1.3.2 Quản lý sản phẩm
Mô tả
Quản lý toàn thông tin về sản phẩm
Đầu vào Cật nhập thông tin cho sản phẩm
Xử lý Thêm sửa xóa thông tin của sản phẩm
Đầu ra Hiển thị thông tin của sản phẩm
3.1.3.3 Quản lý hóa đơn
Mô tả
Quản lý toàn bộ các hóa đơn
Đầu vào Hóa đơn của khách hàng
Xử lý Quản lý trạng thái của hóa đơn
Đầu ra Hiển thị thông tin về hóa đơn của khách hàng

3.1.3.4 Quản lý tin tức
Mô tả
Quản lý toàn bộ tin tức của web
7
Đồ án tốt nghiệp
Đầu vào Cật nhật thông tin cho tin tức
Xử lý Thêm sửa xóa tin tức
Đầu ra Hiển thị tin tức
3.2 ERD
8
Đồ án tốt nghiệp
9
Categories
Suppliers
Users
Products
Carts
Newscomments
Advert
units level
Have
Have
includ
e
post
order
supply
have
have
Have

n
1 1
n
1
n
n
n
1
n
n
1
1
1
n
1
n
1
Đồ án tốt nghiệp
3.3 Thiết kế cơ sở dữ liệu
10
Đồ án tốt nghiệp
3.3.1 Bảng tin tức (news)
FieldName Data Type Data length Constraint Description
news_id int(10)
Primary key
Mã tin tức
news_title Varchar 50 Tiêu đề
news_img Varchar 50 Hình ảnh
news_content Longtext Nội dung
3.3.2 Bảng comments

FieldName Data Type Data length Constraint Description
com_id int(10)
Primary key
Khoá chính
com_content int(10) Nội dung
com_date Datetime Thơi gian
cprod_id Int(11)
Mã sản
phẩm
username varchar 50 Tài khoản
status tinyint 4
Trạng thái
lời bình
3.3.3 Bảng sản phẩm(products)
FieldName Data Type
Data
length
Constraint Description
prod_id AutoNumber
Primary key
Mã sản phẩm
prod_name Varchar 50 Tên sản phẩm
11
Đồ án tốt nghiệp
prod_image Varchar 50 Hình ảnh
prod_dimemsion varchar 50 Kích thước
product_price
Decimal(10,0) Giá sản phẩm
prod_desc Longtext Mô tả sản phẩm
status tinyint(4)

Trạng thái của
sản phẩm
prod_desc longtext Khuyến mại
3.3.4 Bảng nhà cung cấp(suppliers)
FieldName Data Type Data length Constraint Description
sup_id AutoNumber
Primary key Mã nhà cung
cấp
sup_name varchar 50
Tên Nhà
cung cấp
sup_address varchar Địa chỉ
sup_email varchar 45 Email
sup_website varchar 50 Website
sup_phone varchar 12 Số điện thoại
3.3.5 Bảng nhóm sản phẩm(categories)
FieldName Data Type Data length Constraint Description
cate_id AutoNumber
Primary key
Mã nhóm
cate_name varchar 50 Tên nhóm
cate_type int 11 Loại nhóm
3.3.6 Chi tiết hóa đơn(cart_detail)
FieldName Data Type Data length Constraint Description
12
Đồ án tốt nghiệp
cart_detail_id int(11)
Primary key Mã chi tiết
hóa đơn
cart_id int(10) Mã hóa đơn

prod_id int(10) Mã sản phẩm
quantity
int(10) Số lượng
price decimal(10,0) Giá sản phẩm
3.3.7 Hóa đơn(Cart)
FieldName Data Type Data length Constraint Description
cart_id int(10)
Primary key
Mã hóa đơn
date date
Ngày lập hóa
đơn
status Tinyint 4
Tình trạng hóa
đơn
receiver Varchar 50 Người nhận
address
Varchar 50 Địa chỉ nhận
phone Varchar 12
Số điện thoại
người nhận
username int 11
Tài khoản
người mua
3.3.8 Người dùng(customer)
FieldName Data Type Data length Constraint Description
users_id int(10)
Primary key
Mã user
user_name varchar 50

Tên đăng
nhập
13
Đồ án tốt nghiệp
password varchar 50 Mật khẩu
fullname varchar 50 Họ tên
address varchar 50 Địa chỉ
email varchar 40 Email
phone Varchar 15 Số điện thoại
level int(10) Quyền
Phần 4. Thiết kế giao diện và cài đặt chương trình
4.1 Tổng quát về công nghệ và công cụ sử dụng
4.1.1 Tổng quát về PHP
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại
mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở,
dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào
trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú
pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so
với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web
phổ biến nhất thế giới.
PHP là một công nghệ phía máy chủ (server-side) và không phụ thuộc môi trường
(cross-platform). Cả hai yếu tố này đều rất quan trọng. Khái niệm công nghệ phía máy
chủ nói đến việc mọi thứ trong PHP đều xảy ta trên máy chủ (ngược với máy khách là
máy người dùng). Tính chất không phụ thuộc môi trường cho phép PHP chạy trên hầu
hết các hệ điều hành như Windows , Unix (và nhiều biến thể của nó), Macintosh .. Một
điều cũng rất quan trọng là các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình
thường trên các máy chủ khác mà không cần chỉnh sửa hoặc chỉnh sửa rất ít.
PHP được sử dụng để phát triển Website động vì nó tốt, nhanh và dễ dàng nghiên
cứu hơn các giải pháp khác. PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết
các cơ sở dữ liệu có sẵn, tính bền vững, linh động và khả năng phát triển không giới

14
Đồ án tốt nghiệp
hạn. Tất cả các đặc tính trên đều miễn phí vì PHP là mã nguồn mở. PHP vừa dễ với
người mới sử dụng, vừa có khả năng làm được mọi thứ, đáp ứng yêu cầu của lập trình
viên chuyên nghiệp. PHP được sử dụng ngày càng nhiều và là môđun thông dụng cho
Apache (máy chủ Web phổ biến nhất).
Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng như
thế nào:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
" /><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Xin chào</title>
</head>
<body>
<?php
echo “Chào các bạn”;
?>
</body>
</html>
Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua
đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP
giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần
giao diện ứng dụng HTTP.
1- Lý do chọn php
Khi sử dụng PHP, người dùng sẽ có được tốc độ nhanh hơn nhiều so với các ngôn
ngữ kịch bản khác, bởi PHP là phần mềm mã nguồn mở, được hỗ trợ bởi nhiều lập trình
viên giỏi, có số lượng người dùng đông đảo. Ngoài ra PHP chạy được trên nhiều hệ điều
hành khác nhau
Rút ngắn thời gian phát triển

- PHP cho phép bạn tách phần HTML code và phần script, do đó có thể độc lập giữa
công việc phát triển mã và thiết kế. Điều này vừa giúp lập trình viên dễ dàng hơn
vừa có thể làm cho chương trình mềm dẻo hơn trong việc thay đổi giao diện
PHP là phần mềm mã nguồn mở
- PHP không chỉ là phần mềm mã nguồn mở mà còn thực sự miễn phí (kể cả khi bạn
sử dụng cho mục đích thương mại)
15
Đồ án tốt nghiệp
- Do là phần mềm mã nguồn mở, các lỗi (bug) của PHP được công khai và nhanh
chóng được sửa chữa bởi nhiều chuyên gia
Tốc độ
- Nhờ vào sức mạnh của Zend Engine, khi so sánh PHP với ASP, có thể thấy PHP
vượt hơn ở một số test, vượt trội ở tốc độ biên dịch.
Tính khả chuyển
- PHP được thiết kế để chạy trên nhiều nền tảng khác nhau, có thể làm việc với nhiều
phần mềm máy chủ, cơ sở dữ liệu (ví dụ: bạn có thể phát triển dự án trên UNIX, sau
đó chuyển sang NT mà không gặp phải bất cứ vấn đề gì)
2- Zend engine
Zend là scripting engine nằm bên trong PHP. Zend Engine thực sự là sự cải tiến đáng
kể. Hầu hết các đoạn mã viết trên PHP3 đều có thể chạy trên PHP4 với tốc độ tăng gấp
200 lần
3- Cài đặt php
Bạn có thể tìm phiên bản mới nhất của PHP tại địa chỉ
PHP là phần mềm mã nguồn mở, bạn có thể download cả mã nguồn của PHP
Bạn có thể tìm tài liệu tham khảo của PHP tại địa chỉ
Cài đặt PHP với IIS
Control Panel/Add Remove Programs/Add Remove Window Components
Bật Internet Information Services
Download PHP Installer (Windows Binaries) từ
Cài đặt PHP (chọn server IIS)

Cài đặt Apache
Download Apache tại />Cài đặt Apache
Download bản PHP zip package (Window Binaries)
Giải nén vào thư mục C:\PHP
Sửa file conf/httpd.conf, thêm vào nội dung sau
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
Hoặc (Copy php5ts.dll vào thư mục c:/windows/system32)
16
Đồ án tốt nghiệp
LoadModule php5_module "c:/php/sapi/php5apache2.dll"
AddType application/x-httpd-php .php
Thêm alias (vào trong httpd.conf)
Alias fake “realname”
Alias /pm/ "C:/PMNM/51pm1/51pm1/”
Chú ý: fake phải bắt đầu bằng /nếu fake kết thúc bằng / thì realname cũng phải kết thúc
bằng /
Chương trình đầu tiên (bạn có thể soạn bằng bất kỳ trình soạn thảo văn bản nào)
<?php
echo “Hello world”;
?>
Lưu file dưới tên hello.php tại c:\inetpub\wwwroot\php (IIS) hoặc trong thư mục ứng
với Alias vừa tạo ra
Tại trình duyệt, nhập vào địa chỉ http://localhost/php/hello.php
4- Các IDE cho php:
Như đã biết, bạn có thể viết chương trình PHP bằng bất cứ hệ soạn thảo văn bản
nào. Tuy nhiên, để có được các chức năng hỗ trợ như AutoComplete, Debug...
cần phải sử dụng các IDE dành riêng cho PHP:
a. Macromedia DreamWaver

b. Nusphere PHPED
c. Zend Studio
4.1.2 Cú pháp của PHP
1- Cấu trúc cơ bản:
PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ HTML. Chỉ khác, đối với PHP
chúng ta có nhiều cách để thể hiện.
Cách 1 : Cú pháp chính:
<? php Mã lệnh PHP ?>
Cách 2: Cú pháp ngắn gọn
<? Mã lệnh PHP ?>
17
Đồ án tốt nghiệp
Cách 3: Cú pháp giống với ASP.
<% Mã lệnh PHP %>
Cách 4: Cú pháp bắt đầu bằng script
<script language=php>
.....
</script>
Mặc dù có 4 cách thể hiện. Nhưng đối với 1 lập trình viên có kinh nghiệm thì việc sử
dụng cách 1 vẫn là lựa chon tối ưu.
Trong PHP để kết thúc 1 dòng lệnh chúng ta sử dụng dấu ";"
Để chú thích 1 đoạn dữ liệu nào đó trong PHP ta sử dụng dấu "//" cho từng dòng. Hoặc
dùng cặp thẻ "/*……..*/" cho từng cụm mã lệnh.
2- Xuất giá trị ra trình duyệt:
Để xuất dữ liệu ra trình duyệt chúng ta có những dòng cú pháp sau :
- Echo "Thông tin";
- Printf "Thông tin";
Thông tin bao gồm : biến, chuỗi, hoặc lệnh HTML ….
<?php
echo “Chào các bạn”;

printf “hello”;
?>
Nễu giữa hai chuỗi muốn liên kết với nhau ta sử dụng dấu "."
<?php
echo “Chào”.” Các bạn”;
?>
2- Khái niệm biến, hằng, chuỗi và các kiểu dữ liệu
a) Biến trong PHP.
Biến được xem là vùng nhớ dữ liệu tạm thời. Và giá trị có thể thay đổi được. Biến được
bắt đầu bằng ký hiệu "$". Và theo sau chúng là 1 từ, 1 cụm từ nhưng phải viết liền hoặc
có gạch dưới. Một biến được xem là hợp lệ khi nó thỏa các yếu tố :
- Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự, số hay dấu
gạch dưới
- Tên của biến không được phép trùng với các từ khóa của PHP.
Trong PHP để sử dụng một biến chúng ta thường phải khai báo trước, tuy nhiên đối với
18
Đồ án tốt nghiệp
các lập trình viên khi sử dụng họ thường xử lý cùng một lúc các công việc, nghĩa là vừa
khái báo vừa gán dữ liệu cho biến.
Bản thân biến cũng có thể gãn cho các kiểu dữ liệu khác. Và tùy theo ý định của người
lập trình mong muốn trên chúng.
Một số ví dụ về biến :
<?php
$a = 100; // biên hợp lệ
$a = “hello”; // biến hợp lệ
a = “hello”; // có lỗi vì không có $
$123 = “hello”; //có lỗi vì biến bắt đầu bằng số
?>
b) Khái niệm về hằng trong PHP.
Nếu biến là cái có thể thay đổi được thì ngược lại hằng là cái chúng ta không thể thay

đổi được.
- Định nghĩa hằng bằng cách sử dụng hàm define()
- Phạm vi của hằng là toàn cục (global)
- Chỉ có các dạng dữ liệu đơn giản (boolean, interger, float, string)
- Nếu tên hằng chưa được định nghĩa, PHP giả thiết rằng bạn đang sử dụng 1 hằng
chứa giá trị là 1 string (chính là tên của hằng đó).
- Để xác định một hằng đã được định nghĩa hay chưa, bạn có thể sử dụng hàm
defined.
Cũng giống với biến hằng được xem là hợp lệ thì chúng phải đáp ứng 1 số yếu tố :
- Hằng không có dấu "$" ở trước tên.
- Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh
- Hằng chỉ được phép gán giá trị duy nhất 1 lần.
- Hằng thường viết bằng chữ in để phân biệt với biến
Ví dụ :
<?php
define(“RIA”,”Rich Internet Application”);
define(“Yellow”,”#ffff00”);
?>
19
Đồ án tốt nghiệp
c) Khái niệm về string trong PHP.
String trong PHP là một chuỗi các ký tự 1 byte. PHP không hỗ trợ Unicode, để làm việc
với Unicode bạn phải sử dụng UTF8 với các hàm utf8_encode() – utf8_decode()
String của PHP hỗ trợ chiều dài rất lớn (?)
Trong PHP, string được xác định theo 3 cách
Dấu nháy đơn (single quote)
Dấu nháy kép (double quote)
Heredoc
Truyền biến trong string
Truyền kiểu đơn giản

Truyền kiểu phức
Truy cập đến từng ký tự trong string
Các toán tử trên string
Ví dụ :
<?php
echo ‘this is a sample string’; // kiểu nháy đơn
echo “this is a sample string”; // kiểu nháy kép
// kiêu heredoc
$str = <<<EOA
Example of string <br>
spanning multiple lines<br>
using heredoc syntax.<br>
EOA;
echo($str);
?>
d) Các kiểu dữ liệu trong php
Trong php chúng ta có 6 kiểu dữ liệu sau:
20
Đồ án tốt nghiệp
3- Sử dụng php để kết nối cơ sở dữ liệu
Có 2 cách kết nối PHP với CSDL
- Sử dụng các hàm riêng cho từng loại CSDL
Ưu điểm: Tốc độ cao do được thiết kế cho từng CSDL cụ thể. Tận dụng được ưu điểm
của từng loại CSDL
Nhược điểm: Không có tính khả chuyển giữa các CSDL
- Sử dụng các hàm độc lập CSDL (thư viện PEAR DB)
Ưu điểm: Có thể sử dụng trên nhiều CSDL khác nhau
Nhược điểm: Chậm hơn phương pháp trên, không tận dụng được ưu điểm của từng
CSDL.
Cài đặt thư viện PEAR

– Yêu cầu: PHP phiên bản 5.0
– Cài đặt PHP
– Chạy go-pear.bat
– Theo các hướng dẫn trong chương trình (các tham số chỉ cần đặt mặc
định)
- Nếu không cài đặt PEAR, mà copy từ máy khác, phải thêm vào
C:/Windows/PHP.INI 2 dòng như ở dưới
- Cấu hình Zend Studio để làm việc với PEAR DB
– Thêm vào file $Zend_dir/bin/php5/php.ini 2 dòng
include_path=".;C:/php/pear"
extension_dir="c:/php/ext"
– Copy file libMySQL.dll vào $Windows/$System (nếu bạn sử dụng IIS)
Cài IIS, cài Mysql 5.0, cài PHP
Copy $\Mysql\bin\libMysql.dll đến c:\windows\system32
Copy PHP.rar đè lên thư mục c:/PHP
Sửa nội dung c:\windows\system32\PHP.INI, thêm vào các dòng sau (để ở cuối file)
include_path=".;C:/php/pear"
extension_dir=" c:/php/ext"
extension=php_mysql.dll
Sau đó, có thể chạy được trên local host (trên Zend thì phải config thêm, tốt nhất là
đừng config)
21
Đồ án tốt nghiệp
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có
sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên
nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh
nghiệp.
4.1.3 Tổng quát về MySQL Server
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới (nằm
trong nhóm LAMP: Linux - Apache -MySQL - PHP) và được các nhà phát triển rất ưa

chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn
định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành, cung cấp
một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất
thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn
cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều
hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS
X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, ...
22
Đồ án tốt nghiệp
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ
sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm
nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,... Hiện nay trong
số các Website có lưu lượng truy cập lớn thuộc hàng “top” trên Internet, có rất nhiều
Website sử dụng liên minh LAMP này. ”Liên minh” mã mở LAMP đang được coi là
một đối trọng với các sản phẩm mã đóng của Microsoft (Windows, IIS, SQL Server,
ASP/ASP.NET).
Một số đặc điểm của MySQL:
• MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương
đương với SQL Server của Microsoft).
• MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều
bảng quan hệ chứa dữ liệu.
• MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có
thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên
truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL.
Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của
tài khoản có quyền sử dụng CSDL đó. Nếu không, sẽ không không thể kết nối và sử
dụng dữ liệu trong đó.
23
Đồ án tốt nghiệp

4.1.4 Tổng quát về Ajax
Vào những năm 90, trên thế giới, khi mà công nghệ “Web động” cho phép các lập
trình viên nhanh chóng phát triển các ứng dụng trên nền Web với khả năng tương tác 2
chiều với người sử dụng, nhiều người đã có thể hy vọng rằng đến một lúc nào đó tất cả
các ứng dụng mà chúng ta sử dụng sẽ là các ứng dụng Web thay vì các phần mềm chạy
độc lập trên các máy tính đơn lẻ (ứng dụng desktop). Quả thật, với sự phát triển chóng
mặt của mạng Internet cùng với những ưu điểm của các ứng dụng Web (truy cập tại mọi
nơi, không cần nâng cấp nhiều về phía máy sử dụng,…), tương lai của các phần mềm
chắc chắn sẽ gắn chặt với các ứng dụng Web, nếu không muốn nói là có thể sẽ bị thay
thế. Tuy nhiên, cho đến giờ, hy vọng đó vẫn chưa được đáp ứng một cách triệt để bởi
một số điểm đặc trưng của ứng dụng Web lại chính là những giới hạn tưởng chừng như
không thể vượt qua nổi. Đó chính là cách thức mà người dùng và ứng dụng Web tương
tác với nhau.
Khác với các phần mềm chạy độc lập ở máy khách (có khả năng tương tác gần
như tức thời với người dùng), các ứng dụng Web bị giới hạn bởi chính nguyên lý hoạt
động của nó: tất cả các giao dịch phải thực hiện thông qua phương thức giao dịch HTTP
(HyperText Transport Protocol - Giao thức truyền tải qua các siêu liên kết) trong một
mô hình có tên Client/Server. Bất kỳ một tác động nào của người dùng lên ứng dụng
Web thông qua trình duyệt đều cần thời gian gửi về Server và sau khi xử lý, Server sẽ
trả về những thông tin người dùng mong đợi. Như vậy, độ trễ trong trường hợp này
chính là điều mà các ứng dụng Web khó có thể sánh với như các phần mềm chạy trên
máy tính đơn lẻ (đặc biệt là trong các ứng dụng như Bản đồ trực tuyến, soạn thảo văn
bản trực tuyến, sát hạch trực tuyến có tính thời gian làm bài…).
Thuật ngữ AJAX được xuất hiện vào ngày 18/2/2005 trong một bài báo có tên AJAX :
A New Approach to Web Applications [1] của tác giả Jesse James Garrett, công ty
AdapativePath. Ông định nghĩa và tóm gọn lại từ cụm từ “Asynchronous
JavaScript+CSS+DOM+XMLHttpRequest”. Ngay sau đó thuật ngữ AJAX được phổ
biến cực kỳ nhanh chóng trong cộng đồng phát triển Web và cho đến nay nó là một
trong những từ khóa được tìm kiếm nhiều nhất trên Internet.
Nội dung định nghĩa của Garrett về AJAX trong bài báo của mình như sau:

AJAX không phải là một công nghệ. Nó là tập hợp của nhiều công nghệ với thế
mạnh của riêng mình để tạo thành một sức mạnh mới. AJAX bao gồm:
24
Đồ án tốt nghiệp
1. Thể hiện Web theo tiêu chuẩn XHTML và CSS;
2. Nâng cao tính năng động và tương tác bằng DOM (Document Object Model);
3. Trao đổi và xử lý dữ liệu bằng XML và XSLT;
4. Truy cập dữ liệu theo kiểu bất đồng bộ (asynchronous) bằ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.
Trong các thành phần cấu thành trên, điểm mấu chốt của AJAX nằm ở
XMLHttpRequest. Đây là một kỹ thuật do Microsoft khởi xướng và tích hợp lần đầu
tiên vào IE5 dưới dạng một ActiveX. Mozilla tích hợp công nghệ này vào Mozilla
1.0/Netscape 6 sau đó (đương nhiên toàn bộ các version sau này của Firefox đều có
XMLHttpRequest) và hiện nay đã có trong trình duyệt Safari 1.2 (Apple) và Opera 7 trở
lên. Các vấn đề về XMLHttpRequest và cách sử dụng nó trên các trình duyệt khác nhau
sẽ được chúng ta quay trở lại ở các phần tiếp theo. Sau đây là một số nét khác biệt cơ
bản giữa các ứng dụng Web truyền thống và ứng dụng Web sử dụng AJAX.
Trong các ứng dụng Web truyền thống, khi người dùng có một cần thay đổi dữ liệu trên
trang Web, yêu cầu thay đổi được gửi về server dưới dạng HTTP request (hay còn gọi
postback), server sẽ xử lý yêu cầu này và gửi trả lại trang HTML khác thay thế trang cũ.
Qui trình này được mô tả là nhấp-chờ và tải lại (click-wait-and-refresh): ví dụ người
dùng sau khi nhấn một nút “Submit” trên trang Web phải chờ cho đến khi server xử lý
xong mới có thể tiếp tục công việc. Ngược lại, trong các ứng dụng AJAX, người dùng
có thể nhấn chuột, gõ phím liên tục mà không cần chờ đợi. Nội dung tương ứng với
từng hành động của người dùng sẽ gần như ngay lập tức được hiển thị vào vị trí cần
thiết (đáp ứng gần như tức thời) trong khi trang Web không cần phải refresh lại toàn bộ
nội dụng. Để tìm hiểu kỹ hơn điều này, ta sẽ xem xét 2 mô hình ứng dụng như [1] đã đề
cập, Mô hình cổ điển và Mô hình AJAX-based:
25

×