SlideShare a Scribd company logo
1 of 158
Download to read offline
Biên soạn: Nguyễn Tấn Thành
Email: Tanthanh.tayninh@gmail.com
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
KHOA MẠNG MÁY TÍNH & TRUYỀN THÔNG – LỚP MMT03
–&—
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
2
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
LỜI CỦA TÁC GIẢ
Xin kính chào các bạn! Tôi không phải là một người chuyên nghiệp trong lĩnh vực thiết kế web.
Tôi cũng không phải là một giáo viên dạy công nghệ thông tin. Đây là đầu tiên trong đời tôi tự
viết được một cuốn sách và chia sẽ nó cho cộng động. Tôi rất vui vì điều này, và tôi tin chắc
những bạn IT nào cũng có cảm giác đó như tôi.
Chuyên đề THIẾT KẾ WEB VỚI JOOMLA này là những ngày đêm miệt mài nghiên cứu của
tôi. Tôi rất vinh hạnh chia sẽ kiến thức của mình cho các bạn. Đặc biệt là những bạn mới làm
quen với Joomla, để các bạn không phải mệt óc với cả khối tài liệu rời rạc, vừa tiếng Anh, vừa
tiếng Việt trên mạng như hiện nay.
Với tất cả những gì có thể tôi đã biên soạn thành công tài liệu thiết kế web với Joomla này bao
gồm những nội dung cơ bản nhất giúp các bạn tự tạo, và quản trị một website đơn giãn bằng
Joomla. Bạn sẽ bắt đầu với việc tìm hiểu về những nguyên lý hoạt động của internet và
website. Tiếp đó bạn cùng tôi khám phá cách cài đặt một website mã nguồn Joomla như thế
nào. Từ kiến thức nền tảng có được trong việc sử dụng những thành phần mở rộng của có
sẳn trong Joomla, bạn sẽ tục tìm những thành phần mở rộng nâng cao để thiết kế một trang
web chuyên nghiệp hơn, như trang web tin tức, web chia sẽ file, web thương mại điện tử,
diễn đàn...Công việc cuối cùng mà bạn sẽ được tìm hiểu là việc bảo mật cho website, và tối
ưu hóa website sử dụng Joomla. Hầu hết các bài thực hành đều làm trên localhost, như vậy nếu
bạn có nhu cầu chia sẽ website cho mọi người thì làm sao. Chương cuối cùng của cuốn sách này
sẽ hướng dẫn cách up website lên internet.
Mặc dù đã cố gắn hết sức, nhưng cũng còn nhiều phần mà tôi chưa kịp chia sẽ với các bạn. Kiến
thức thì quá là bao la, tôi cũng chia kịp khám phá ra hết. Vì vậy nếu có phần nao thiếu xót mong
các bạn góp ý tậng tình.
Tôi là người rất ngay thẳng, nghĩ sao nói vậy, “nói sao viết vậy”. Đó chính là khuyết điểm lớn
nhất của tôi – sai lổi chính ta. Vì vậy nếu bạn có gặp những từ nào trong cuốn sách này viết sai
lổi chính tả thì mong bạn bỏ qua lổi đó cho tôi.
Lời cuối cùng, mong các bạn học thật tốt. Khi đã đọc xong cuốn sách và tạo được một website
thì đừng quên chia sẽ nó cho tôi. Gửi về địa chỉ email bên dưới!
Trân trọng cảm ơn !
Nguyễn Tấn Thành
Blog: http://dctlive.22web.net
http://dctuit.wordpress.com
Email: Tanthanh.tayninh@gmail.com
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ3
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
MỤC LỤC
LỜI CỦA TÁC GIẢ................................................................................................................................................... 2
MỤC LỤC................................................................................................................................................................ 3
CHƯƠNG 1: CÁC VẤN ĐỀ TRƯỚC KHI SỬ DỤNG JOOMLA ....................................................................... 7
BÀI 1: INTERNET .................................................................................................................................................... 7
I: GIAO THỨC (PROTOCOL)........................................................................................................................... 7
II: PHÂN LOẠI WEB ......................................................................................................................................... 8
BÀI 2: DOMAIN AND HOSTING........................................................................................................................... 9
I: DOMAIN......................................................................................................................................................... 9
II: HOSTING.................................................................................................................................................... 10
BÀI 3: NGÔN NGỮ LẬP TRÌNH VÀ CƠ SỞ DỮ LIỆU .................................................................................... 11
I: NGÔN NGỮ LẬP TRÌNH............................................................................................................................. 11
II: CƠ SỞ DỮ LIỆU (DATABASES)................................................................................................................ 12
BÀI 4: CÀI ĐẶT WEB SERVER XAMPP............................................................................................................ 12
I: GIỚI THIỆU................................................................................................................................................. 12
II: CÀI ĐẶT...................................................................................................................................................... 12
III: CẤU HÌNH................................................................................................................................................. 16
BÀI 5: QUẢN TRỊ CƠ SỞ DỮ LIỆU BẰNG PHPMYADMIN .......................................................................... 18
I: GIỚI THIỆU................................................................................................................................................. 18
II: THAY ĐỔI MẬT KHẨU TRUY CẬP DỮ LIỆU .......................................................................................... 18
III: QUẢN TRỊ CƠ SỞ DỮ LIỆU..................................................................................................................... 19
BÀI 6: QUẢN TRỊ CSDL BẰNG NAVICAT........................................................................................................ 24
I: GIỚI THIỆU................................................................................................................................................. 24
II: QUẢN TRỊ CSDL VỚI NAVICAT................................................................................................................ 24
BÀI 7: LẬP TRÌNH PHP........................................................................................................................................ 27
CHƯƠNG 2: CÀI ĐẶT VÀ CẤU HÌNH JOOMLA............................................................................................. 48
BÀI 1: GIỚI THIỆU JOOMLA ............................................................................................................................. 48
I: VỀ JOOMLA................................................................................................................................................. 48
II: CÁC THÀNH PHẦN MỞ RỘNG CỦA JOOMLA ....................................................................................... 49
III : CÁC THUẬT NGỮ.................................................................................................................................... 50
BÀI 2: CÀI ĐẶT JOOMLA.................................................................................................................................... 52
BÀI 3 : GIỚI THIỆU GIAO DIỆN LÀM VIỆC CỦA ADMIN........................................................................... 57
I: GIAO DIỆN LÀM VIỆC................................................................................................................................ 57
II: HỆ THỐNG MENU..................................................................................................................................... 59
BÀI 4: CẤU HÌNH CƠ BẢN CHO WEBSITE ..................................................................................................... 61
CHƯƠNG 3: QUẢN LÝ BÀI VIẾT TRONG JOOMLA..................................................................................... 63
BÀI 1: QUẢN LÝ SECTION.................................................................................................................................. 63
I: GIỚI THIỆU................................................................................................................................................. 63
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
4
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
II: TẠO MỚI SECTION.................................................................................................................................... 63
III : QUẢN LÝ SECTION ................................................................................................................................. 64
BÀI 2 : QUẢN LÝ CATEGORY............................................................................................................................ 65
I : GIỚI THIỆU................................................................................................................................................ 65
II : TẠO MỚI CATEGORY............................................................................................................................... 65
III : QUẢN LÝ CATEGORY ............................................................................................................................. 66
BÀI 3 : QUẢN LÝ BÀI VIẾT................................................................................................................................. 67
I : THÊM MỚI BÀI VIẾT ................................................................................................................................. 67
II : QUẢN LÝ BÀI VIẾT................................................................................................................................... 68
III : CẤU HÌNH CÁC THÔNG SỐ CHO BÀI VIẾT......................................................................................... 68
IV: TẠO BÀI VIẾT NÂNG CAO ....................................................................................................................... 70
BÀI 4: QUẢN LÝ ĐA PHƯƠNG TIỆN................................................................................................................. 73
HƯỚNG DẪN QUẢN LÝ ĐA PHƯƠNG TIỆN................................................................................................ 73
QUY ĐỊNH THƯ MỤC LƯU TRỮ................................................................................................................... 74
BÀI 5: QUẢN LÝ USER ......................................................................................................................................... 74
QUẢN LÝ USER VÀ TẠO MỚI USER ............................................................................................................. 74
PHÂN QUYỀN TRONG JOOMLA................................................................................................................... 75
CHƯƠNG 4: LÀM VIỆC CƠ BẢN VỚI CÁC THÀNH PHẦN MỞ RỘNG..................................................... 78
BÀI 1: CÀI ĐẶT CÁC THÀNH PHẦN MỞ RỘNG ............................................................................................ 78
CÁCH CÀI ĐẶT EXTENSIONS ....................................................................................................................... 78
BÀI 2: TEMPLATE................................................................................................................................................. 80
HƯỚNG DẪN CÀI ĐẶT TEMPLATE .............................................................................................................. 80
CẤU TRÚC GÓI CÀI ĐẶT CỦA TEMPLATE ................................................................................................. 82
TẬP HỢP CÁC TRANG CUNG CấP TEMPLATE FREE................................................................................ 82
BÀI 3: MODULE..................................................................................................................................................... 83
TẠO MỚI MỘT MODULE............................................................................................................................... 84
BÀI 4: PLUGIN........................................................................................................................................................ 85
PHÂN LOẠI PLUGIN ...................................................................................................................................... 85
BÀI 5: KHAI THÁC COMPONENT..................................................................................................................... 86
I : Banner ......................................................................................................................................................... 86
II: Contacts....................................................................................................................................................... 88
II: News Feed ................................................................................................................................................... 88
IV: Polls............................................................................................................................................................ 89
V: Search.......................................................................................................................................................... 90
VI: Web Links................................................................................................................................................... 90
BÀI 6: TẠO VÀ QUẢN LÝ MENU ....................................................................................................................... 91
Tạo Menu.......................................................................................................................................................... 91
MENU Đặc Biệt................................................................................................................................................ 92
Tạo DropDown Menu....................................................................................................................................... 93
BÀI 7: KHAI THÁC MODULE CÓ SẴN TRONG JOOMLA ........................................................................... 94
I: Latest News (Tin mới nhất), Popular (Tin đọc nhiều nhất) .......................................................................... 94
II: Who’s Online............................................................................................................................................... 94
III: News Flash................................................................................................................................................. 95
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ5
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
IV: Customs HTML .......................................................................................................................................... 95
CHƯƠNG 5: TIẾNG VIỆT TRONG JOOMLA .................................................................................................. 96
BÀI 1: VIỆT HÓA JOOMLA................................................................................................................................. 96
I: HƯỚNG DẪN TỰ VIỆT HÓA ...................................................................................................................... 96
II: HƯỚNG DẪN VIỆT HÓA BẰNG GÓI NGÔN NGỮ CÓ SẴN.................................................................... 97
BÀI 2: CÀI BỘ GÕ TIẾNG VIỆT VÀO TRANG WEB...................................................................................... 98
I: Cài đặt bộ gõ tiếng Việt AVIM thủ công cho Joomla ................................................................................... 98
II:Cài đặt bộ gõ tiếng việt AVIM bằng Module................................................................................................ 99
BÀI 3: LỖI HIỂN THỊ TIẾNG VIỆT.................................................................................................................. 100
CHƯƠNG 6: KHAI THÁC THÀNH PHẦN MỞ RỘNG NÂNG CAO............................................................ 101
BÀI 1: KHAI THÁC MODULE........................................................................................................................... 101
I: VISITORS COUNTER ................................................................................................................................ 101
II: SLIDE SHOW............................................................................................................................................ 101
III: JA TABS ................................................................................................................................................... 102
IV: MAXI MENU............................................................................................................................................ 103
BÀI 2: TẠO VÀ QUẢN LÝ COMMENTS.......................................................................................................... 104
GIỚI THIỆU VÀ CÀI ĐẶT............................................................................................................................. 104
QUẢN LÝ COMMENTS ................................................................................................................................. 105
CẤU HÌNH ..................................................................................................................................................... 105
BÀI 3 : TRÌNH SOẠN THẢO JCE...................................................................................................................... 107
PHÂN NHÓM SỬ DỤNG .............................................................................................................................. 107
BÀI 4: TẠO WEB THƯƠNG MẠI ĐIỆN TỬ VỚI VIRTUE MARK.............................................................. 109
TÍNH NĂNG CỦA VIRTURE MARK ............................................................................................................. 109
HƯỚNG DẪN CÀI ĐẶT................................................................................................................................. 109
VIỆT HÓA VIRTURE MARK ......................................................................................................................... 110
SỬ DỤNG CÁC MODULE ............................................................................................................................ 111
THEME CHO VIRTURE MARK .................................................................................................................... 112
BÀI 5: QUẢN LÝ FILE VỚI DOCMAN............................................................................................................. 113
I: CÀI ĐẶT DOCMAN ................................................................................................................................... 113
II: CHIA SẼ TÀI NGUYÊN............................................................................................................................. 113
III : PHÂN QUYỀN THEO NHÓM................................................................................................................ 117
IV : THEME CHO DOCMAN ........................................................................................................................ 117
BÀI 6: TẠO DIỄN ĐÀN ĐƠN GIÃN VỚI KUNENA........................................................................................ 119
I: CÀI ĐẶT KUNENA..................................................................................................................................... 119
II: TẠO MỚI CÁC DANH MỤC TRONG FORUM........................................................................................ 119
III: NHỮNG CHỨC NĂNG KHÁC ................................................................................................................ 121
BÀI 7: TẠO WEB NHẠC VỚI MAIAN MUSIC................................................................................................ 122
CÀI ĐẶT......................................................................................................................................................... 122
SỬ DỤNG MAIANMUSIC ............................................................................................................................. 124
HIỂN THỊ CÁC BÀI HÁT MỚI ĐĂNG .......................................................................................................... 130
VIỆT HÓA MAIAN MUSIC............................................................................................................................ 131
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
6
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
BÀI 8: TẠO WEB ẢNH PHOCA GALLERY .................................................................................................... 132
QUẢN LÝ ALBUM............................................................................................................................................ 132
HIỂN THỊ ALBUM............................................................................................................................................. 133
THEME CHO PHOCA GALLERY .................................................................................................................... 134
MODULE PHOCA GALLERY MENU ....................................................................................................................... 135
BÀI 9: TẠO MENU VỚI SWMENUFREE......................................................................................................... 136
BÀI 10: PLUGIN CHÈN NHẠC – VIDEO ......................................................................................................... 139
CHƯƠNG 7: NHỮNG VẤN ĐỀ NÂNG CAO KHI QUẢN TRỊ WEB VỚI JOOMLA.................................. 141
BÀI 1: ĐẢM BẢO AN TOÀN CHO WEBSITE ................................................................................................. 141
I:BACKUP WEBSITE & DATABASE ............................................................................................................ 141
II: THAY ĐỔI TIỀN TỐ MẶC ĐỊNH CHO DATABASE................................................................................ 142
III: THAY ĐỔI ĐƯỜNG DẪN MẶC ĐỊNH CHO TRANG QUẢN TRỊ.......................................................... 144
BÀI 2: TỐI ƯU HÓA WEBSITE ......................................................................................................................... 145
I: SỬ DỤNG CACHING................................................................................................................................. 145
II: TỐI ƯU HÓA DATABASE ........................................................................................................................ 146
III: TẠO ĐƯỜNG DẪN THÂN THIỆN .......................................................................................................... 147
IV: MỘT SỐ PHƯƠNG PHÁP TỐI ƯU KHÁC............................................................................................. 148
BÀI 3: XUẤT BẢN WEBSITE LÊN INTERNET .............................................................................................. 148
I: HƯỚNG DẪN ĐĂNG KÝ HOST FREE TẠI BYETHOST........................................................................... 148
II: QUẢN LÝ FILE TRÊN HOST.................................................................................................................... 151
III: XUẤT BẢN WEBSITE LÊN INTERNET .................................................................................................. 153
IV: THÔNG SỐ CẦN CHÚ Ý KHI TẢI WEBSITE LÊN INTERNET.............................................................. 156
LỜI CẢM ƠN......................................................................................................................................................... 158
TÀI LIỆU THAM KHẢO..................................................................................................................................... 158
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ7
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
CHƯƠNG 1: CÁC VẤN ĐỀ
TRƯỚC KHI SỬ DỤNG JOOMLA
–&—
BÀI 1: INTERNET
I: GIAO THỨC (PROTOCOL)
1: Khái niệm
Ngôn ngữ được sử dụng bởi các thực thể mạng gọi là giao thức truyền thông (gọi tắc là
giao thức). Các bên hiểu nhau do giao thức định nghĩa một ngôn ngữ chung giữa các
thành phần mạng. Từ khái niệm cơ bản này, bạn có thể hiểu giao thức là thủ tục, quy tắc
hoặc các đặc tả chính thức đã được chấp nhận nhằm xác định các hành vi và ngôn ngữ
trao mà các bên trao đổi với nhau.
Trong cuộc sống chúng ta cũng áp dụng nhiều quy tắc khác nhau. Ví dụ như khi đi đến
một nơi mang tính chất quan trọng, mọi người luôn phải tuân thủ những quy tắc về trang
phục như phải mặc đồ vét có thắc caravat. Trong khi đi đến một quán ăn bình dân thì
mặc gì cũng được. Trong mạng máy tính giao thức là những bản đặc tả về cách thức “xử
sự” của các thực thể tham gia truyền thông.
Trong việc thiết kế web bạn cần quan tâm đến hai giao thức là HTTP và FTP.
2: Giao thức HTTP
Hyper Text Transfer Protocol (HTTP)
Là trái tim của web. Giao thức HTTP được triển khai trên cả hai phía Client và Server.
HTTP quy định cách thức trao đổi thông tin thông qua việc giao tiếp bằng các thông điệp
HTTP.
HTTP xác định cách thức trình duyệt yêu cầu một trang web từ web server cũng như
các thức mà server sẽ gửi trả kết quả cho web client.
Trang web (Web pages – còn gọi là một tập tin web) :
Chứa các đối tượng (Object). Đơn giãn đó chỉ là một file text, hay là một tập tin hình
ảnh, âm nhạc…Đối tượng được xác định qua URL. Trang web chứa các một file HTML
cơ sở và tham chiếu đến các đối tượng khác.
Trình duyệt (Browser – Web Client)
Chương trình giao tiếp người dùng của ứng dụng Web cho phép hiển thị trang web.
Browser cài đặt phía client của giao thức HTTP. Hiện nay có nhiều phần mềm trình
duyệt phổ biến như Internet Explorer, Firefor, Opera…
Web server
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
8
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Là nơi lưu trữ website, và trả lời yêu cầu từ phía web client. Một số phần mềm phía
server phổ biến như Microsoft Internet Information Server (IIS), Appache, Nestcape
Enterprise Server (NES)…
URL (Uniform Resource Locator)
Là một tên gọi khác của địa chỉ web. URL bao giồm tên giao thức (là HTTP hay
FTP…), kế đến dấu hai chấm và hai dấu xuyệt sắc (://), ví dụ địa chỉ
http://www.uit.edu.vn dẫn đến website có địa chỉ là www.uit.edu.vn bằng giao thức
HTTP. Khi truy cập chúng ta có thể bỏ qua tiền tố http:// vì trình duyệt mặc định thêm
thành phần này vào. Một URL phải chính xác đến từng ký tự, vì chỉ cần thêm một dấu
chấm là đã dẫn đến một trang web khác.
3: Giao thức FTP
FTP(File Transfer Protocol) là giao thức dùng để truyền file giữa các máy tính. Trong
phiên làm việc, người dùng sử dụng tại máy tính của mình và trao đổi file với máy tính
khác. Người dùng cần phải đăng nhập bằng cách cung cấp tên định danh (username) và
mật khẩu xác thực (password).
Cả hai giao thức HTTP và FTP đều dùng để truyền file. Nhưng ở chúng có một đặc
điểm khác nhau cơ bản là ở FTP bạn không thể mở trực tiếp file đó được. Nó cần bạn
đưa về máy tính trước khi mở nó lên. Trong khi với HTTP bạn có thể mở file trực tiếp
được.
4: Một số giao thức khác
Thỉnh thoảng bạn vẫn thấy có vài website là https://gmail.com chẳng hạn. Như vậy giao
thức HTTPS là gì? Đó chính là một dạng của HTTP nhưng được tăng cường thêm tính
năng bảo mật, cụ thể là nó mã hóa tất cả thông tin gửi đi trên đường truyền. Chữ S ở đây
chính là SSL.
Bạn cũng thường truy cập một file nhạc dạng mms://www.data.com/anhmaiyeuem.mp3
chẳng hạn. Như vậy chúng ta có một giao thức mới cho việc truyền dẫn các file nhạc đó
chính là MMS. Giao thức còn dùng cho việc truyền các file video, hình ảnh..nói chung là
đa phương tiện.
II: PHÂN LOẠI WEB
Static Web (Web tĩnh)
Chỉ bao gồm nội dung hiển thị cho người dùng xem. Nội dung này có thể là text thông
thường, nhưng cũng có thể là một file đa phương tiện (hình ảnh, âm nhạc, video,
flash…).
Froms Pages (Biểu mẫu)
Ngoài những nội dung thông thường như Static web, nó có thêm phần điền thông tin,
dữ liệu do người dùng nhập vào. Sau khi điền xong form người dùng bấm nút Submit thì
dữ liệu được gửi đến đầu vào của một trang web khác.
Dynamic Web (Web động)
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ9
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Sau khi bấm nút Submit ở biễu mẫu, nếu dữ liệu đó có lưu trữ lại cho phiên làm việc
sau của người dùng thì đó là Web động. Web động có tương tác đến một cơ sở dữ liệu
lưu trữ trên mạng để hiển thị thông tin cho người dùng.
Lưu ý:
Bạn đừng bao giờ cho rằng một trang web có những tấm hình nhảy múa là web động.
Đó chỉ là một tập tin ảnh động mà thôi.
Web động là web có tương tác với cơ sở dữ liệu, đừng bao giờ định nghĩa web động là
web có from đăng nhập. Một trang web có from đăng nhập chưa chắc là web động, có
thể thông tin đăng nhập chỉ lưu trong một biến nào đó của ngôn ngữ lập trình.
Cũng đừng bao giờ định nghĩa web tĩnh là web lập trình bằng HTML, còn web động là
web lập trình bằng PHP hay Java…Những trang web lập trình bằng PHP chưa chắc là
web động, nếu nó chỉ dùng để hiển thị thông tin.
BÀI 2: DOMAIN AND HOSTING
I: DOMAIN
1: Cấu trúc một địa chỉ
Domain (miền)
Bạn truy cập vào địa http://www.google.com thành phần .com phía sau được gọi là
Domain Name.
Thành phần miền được quản lý bởi của ISP khu vực, và đơn vị phụ trách quản lý tên
miền trên toàn thế giới là ICANN.
Host name
Thành phần google như ví dụ trên chính là host name. Để có thể đưa website ra cộng
đồng bạn cần mua một địa chỉ. Địa chỉ này gọi là Domain Name. Ví dụ ở đây chúng ta
cần phải mua google.com
Thỉnh thoảng bạn cũng lấy một domain có hai thành phần ví dụ như .com.vn. Nó được
cấp phát và quản lý bỡi nhà quản lý domain cấp cao, trong ví dụ này là .vn
2: Tại sao phải sử dụng domain name
Khi làm việc với máy tính, nó sử dụng những con số. Để truy cập website nó sẽ tìm đến
máy tính lưu dữ liệu web (các file) bằng địa chỉ IP của máy tính. Nhưng đối với con
người thì việc nhớ những IP này không hay cho lắm. Vì vậy mà người ta dùng domain
name để ánh xạ một địa chỉ dạng text sang IP.
Việc phân giải tên miền thành IP được thực hiện thông qua dịch vụ DNS (Domain
Name Services).
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
10
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
II: HOSTING
1: Khái niệm hosting
Dịch vụ Web host là hình thức dịch vụ host trên Internet, cung cấp cho các cá nhân, tổ
chức và người sử dụng những hệ thống trực tuyến (trên mạng) để lưu trữ thông tin, hình
ảnh, video, hoặc bất kỳ nội dung nào khác có thể truy cập qua Web. Web host là các
công ty chuyên cung cấp chỗ (dung lượng) trên server của họ cho khách hàng sử dụng,
đồng thời cung cấp kết nối Internet, thường trong một trung tâm dữ liệu. Các Web host
còn có thể cung cấp không gian ở trung tâm dữ liệu và kết nối Internet đến các server
không thuộc sở hữu của họ.
2: Phạm vi dịch vụ
Phạm vi của các dịch vụ host rất rộng. Cơ bản nhất là host trang Web và những tập tin
nhỏ, với các tập tin được upload lên server thông qua giao thức FTP hoặc một giao diện
Web. Các tập tin thường được cung ứng “nguyên trạng” cho ứng dụng Web, hoặc chỉ
được xử lý rất ít. Nhiều nhà cung cấp dịch vụ Internet (ISP) cung cấp dịch vụ này miễn
phí cho khách hàng của họ. Người dùng còn có thể sử dụng dịch vụ Web host do nhiều
nhà cung cấp dịch vụ khác cung cấp. Dịch vụ Web host thường miễn phí, có kèm theo
quảng cáo hoặc có giá rẻ.
Dịch vụ Web host thông thường chỉ đủ đáp ứng nhu cầu của các trang chủ cá nhân. Một
Web site phức tạp đòi hỏi một gói dịch vụ toàn diện hơn, cung cấp khả năng hỗ trợ cơ sở
dữ liệu và các hệ nền phát triển ứng dụng (như PHP, Java, ASP.NET). Những tính năng
này cho phép người dùng viết hoặc cài đặt script cho các ứng dụng như diễn đàn hay
quản lý nội dung. Các Web site thương mại điện tử còn đòi hỏi mã hóa SSL.
Nhà cung cấp dịch vụ host có thể còn cung cấp một bảng điều khiển giao diện Web
(Cpanel, Helm, Plesk, ví dụ thế) để quản lý Web server và cài đặt script cũng như các
dịch vụ khác, chẳng hạn e-mail. Gần đây các bảng điều khiển hoặc giao diện Web này
gây ra nhiều cuộc tranh cãi khi Web.com tuyên bố công ty này được độc quyền về công
nghệ host với 19 phát minh của mình. Hostopia, một công ty host sỉ lớn, gần đây đã mua
quyền sử dụng công nghệ của Web.com với giá 10% lợi tức host lẻ. Web.com cũng đã
kiện công ty Godaddy vì xâm phạm các phát minh độc quyền đó.
Một số nhà cung cấp dịch vụ host tập trung vào một phần mềm hoặc dịch vụ nhất định
(ví dụ như thương mại điện tử). Những phần mềm hay dịch vụ này thường do các công
ty lớn hơn sử dụng để tận dụng kiến trúc hạ tầng mạng của công ty cung cấp dịch vụ
host.
3: Các loại dịch vụ host
Sau đây là những dịch vụ giới hạn trong phạm vi ứng dụng Web:
Dịch vụ Web host miễn phí: Miễn phí, (đôi khi) chấp nhận quảng cáo, và cực kỳ hạn
chế khi so sánh với dịch vụ host có thu phí.
Dịch vụ Web host dùng chung: Website của bạn được đặt chung server với hàng trăm
Web site khác.
Dịch vụ host dành riêng: Người sử dụng thuê trọn Web server và có toàn quyền điều
khiển nó, tuy nhiên, người sử dụng không sở hữu server.
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ11
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Dịch vụ host hỗ trợ: Tương tự dịch vụ host dành riêng, nhưng người sử dụng sở hữu
server; công ty host chỉ cung cấp chỗ (không gian vật lý) để lắp đặt và bảo trì server. Đây
là loại dịch vụ Web host mạnh nhất và đắt tiền nhất.
Server ảo dành riêng: Chia một server thành nhiều server ảo, mỗi người dùng có cảm
tưởng như họ đang quản lý server dành riêng cho họ, nhưng thât ra họ đang chia sẻ
server với nhiều người dùng khác.
Web host lẻ: Cho phép khách hàng cung cấp dịch vụ Web host cho chính họ.
Host phân bổ: Sử dụng nhiều server lưu trữ cùng một nội dung để tận dụng tài nguyên
tốt hơn.
Một số dịch vụ Web cụ thể:
Dịch vụ lưu trữ tập tin: không lưu trữ trang Web mà là các tập tin
Dịch vụ lưu trữ hình ảnh
Dịch vụ lưu trữ video
Dịch vụ lưu trữ blog
Dịch vụ lưu trữ công cộng (như yousendit hay myfilehut vậy)
BÀI 3: NGÔN NGỮ LẬP TRÌNH VÀ
CƠ SỞ DỮ LIỆU
I: NGÔN NGỮ LẬP TRÌNH
1: Ngôn ngữ HTML
Là ngôn ngữ lập trình cơ bản nhất. Nó chỉ có thể dùng để hiển thị một trang web tĩnh.
Đôi khi bạn có thể dùng nó để thiết kế của form, nhưng nó không tương tác được với cơ
sở dữ liệu.
Chúng ta dễ dàng xem code của một trang web dạng HTML bằng cách vào menu View
> Page Code (Ctrl + U)
2: Ngôn ngữ CSS
Đây là ngôn ngữ dùng để định nghĩa một giao diện cho website. Nó không thể hiển thị
được nội dung, nhưng nó tạo ra template cho nội dung. Ví dụ để định nghĩa một font chữ
bạn dùng CSS và áp nó vào cho một đoạn văn. Ngôn ngữ này thường đi kèm với HTML.
3: Ngôn ngữ PHP, ASP, JAVA
Ngôn ngữ chạy phía server, nó thực hiện một quá trình biên dịch mã nguồn và trả về
kết quả, hiển thị lên Browes cho người xem.
Quy trình biên dịch như sau:
Ngôn ngữ này cho phép tương tác với cơ sở dữ liệu. Ngôn ngữ phổ biến được dùng
nhiều nhất là PHP.
Client Server Trình biên dịch
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
12
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
II: CƠ SỞ DỮ LIỆU (DATABASES)
Bạn thường vào một diễn đàn, đăng ký thông tin để tham gia vào diễn dàn. Như vậy những
thông tin mà bạn đăng ký đó gọi là dữ liệu. Toàn bộ được lưu lại trong hệ thống gọi là cơ sở dữ
liệu.
Các chương trình quản lý cơ sở dữ liệu phổ biến như SQL Server, Oracel, Access, MySQL. Để
dùng cho thiết kế bằng ngôn ngữ PHP người ta thường dùng MySQL, bỡi tính đơn giãn dể sử
dụng của nó.
BÀI 4: CÀI ĐẶT WEB SERVER
XAMPP
I: GIỚI THIỆU
Xampp là máy chủ web cho phép bạn cài đặt và quản lý website của mình tại máy tính của
mình. Khi cài đặt thành công Xampp bạn sẽ được một host ảo hay còn gọi là localhost. Với
localhost thì việc quản trị nó tương tự như quản trị trên host thật.
Xampp hổ trợ hầu hết các hệ điều hành. Nó hổ trợ việc thực thi ngôn ngữ lập trình PHP, Perl.
Sau khi cài đặt bạn còn có thêm tiện ích PHPMyAdmin là chương trình dùng để quản trị cơ sở
dữ liệu dưới dạng giao diện đồ họa.
Hiện tại chương trình có nhiều phiên bản cho bạn lựa chọn. Tuy nhiên việc lựa chọn phiên bản
nào còn tùy thuộc vào hệ thống và nhu cầu của bạn.
Để tải chương trình bạn truy cập địa chỉ: http://www.apachefriends.org/ Lưu ý chọn đúng
phiên bản dành cho hiệu điều hành.
II: CÀI ĐẶT
Bước 1: Download chương trình từ địa chỉ trên. Ở đây sử dụng phiên bản 1.7.2 cho Windows.
Bước 2: Kích vào tập tin vừa tải về để cài đặt. Tại màn hình đầu tiên bạn chú vào trường
Destination Folder, tại đây đang chọn là ổ C, nhưng tôi khuyên bạn nên chọn sang một ổ đĩa
khác không có cài hệ điều hành. Bấm nút Next.
PHIÊN BẢN THỬ NGHI13
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Bước 3: Trong bước tiếp theo này bạ
tùy chọn trong mục Services Session là
chọn sẽ chạy mặc trong Windows.
NGHIỆM – LƯU HÀNH NỘI BỘ
ạn đảm bảo đã chọn hết tất cả các tùy chọn. Trong đó có ba
c Services Session là quan trọng nhất. Điều này có nghĩa là ba d
Trong đó có ba
ĩa là ba dịch vụ được
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
14
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Bước 4: Dưới đây là quá trình cài đặt đang được tiến hành. Bạn chờ cho đến khi màn hình DOS
xuất hiện.
Bước 5: Khi những màn hình DOS xuất hiện bạn cứ để yên cho nó qua hết cho đến khi màn
hình báo đã cài đặt hoàn tất xuất hiện.
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ15
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Bước 6: Tiếp theo bạn ra desktop tìm icon của chương trình và khởi động nó lên.
Bấm nút Start cạnh hai dịch vụ Apache và MySql, để ý thấy trạng thái của nó là Running thì
được. Bấm nút Exit để thoát chương trình.
Bước 7: Bạn kiểm tra chương trình đã hoạt động chưa bằng cách mở trình duyệt web bất kỳ và
gõ vào địa chỉ http://localhost hoặc http://127.0.0.1 Nếu kết quả xuất hiện như hình dưới đây là
bạn đã cài đặt thành công.
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
16
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
III: CẤU HÌNH
1: Thay đổi địa chỉ local
Mặc định để truy cập vào webserver bạn vào địa chị http://localhost Nhưng nếu bạn muốn thay
địa chỉ này thành một cái tên tùy thích, ví dụ như http://tinhyeucuatoi.com chẳng hạn. Bạn thực
hiện như sau:
Bước 1: Mở Windows Explorer lên theo đường dẫn C:WindowsSystem32driversetc
Bước 2: Mở tập tin hosts bằng Notepad.
Bước 3: Tìm đến dòng # 127.0.0.1 localhost và thay chữ localhost bằng chữ tùy
thích. Trong ví dụ này là tinhyeucuatoi.com. Bỏ dấu # phía trước.
Bước 4: Lưu tập tin này lại và kiểm tra bằng cách truy cập vào trình duyệt
http://tinhyeucuatoi.com
2. Tạo thử website
Bây giờ chúng ta sẽ thử tạo ra một website đơn giãn để kiểm tra webserver của chúng ta hoạt
động chưa.
Bước 1: Bạn tìm theo địa chỉ C:Xampphtdocs (C: là thư mục cài đặt) tạo thêm một thư mục
mới có tên MyWeb dùng để chứa website của bạn tạo ra.
Bước 2: Tạo tập tin Index.html trong thư mục MyWeb trên, nội dung tùy ý. Ví dụ ở đây tôi ghi
nội dung như hình.
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ17
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Bước 3: Lưu website này và truy cập vòa địa chỉ http://localhost/MyWeb. Nếu kết quả hiện ra
trang web với nội dung ở trên thì là thành công. (Lưu ý: nếu bạn đã sửa địa chỉ localhost thành
địa chỉ khác thì nhớ gõ đúng, trong sách này tôi sử dụng mặc định).
3. Thay đổi thư mục htdocs
Mặc định thì bắt buộc bạn phải lưu thư mục chứa web của mình trong thư mục htdocs Nhưng
bạn muốn thay đổi địa chỉ này qua một thư mục khác chẳng hạn. Chúng ta làm như sau:
Bước 1: Bạn tìm đến thư mục C:xamppapacheconf Mở tập tin httpd.conf bằng notepad.
Bước 2: Tìm đến dòng <Directory "C:/xampp/htdocs"> và thay đường dẫn trong đó bằng
đường dẫn đến thu mục chứa web mới của bạn. Ví dụ tôi tạo thư mục D:Data thì tôi sẽ sửa lại
thành <Directory "D:/Data">
Bước 3: Tìm đến dòng DocumentRoot "C:/xampp/htdocs" và cũng sửa đường dẫn trong đó
đến thư mục chứa web. Bạn chú ý dùm tôi dấu gạch chéo trong địa chỉ.
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
18
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Bước 4: Khởi động lại dịch vụ Apache bằng cách mở trình điều khiều Xampp, bấm Stop ở dịch
vụ Apache và sau đó chọn Start trở lại. Nếu trạng thái lúc này là Running thì việc cấu hình của
bạn thành công.
Bước 5: Bạn thử kiểm tra lại bằng cách tạo một file Index.html và truy cập vào website của
mình.
BÀI 5: QUẢN TRỊ CƠ SỞ DỮ LIỆU
BẰNG PHPMYADMIN
I: GIỚI THIỆU
Trình quản trị cơ sở dữ liệu PHPMyAdmin quản trị cơ sở dữ liệu bằng ngôn ngữ dữ liệu
MySQL. Nó cho phép tạo ra một cơ sở dữ liệu, tương thích với ngôn ngữ lập trình web PHP.
PHPMyAdmin viết trên nền web nên dễ dàng sử dụng và được nhiều người ưa chuộng.
Còn nói về ngôn ngữ truy vấn dữ liệu MySQL thì nó không khác gì SQL cho lắm. Nhưng nó
hổ trợ tốt hơn cho PHP.
II: THAY ĐỔI MẬT KHẨU TRUY CẬP DỮ LIỆU
Công việc đầu tiên bạn nên làm là đặt mật khẩu bảo vệ cho cơ sở dữ liệu của mình. Để làm điều
này bạn truy cập vào trang http://localhost/security/xamppsecurity.php
Nhập mất khẩu hiện tại và mật khẩu mới, rồi bấm nút Password changing
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ19
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Thông báo Password đã được thay đổi thành công.
III: QUẢN TRỊ CƠ SỞ DỮ LIỆU
1: Truy cập trang quản trị
Để làm điều này bạn vào địa chỉ http://localhost/phpmyadmin
Đăng nhập với Username mặc định là root, Password do bạn đặt ở mục trước. Nếu đúng thì
chương trình PHPMyAdmin xuất hiện như hình bên dưới.
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
20
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
2: Tạo CSDL mới
Để tạo mới một CSDL bạn chọn tab Databases, điền tên CSDL trong trường Create new
databases. Lưu ý: chọn thêm kiểu mã hóa ký tự là utf8_general_ci trong mục chọn kế bên. Sau
cùng bấm Create.
Nhận được thông báo đã tạo thành công một CSDL mới.
3: Tạo Table (thuật ngữ gọi là quan hệ) mới cho dữ
liệu
Bây giờ chúng ta sẽ tạo mới một bảng cho dữ liệu MyData ở trên.
Ví dụ tôi sẽ tạo một bảng ThongTinSinhVien để lưu thông tin
của sinh viên. Để làm điều này bạn thực hiện như sau
Bên góc tay trái bạn chọn vào tên database của mình là
MyData.
Bạn nhận được một thông báo No table found in
database có nghĩa là bảng dữ liệu bây giờ đang trống. Để
tạo mới bạn gõ tên Table trong trường Name, trường
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ21
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Number of fields yêu cầu bạn chỉ định số cột (Column) trong bảng (thuật ngữ gọi là
thực thể). Bấm nút GO để tạo table.
Chúng ta nhận được một bảng yêu cầu các Column cho Table vừa tạo:
Ví dụ này chúng ta sẽ tạo một dữ liệu như sau:
MSSV HOTEN NGAYSIN
H
KHOA DTB
085204
41
Nguyễn Anh
Tuấn
12/7/1991 Mạng
Máy
Tính
7.25
085202
13
Lê Anh Vũ 2/9/1990 Kỹ
Thuật
Máy
Tính
7.42
085203
25
Trương Anh
Duy
5/10/1989 Phần
Mềm
7.51
085206
78
Thái Hà
Quân
4/1/189 Khoa
Học
Máy
Tính
7.62
+ Phần được in đậm trong bảng trên được gọi Field, nó là tiêu đề để nhận diện cột. Ta
điền nó trong trường Field.
+ Trường Type quy định kiểu dữ liệu (data type) cho Field.
MSSV: Varchar
HOTEN: Text
NGAYSINH: Date
KHOA:Text
DTB: Float
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
22
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
+ Length/Value dùng để chỉ định độ dài của dữ liệu. Phần này bỏ trống, nó tự gán giá
trị mặc định cho mỗi Field. Tuy nhiên tùy theo kiểu dữ liệu (data type) mà trường này
được phép bỏ trống hay không. Ví dụ kiểu Varchar bạn bắt buộc phải nhập giá- trị cho
nó.
Sau khi bấm nút Save nếu thông báo hiện ra như hình bên dưới thì việc tạo Table của
bạn thành công.
Kế đến bạn nhập dữ liệu cho Table: Bạn chuyển qua tab Insert, sẽ nhận được một bảng
yêu cầu điền dữ liệu như hình dưới. Điền dữ liệu vào và bấm nút Go.
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ23
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Mặc định một lúc bạn chỉ có thể nhập dữ liệu 1 dòng (thuật ngữ gọi là Bộ). Tuy nhiên bạn có thể
nhập cùng lúc nhiều dòng bằng cách kéo thanh trượt xuống dưới dòng Restart insertion with…
bạn sửa lại giá trị trong đó tương ứng với số dòng mà bạn cần nhập vào.
Lưu ý: Nếu nhập cùng lúc nhiều dòng bạn phải bấm vào nút Go ở dưới cùng. Nếu bấm nút Go ở
dòng nào thì chỉ có dòng đó được thêm.
Chuyển qua tab Browse bạn thấy dữ liệu đã được thêm vào.
Để hiểu về ý nghĩa cửa Database và quản trị chúng, các bạn sẽ được học trong môn Cơ
Sở Dữ Liệu, và nhiều môn học liên quan trong ngành Hệ Thống Tin Tin. Trong bài viết
này chỉ hướng dẫn một cách cơ bản nhất để những bạn chưa biết gì có thể làm quan cơ
bản nhất.
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
24
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
BÀI 6: QUẢN TRỊ CSDL BẰNG
NAVICAT
I: GIỚI THIỆU
Navicat là một phần mềm phía Client, cho phép nối đến server chứa CSDL để thực hiện công
việc quản trị. Bạn hình dung khi bạn mua một host do nhà cung cấp dịch vụ cấp. Bạn sẽ nhận
được một tài khoản để kết nối đến Database Server của họ. Và bạn sẽ sử dụng phần mềm
Navicat này để thực hiện quản trị nó từ xa.
Navicat không khác gì với PHPMyAdmin, nhưng nó hổ trợ nhiều tính năng hơn, và bảo mật cao
hơn.
II: QUẢN TRỊ CSDL VỚI NAVICAT
1: Cài đặt Navicat
Để cài đặt Navicat bạn tìm và tải phần mềm tại địa chỉ http://www.navicat.com
Sau khi tải về bạn cài đặt như bao phần mềm khác, và giao diện khi lần đầu tiên làm việc như
hình bên dưới.
2: Kết nối đến server
Chọn tác vụ Connection trong giao diện chính của chương trình. Một cửa sổ yêu cầu thông tin
kết nối hiện ra. Bạn nhập thông tin kết nối đến máy chủ.
Ở đây tôi chỉ kết nối đến server local, tức là server ảo ngay trên máy tính của tôi. Trong phần
Connection Name bạn cho biết tên của của kết nối này, tùy ý thích của bạn. Trong trường Host
name/ IP Address bạn nhập địa chỉ của server. Khi đăng ký host bạn được cung cấp địa chỉ
này. Ở đây tôi nhập là localhost do tôi đang kết nối đến server local. Hai trường User name và
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ25
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Password yêu cầu khai báo thông tin đăng nhập server. Nếu kết nối local bạn nhập như đăng
nhập PHPMyAdmin. Sau cùng bấm OK.
Trở lại màn hình chính bạn thấy tên kết nối đã xuất hiện bên trái. Bấm chuột phải vào đó và
chọn Open Connection
Nếu kết nối thành công bạn thấy dữ liệu của chúng ta xuất hiện.
3: Quản lý User
Navicat cho phép bạn tạo nhiều user khác đăng nhập vào hệ thống. Khi đó bạn cần có quyền
admin cao nhất, mặc định ở local thì tài khoản root là quyền cao nhất. Khi đăng ký host thật, thì
tài khoản đó cũng có quyền này, nhưng thấp hơn một tài khoản khác gọi là user system.
Để quản lý user bạn chọn tác vụ Manage Users
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
26
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Để thêm user mới bạn bấm Add User và nhập thông tin đăng nhập cho user đó. Chú ý
trường Host là địa chỉ đến server của bạn. Ở đây là localhost.
Với mỗi user bạn có thể thiết lập quyền cho user đó trong vùng Global Privileges. Bạn
con có thể phân quyền cho user theo từng Database khác nhau bằng cách Click vào user
đó, bên dưới sẽ mở ra những Database hiện có, và bạn check vào quyền được cấp cho
user trong vùng Global Privilages.
4: Quản trị cơ sở dữ liệu
Việc quản trị CSDL trên Navical dễ sử dụng hơn nhiều so với PHPMyAdmin vì nó đã tạo sẵn
những công cụ ra bên ngoài.
Table: Chứa các table trong CSDL. Có thể thấy CSDL MyData đã tạo ở bài trước
cũng xuất hiện ở đây. Bạn có thể tạo thêm bằng cách bấm vào New Table.
View: Dùng thiết kế trình view cho phép xem dữ liệu.
Query: Dùng để tạo truy vấn đến CSDL. Phần này viết bằng code, bạn cần học qua
ngôn ngữ truy vấn dữ liệu SQL hoặc MySQL.
Report: Dùng để tạo một bảng báo cáo, truy xuất từ dữ liệu.
Backup: Cho phép sao lưu dữ liệu, đề phòng bị mất hoặc hư hỏng.
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ27
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
BÀI 7: LẬP TRÌNH PHP CĂN BẢN
Giới thiệu
PHP (viết tắt hồi quy "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ủ
Webserver. PHP mã nguồn mở, dùng cho mục đích tổng quát.
Do PHP được phát triển chỉ để dành cho ứng dụng web nên rất dễ dàng nhúng mã vào
trang HTML. Tốc độ nhanh, nhỏ gọn, cú pháp giống C, 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 rất phổ biến.
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 nhưng cũng
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.
Nói đơn giản: PHP là ngôn ngữ dạng script thực thi trên webserver nhằm tạo ra trang
web động
Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ như thế nào:
<html>
<head><title>Trang chủ</title></head>
<body>
Chào bạn ! <b>
<?
if (date("H")<12) echo "Chúc một ngày tốt lành";
else echo "Chiều rồi! Mừng gặp lại! Hôm nay vui chứ hả?";
?>
</b>
<hr>
</body>
</html>
Thẻ <? và thẻ ?> đánh đấu bắt đầu và kết thúc của phần mã PHP, qua đó máy chủ biết để
xử lý và dịch mã cho đúng.
Mỗi dòng kết thúc bằng dấu ;
Trong trang html, các lệnh php nằm trong tag <? … ?> hoặc <?php …?>
Các khối lệnh nằm trong { … }
Tên mở rộng của file là php
Chú thích
// : 1 dòng
/ *
… Khối lệnh
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
28
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
*/
File PHP chỉ chạy khi nó được chuyển giao từ webserver. Vì vậy, muốn thực thi file php,
bạn phải request nó thông qua webserver (nghĩa là mở browser, gõ
http://localhost/trangdong.php. Do đó không thể nhúp đúp vào file php để xem nó ở
localcal như trang html được. Để chạy file PHP :
+ Nếu máy của bạn cài IIS : tạo file trong folder C:Inetpubwwwroot
+ Nếu máy của bạn cài AppserV : tạo file trong folder C:AppserVwww
+ Nếu máy của bạn cài Xampp, tạo file trong folder C:xampphtdocs
Công cụ lập trình
Có khá nhiều công cụ lập trình PHP. Đơn giản là bạn dùng notepad cũng có thể soạn
PHP được. Tuy nhiên, để soạn thảo nhanh hơn, tiện hơn, bạn nên dùng các trình soạn
thảo PHP chuyên nghiệp. PHP Designer Pro là một ứng dụng được khuyên dùng.
Biến
Biến dùng để chứa các giá trị trong quá trình tính toán
Không cần khai báo kiểu dữ liệu lúc khai báo biến
Các kiểu dữ liệu :
+ Số nguyên : int
+ Số thực : float, double
+ Chuỗi : string
+ Object
+ Logic : True hoặc false
+ Kiểu mảng: Array
+ Null : giá trị đặc biệt, nhằm thể hiện tính rỗng, chưa được gán gì
Khai báo :
$TenBien=<giatri> ;
<?
$hoten= "Tèo"; //Tạo biến hoten và gán giá trị
$dem=1; //Tạo biến dem và gán giá trị
Lệnh echo
Dùng để hiện giá trị của 1 biến, hiện 1 chuỗi
Ví dụ :
<?
echo $hoten; //Hiện giá trị biến hoten
echo "Hello"; //Hiện chữ Hello, không hiện dấu nháy
echo "Chào "sếp""; //Hiện Chào "sếp"
?>
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ29
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Hằng
Là đối tượng chứa giá trị cố định
Khai báo:
define("TenHang",GiaTri);
Ví dụ:
<hr>
<?
define("tygia",17000);
$usd=10;
$vnd=$usd*tygia;
echo "VND=$vnd ";
?>
Các phép toán
Số học: +. -, *, /, % (chia lấy dư)
So sánh: ==, >=, <=, >, < , !=
Ghép chuỗi: .
Logic: ! , && , ||
Tăng : ++
Giảm : --
Gán: =
<?
$soluong=3; //Khai báo biến soluong và gán giá trị
echo $soluong; //3
$soluong =5; // biến soluong đã có, chỉ gán giá trị
echo $soluong; //5
?>
Lệnh if:
a. Lệnh if đơn giản:
if (điều kiện) {
Khối Lệnh 1;
}
else {
Khối Lệnh 2;
}
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
30
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Phần else và khối lệnh 2 có thể không có
Nếu khối lệnh 1 khối lệnh 2 chỉ 1 gồm lệnh thì có thể bỏ cặp { }
Khối lệnh có thể là mã lệnh php hoặc mã lệnh html
Ví dụ 1 :
<hr/>
<? $diem=6;
if ($diem>=5) echo "Đậu";
else echo "Rớt";
?>
Ví dụ 2 : Sử dụng template khác nhau cho trang tùy theo thời gian
Mở file index1.html rồi save as thành index1.php
Qua chế độ code, đến dòng 21 sẽ thấy đoạn code
<link href="c1.css" rel="stylesheet" type="text/css">
Bổ sung để có kết quả sau:
<link href="<? if (date('H')<=12) echo "c1.css"; else echo "c2.css"; ?>" rel="stylesheet"
type="text/css">
F12 test thử
b. Lệnh if...elseif..else
Cú pháp
if (Điều kiện1) {
Khối lệnh 1;
}
elseif (Điều kiện2) {
Khối lệnh 2
}
…
else {
Khối lệnh
}
Ví dụ:
<hr/>
<?
$diem=4;
if ($diem>=8) echo "Giỏi";
elseif ($diem>=7) echo "Khá";
elseif ($diem>=5) echo "Trung bình";
else echo "Kém";
?>
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ31
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
c. Lệnh if ngắn gọn
Cú pháp:
(<dkien>)?<giá trị đúng>:<giá trị sai>;
Ví dụ:
<hr/>
<?
$dtb=5;
echo ($dtb>=5)? "Được lên lớp":"Ở lại";
?>
Vòng lặp for:
Là lệnh lặp 1 khối lệnh với số lần lặp nhất định
Cú pháp:
for (<biến đếm> ; <Điều kiện dừng> ; <Tăng/giảm biến đếm>) {
Khối lệnh.
}
Ví dụ:
<?
for ($i=1;$i<=10;$i++)
{
echo "i=$i<br>";
}
?>
Vòng lặp while :
Là lệnh lặp khối lệnh số lần lặp không xác định.
Cú pháp:
while (<Điều kiện>){
Khối lệnh
}
Điều kiện lặp được kiểm tra trước, do đó có thể không thực hiện lần nào.
Ví dụ:
<hr>
<?
$tong=0; $i=1;
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
32
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
while ($i<=10) {
$tong+=$i;
$i++;
}
echo "Tổng=$tong";
?>
Vòng lặp Do...While:
Là lệnh lặp khối lệnh số lần lặp không xác định.
do {
Khối lệnh
} while (<Điều kiện>);
Điều kiện lặp được kiểm tra sau, do đó thực hiện ít nhất 1 lần.
Ví dụ:
<?
$tong=0; $i=1;
do {
$tong+=$i;
$i+=2;
}while ($i<=10);
echo "Tổng các số lẻ=$tong";
?>
Hàm (Function)
a. Giới thiệu:
Hàm là 1 khối lệnh được đặt tên để gọi sử dụng nhiều lần. PHP có khoảng hơn 700 hàm.
Chúng ta cũng có thể tự định nghĩa thêm các hàm mới.
Hàm có thể trả vế 1 giá trị 1 giá trị nào đó sau khi tính toán hoặc không
b. Khai báo:
function <Tên hàm>(<tham số 1>,<tham số 2>,...){
........
[return giá trị;]
}
c. Ví dụ:
Tạo file ham.php
Định nghĩa hàm: gõ ở đâu đó (trong tag head):
<?
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ33
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
function solonnhat($a,$b,$c) { //php không chú ý gì đến các lệnh trong hàm cho đến khi hàm được
gọi
$m=$a;
if ($b>$m) $m=$b;
if ($c>$m) $m=$c;
return $m;
}
?>
Sử dụng hàm: trong tag body
Số lớn nhất là :
<?
$x=8; $y=12; $z=10; $m=4; $n=19;
$t=solonnhat($x, $y,$z);
$s=solonnhat($t, $m,$n);
echo $s;
?>
F12 xem thử (kết quả là ?)
d. Include file
Người ta thường đưa các hàm có cùng 1 loại (như xử lý chuỗi, tính toán, tiền tệ, bảo
mật…) vào 1 file php riêng và include vào trang web khi cần.
Cú pháp:
include "TenFile” ; hoặc
require "TenFile” ; hoặc
include_once "TenFile” ; hoặc //để đảm bảo include chỉ 1 lần, nếu đã include rồi thì php
sẽ không
require_once "TenFile” ; // không include nữa, nhằm để tránh trùng tên hàm
Tênfile thường là file php, cũng có thể là file html
Ví dụ:
§ Tạo file ngay.php, xóa hết mọi code html rồi định nghĩa hàm sau:
<?php
function LucNayLa() { // Chuyển giờ hệ thống sang tiếng Việt
$anh = array ( "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "am", "pm", ":" );
$viet = array ( "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy",
"Chủ nhật", " phút, sáng", " phút, chiều", " giờ " );
$timenow = gmdate("D, d/m/Y - g:i a.", time() + 7*3600);
$t = str_replace( $anh, $viet, $timenow);
return $t;
}
?>
§ Trong trang web động nào đó. Vd dangnhap.php. Vào 1 vị trí trong tag body
<?
include "ngay.php";
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
34
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
echo LucNayLa();
?>
String (chuỗi)
Là 1 dãy ký tự trong nháy kép hoặc nháy đơn
a. Chiều dài chuỗi
strlen(chuỗi) ;//Trả về số ký tự trong chuỗi
<hr/>
<?
$a="Chao ban";
echo strlen($a) ; // 8
?>
b. Truy xuất ký tự trong chuỗi (để lấy giá trị, gán trị mới);
Chỉ số của các ký tự tính từ 0
VD: echo $a[2]; //a
c. Trích chuỗi con
substr(chuỗi gốc, vị trí đầu, chiều dài chuỗi con);
<?
$str=“Hello World”;
echo substr($str, 3,5); // lo wo
?>
d. Tìm kiếm chuỗi con
strpos(chuỗi gốc, chuỗi con); // Trả về chỉ số là nơi xuất hiện chu
<?
$str="Chao ban";
echo strpos($str,"a"); //2
?>
e. Tìm và thay thế
str_replace(<chuỗicầntìm>,<chuỗithaythế>,<chuỗigốc>);
<?
$str="Hello World";
$str=str_replace('o','e',$str);
echo str; //Helle Werld
?>
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ35
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
f. Các hàm chuyển đổi
strtoupper(chuỗi);//chữ hoa
strtolower(chuỗi);//chữ thường
ucfirst(chuỗi);//ký tự đầu của chuỗi là hoa , còn các ký tự khác thì giữ nguyên
ucwords(chuỗi);//ký tự đầu mỗi từ là hoa, còn các ký tự khác thì giữ nguyên
<?
$str="chao ban";
echo strtoupper($str);."<br>"; //CHÀO BẠN
echo ucfirst($str)."<br>"; //Chào bạn
echo ucwords($str)."<br>"; //Chào Bạn
?>
Array (mảng)
a. Giới thiệu:
Mảng là 1 đối tượng được tạo ra nhằm lưu trữ các dữ liệu có tính tương đồng. Trong
mảng có nhiều phần tử với những giá trị khác nhau và được đánh theo số thứ tự từ 0 trở
đi (chỉ số phần tử) hoặc được phân biệt theo dạng chuỗi (key)
name1=“Teo”;
name2=“Ty”;
name3=“Map”;
Giá trị các key phải khác nhau.
b. Khai báo mảng
$TênMảng=array(); // khai báo mảng rỗng
$TênMảng=array(giá tri 1, giá trị 2,…); //khai báo mảng có các phần tử đánh bằng chỉ số
$ TênMảng =array("key1" =>giá trị 1, "key2" => giá trị 2, "key3" => giá trị 3); //Khai báo
mảng dùng key
c. Thể hiện cấu trúc mảng:
Có thể dùng 2 hàm:
var_dump(TenMang); // Liệt kê chi tiết bao nhiêu phần tử, index , kiểu và giá trị của từng
phần tử
print_r(TenMang); // liệt kê index và giá trị từng phần tử. Không hiện kiểu và tổng số phần tử
d. Ví dụ:
0 1 2
Teo Ty Map
a b c
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
36
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
<?
$giohang=array(); //khai báo mảng rỗng
$diem=array(0,5,7); // 3 phần tử chỉ số là 0,1,2.
$sanpham=array("idSP"=>5, "TenSP"=>"Gạo","Gia"=>12000); // đánh theo key
$user=array("iduser"=>5, "hoten"=> "Nguyễn Văn Tèo");
echo "Cấu trúc mảng diem: <br/>";
print_r($diem);
echo "<br>";
var_dump($diem);
echo "<br>";
echo "Cấu trúc mảng sanpham: <br/>";
print_r($sanpham);
echo "<br>";
var_dump($sanpham);
?>
e. Thêm phần tử vào mảng
$TênMảng[]=giá trị ;// Thêm vào cuối mảng
<hr/>
<?
$diem[]=9; //Thêm 9 vào cuối mảng điểm, chỉ số cuối tăng 1 è
$diem=array(0,5,7,9)
$sanpham["SoLuong"]=3; //thêm 3 làm phần tử cuối của mảng sanpham, key là SoLuong
print_r($diem);
echo "<br>";
print_r($sanpham);
?>
f. Truy xuất phần tử mảng
$ TênMảng[chiso] ; hoặc
$ TênMảng["key"] ;
<hr/>
<?
echo $diem[1]. "<br/>"; //5
echo $sanpham["TenSP"]; //Gạo
?>
g. Đếm phần tử
count($TênMảng);
<hr/>
<?
echo count($user) ; //2
?>
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ37
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
h. Liệt kê phần tử mảng dùng vòng lặp for :
Liệt kê mảng mà các phần tử được đánh theo chỉ số liên tục
<hr/>
<?
$giatri=array(8,10,9) ;
for ($i=0 ;$i<count($giatri) ;$i++) {
echo "Giá trị thứ $i là $giatri[$i]<br>";
}
?>
i. Dùng vòng lặp while :
Liệt kê các phần tử của mảng có chỉ số dạng key
<hr/>
<?
$sanpham=array("idSP"=>5, "TenSP"=>"Gạo","Gia"=>12000, "SoLuong"=>3);
reset($sanpham); // đưa con trỏ về phần tử đầu
while (key($sanpham)!=null) {
echo key($sanpham) . " = " . current($sanpham) . "<br/>";
next($sanpham); //, prev: lui trái, next: ptừ kế
}
?>
<hr/>
<?
$sanpham=array("idSP"=>5, "TenSP"=>"Gạo","Gia"=>12000, "SoLuong"=>3);
reset($sanpham); // đưa con trỏ về phần tử đầu
?>
<table border=1>
<? while (key($sanpham)!=null) { ?>
<tr><td><? echo key($sanpham); ?> </td><td><? echo current($sanpham); ?> </td></tr>
<? next($sanpham); // prev: lui trái, next: ptừ kế ?>
<? } ?>
</table>
Chú ý:
§ 1 phần tử của dãy có giá trị null cũng được, ghi vầy $a=array(10,null,7); Ghi vầy
là sai: $a=array(10,,7);
§ Phần tử có chỉ số thì key là null
j. Vòng lặp foreach:
Liệt kê các phần tử của mảng theo dạng key hoặc số
<?
$a=array("a"=>1, 5, "c"=>10,8);
foreach ($a as $key => $value) echo "$key = $value<br>" ;
?>
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
38
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Mỗi lần qua từng phần tử thì phân tích thành cặp key và value. Có thể đặt tên khác,
không nhấn thiết là $key, $value
Mỗi lần lặp, tự động next qua phần tử tiếp theo
Xử lý dữ liệu trên Form
a. Đối tượng $_GET, $_POST
$_GET, $_POST là 2 mảng có sẵn trong PHP để chứa dữ liệu gửi lên từ form. Cả hai
là mảng dùng key. Key là tên của các đối tượng trong form
$_GET là đối tượng chứa dữ liệu gửi lên từ form dùng Method là Get
$_POST là đối tượng chứa dữ liệu gửi lên từ form dùng Method là Post
b. Cách lấy giá trị từ form
$_GET["Ten"]
$_POST["Ten"]
c. Ví dụ 1:
Tạo 1 file tên dangnhap.php rồi tạo form login trong tag body như dưới đây:
<form action="xulydangnhap.php" method="GET" name="form1" id="form1">
<table width="286" border="0" align="center" cellpadding="4" cellspacing="0">
<caption>ĐĂNG NHẬP</caption>
<tr>
<td width="114">Tên đăng nhập</td>
<td width="150"><input name="u" type="text" class="txtfield" id="u" /> </td>
</tr>
<tr>
<td width="114">Mật khẩu</td>
<td><input name="p" type="password" class="txtfield" id="p" /> </td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="checkbox" name="nho" id="nho" />Nhớ user và pass</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="button" type="submit" class="btnSubmit" id="button"
value="Đăng Nhập" /></td>
</tr>
</table>
</form>
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ39
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Tạo file xulydangnhap.php rồi gõ mã sau vào tag body
<?
echo $_GET["u"]. "<br>";
echo $_GET["p"]. "<br>";
print_r($_GET )
?>
F12 file dangnhap.php, gõ user, pass rồi nhắp Login. Nhìn URL của browser, bạn sẽ
thấy file xulydangnhap.php và username, password.
Chỉnh lại form trên với method là POST,
Sửa phương thức GET trong file xulydangnhap.php thành POST và thử lại. Chú ý
URL trên thanh Address khi nhắp nút Login
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
40
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Đối tượng $_SERVER
Ngoài các thông tin trình duyệt gửi lên thông qua các con đường POST, GET, COOKIES,
chúng ta cũng có thể thu được một số thông tin khác có liên quan đến trình duyệt cũng
như các thông số liên quan đến máy chủ như: đường dẫn, địa chỉ IP, phiên bản... Các
thông tin này được lưu trữ trong biến mảng $_SERVER (đối với các phiên bản mới) hoặc
$HTTP_SERVER_VARS (đối với các phiên bản cũ hơn bản 4.1.0):
$_SERVER['HTTP_HOST'] / $_SERVER['SERVER_NAME']: Tên của máy chủ host, nơi mà đoạn
script được thực thi.
$_SERVER['PHP_SELF']: Tên file nằm trên folder gốc của website. Ví dụ: biến
$_SERVER['PHP_SELF'] trong script đặt tại địa chỉ http://example.com/test.php/foo.bar sẽ là
/test.php/foo.bar.
$_SERVER['QUERY_STRING']: Chuỗi chứa tên các tham số và giá trị (sau dấu ?)
$_SERVER['DOCUMENT_ROOT']: Folder gốc của website, nơi mà file script đang được thực thi.
Ví dụ: C:/AppServ/www
$_SERVER['HTTP_REFERER']: địa chỉ của trang web mà từ đó user link đến trang này.
$_SERVER['REMOTE_ADDR']: Địa chỉ của máy client, nơi người sử dụng đang duyệt web.
$_SERVER['REQUEST_URI']: Địa chỉ URI (Định danh đối với các tài nguyên mạng, là một dạng
thức của URL).
$_SERVER['SERVER_SOFTWARE']: Chuỗi định danh của máy chủ, thường được cấp trong phần
header khi trả lời các yêu cầu từ máy khách. Ví dụ: Apache/2.2.4 (Win32) PHP/5.2.3
$_SERVER['REQUEST_METHOD']: Loại yêu cầu mà clientsử dụng để truy cập trang web. VD:
'GET', 'HEAD', 'POST', 'PUT'.
$_SERVER['SCRIPT_FILENAME']: Đường dẫn tuyệt đối của file script đang chạy. Vd:
C:/AppServ/www/laptrinhphp/abc.php
$_SERVER['SCRIPT_NAME']: Đường dẫn của file script. Vd /laptrinhphp/abc.php
<?php
echo 'HTTP_HOST: '. $_SERVER['HTTP_HOST'].'<br>';
echo 'PHP_SELF: '.$_SERVER['PHP_SELF'].'<br>';
echo 'QUERY_STRING: '.$_SERVER['QUERY_STRING'].'<br>';
echo 'DOCUMENT_ROOT: '. $_SERVER['DOCUMENT_ROOT'].'<br>';
echo 'HTTP_REFERER: '. $_SERVER['HTTP_REFERER'].'<br>';
echo 'REMOTE_ADDR: '. $_SERVER['REMOTE_ADDR'].'<br>';
echo 'URL: '. $_SERVER['REQUEST_URI'] .'<br>';
echo 'SCRIPT_FILENAME: '. $_SERVER['SCRIPT_FILENAME'] .'<br>';
echo 'SCRIPT_NAME'. $_SERVER['SCRIPT_NAME'] .'<br>';
?>
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ41
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Giới thiệu về http header
http header là các thông tin điều khiển nằm trong các http request , http response. Chứa các
các chỉ thị báo cho trình duyệt/server biết cách xử lý thông tin. Ví dụ: trình duyệt chuyển
qua trang khác, trình duyệt đừng hiện file php, trình duyệt đừng lưu trang vào cache
a. Redirection (chuyển hướng)
Dùng để chuyển sang trang web khác.
Cú pháp: header("location:url");
Lệnh này phải dùng trên tất cả các mã lệnh html
Ví dụ1:
<?
header("location:http://nhatnghe.com");
exit();
?>
Ví dụ 2: Nếu buổi sáng chuyển đến trang index1.html ngược lại chuyển đến
index2.html
<?
if (date('H')<=12) header('location:index1.html'); else
header('location:index2.html');
?>
Ví dụ 3: Nếu 2-4-6 chuyển đến trang index1.html ngược lại chuyển đến index2.html
<?
if ((date('w')==1) || (date('w')==3) || (date('w')==5))
header('location:index1.html');
else header('location:index2.html');
?>
Ví dụ 4: Nếu browser là IE thì chuyển đến trang index1.html, ngược lại trang
index2.html
<?
if (strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')>0)
header('location:index1.html');
else header('location:index2.html');
?>
Ví dụ 5: Nếu browser là Firefox thì chuyển đến trang index1.html, ngược lại trang
index2.html
<?
if (strpos($_SERVER['HTTP_USER_AGENT'],'firefox')>0) header('location:index1.html');
else header('location:index2.html');
?>
Ví dụ 6: Quay lại trang trước đó
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
42
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
<? header("location:".$_SERVER['HTTP_REFERER']);?>
b. Content-type
Dùng để báo cho browser biết kiểu dữ liệu mà webserver đang trả về cho browser.
Cú pháp: header('Content-type:MimiType);
Ví dụ: tạo file mimetype1.html rồi gõ:
<? header('Content-type: application/msword'); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Chào</title></head>
<body>Chào bạn</body>
</html>
Nếu không có dòng đầu (chữ đỏ) thì browse sẽ hiện trang web có chữ chào bạn. Nếu
có, broswe sẽ biết đó là 1 file word, nó sẽ hiện ra khung này
Lệnh này phải dùng trên tất cả các mã lệnh html
Một số kiểu Mimtype (xem thêm file mimetype.html)
application/msword doc
application/pdf pdf
application/vnd.ms-excel xls
application/zip zip
c. Content-disposition
Cú pháp: header('Content-disposition: attachment; filename="'.$filename.'"');
Lệnh sẽ báo cho browser biết là nên download và save file. Tham số "filename=" sẽ
báo cho browser biết tên của file nên được save.
Ví dụ:
<?
header('Content-type: application/msword');
$filename="tailieu.doc";
header('Content-disposition: attachment; filename="'.$filename.'"');
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Chào</title></head>
<body>Chào bạn</body>
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ43
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
</html>
d. Content-length
Lệnh header('Content-length: ' . filesize($upload_dir.$filename));
Lệnh này dùng để báo cho browser biết độ dài của file tải về, dùng trong download
file
Cookies
a. Giới thiệu:
Cookie dùng để lưu những thông tin về user.
Cookie được lưu trong máy client, trong vùng do browser quản lý
Không dùng cookies để lưu những thông tin quan trọng vì không đảm bảo browser
đều cho phép ghi cookies mà chỉ dùng cookie cho mục đích tiện ích mà thôi
(username, password, thời điểm login cuối, danh sách nhạc ưa thích)
b. Tạo cookie
setcookie("TenCookie",giá trị [,Thời điểm quá hạn]);
Nếu không chỉ định thời gian thì cookie sẽ lưu trong bộ nhớ. Và sẽ mất khi user đóng
browser.
Nếu thời điểm quá hạn là 1 thời điểm trong quá khứ thì browser sẽ xóa cookie
c. Sử dụng cookie
$_COOKIE["Ten"];
d. Ví dụ 1:
Tạo file setcookies.php và gõ khối lệnh sau (phải trên tất cả mã html)
<?php
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
44
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
setcookie("un", "Nguyen Van Teo", time()+60*60*24*30);
setcookie("lasttime", time(), time()+60*60*24*30);
?>
Chú ý: Hàm time() cho biết số giây tính từ đầu năm 1970 đến thời điểm hiện tại
F12 xem thử, bạn sẽ chẳng thấy gì, nhưng 2 cookie đã được tạo (có thể xem thấy
trong cache)
Tạo file viewcookie.php rồi gõ khối lệnh sau trong tag body
<?
if (isset($_COOKIE["un"])==true) echo "Chào bạn " . $_COOKIE["un"] ."<br>";
else echo "Chào quý khách";
echo "Bạn vào site lần cuối lúc " . date("d/m/Y H:i:s",$_COOKIE["lasttime"]);
echo "<hr>";
print_r($_COOKIE); // Xem mọi cookie
?>
“F17” xem thử, bạn thấy giá trị 2 cookie
e. Ví dụ 2
Tạo file xoacookie.php rồi vào dòng đầu tiên:
<?
setcookie("un", "haha", time()-1);
?>
F12 , cookie sẽ bị xóa. Bạn có biết kiểm tra bằng cách nào không?
f. Ví dụ 3:
Mở file xulydangnhap.php, gõ thêm ở đầu:
<?
if (isset($_POST['nho'])==true){
setcookie("iu_sơ_nêm",$_POST['u'], time()+60*60*24*7 );
setcookie("bát_quợt",$_POST['p'], time()+60*60*24*7 );
} else {
setcookie("iu_sơ_nêm",$_POST['u'],time()-1);
setcookie("bát_quợt",$_POST['p'],time()-1);
}
?>
Lưu file lại
Mở file 1 file dangnhap.php , chọn tag form rồi kểm tra xem có phải method là POST
không
Nhắp textfield tên u rồi qua code, bạn sẽ thấy đoạn mã:
<input name="u" type="text" class="txtfield" id="u" />
Gõ thêm vào (màu đỏ) để có kết quả sau:
<input value="<? echo $_COOKIE['iu_sơ_nêm'];?>" name="u" type="text"
class="txtfield" id="u" />
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ45
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Qua Design, nhắp textfield tên p rồi qua code, bạn sẽ thấy đoạn mã:
<input name="p" id="p" type="password" class="txtfield" />
Gõ thêm vào (màu đỏ) để có kết quả sau:
<input value="<? echo $_COOKIE['bát_quợt'];?>" name="p" id="p"
type="password" class="txtfield" />
“F17” trang dangnhap.php. Gõ username và password rồi nhắp Đăng nhập, bạn sẽ
thấy user name password. Xem xong đóng browser lại
“F17” trang dangnhap.php. Gõ username và password , check vào Nhớ username rồi
nhắp Đăng nhập, bạn sẽ thấy user name password. Lúc này username và password đã
được lưu lại trong cookie. Xem xong đóng browser lại
“F17” trang dangnhap.php. Bạn sẽ thấy username, password đã được hiện sẵn
Session
a. Giới thiệu:
Là đối tượng chứa thông tin user trên server.
Mỗi user có 1 session riêng.
Cấu trúc session của mỗi user là giống nhau (chỉ khác gia trị các biến).
$_SESSION là dãy toàn cục có sẵn trong php, dùng để chứa các biến session. Do đó
dữ liệu trong session có thể được truy xuất từ mọi trang php trong site.
b. Khai báo và sử dụng
$_SESSION["TênBiến"]
Trang php nào có dùng session thì phải có hàm < ? session_start() ;?> Hàm này phải
nằm trên tất cả mã lệnh html
Vd:
< ?
$_SESSION["login"]=1 ; //tạo biến, mọi trang đều đọc được
?>
c. Ví dụ 1:
<?
if(isset($_SESSION['views'])==true)
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
if ($_SESSION['views']>=10) unset($_SESSION['views']); //session_destroy();
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
46
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
?>
d. Ví dụ 2: Ghi nhận số lượng sản phâm được chọn vào giỏ hàng
Mở trang index_banhang.php
- Qua code, lên dòng đầu gõ lệnh
<? session_start(); ?>
- Qua design. Ở cột phải, trong dòng Giỏ hàng có 0 sản phẩm, chọn số 0 xóa rồi
qua code gõ code (màu đỏ)
Giỏ hàng có <? echo $_SESSION['SoSP']; ?> sản phẩm
- Kiểm tra xem từng nút đặt mua có link đến trang luuugiohang.php hay không
Tạo trang luugiohang.php
- Qua code, xóa hết code html và gõ lệnh sau
<?
session_start();
$_SESSION['SoSP']+=1;
header("location:".$_SERVER['HTTP_REFERER']);
?>
Test thử
e. Ví dụ 3 :
Tạo file index_admin.php – Trang chủ
<?
session_start();
if (isset($_SESSION['login'])==false) {
header("Location: login.html");
exit();
}
?>
<body>
Đây là trang chủ quản trị.<br/>
Chào <b><?=$_SESSION["username"]?></b>. Bạn đã login thành cong.
<hr> <a href=signout.php>Logout</a>;
</body>
Tạo file login.html – Form login
<form action="signin.php" method="POST">
Username: <INPUT TYPE="text" name="username"><br>
Password: <INPUT TYPE="password" name="password"><br>
<INPUT TYPE="submit" name="submit" value="Login">
</form>
Tạo file signin.php – Kiểm tra thông tin
<?
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ47
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
session_start();
if (checkLogin($_POST['username'], $_POST['password'])==true){
$_SESSION["username"]=$_POST['username'];
$_SESSION["login"]=true;
header('Location: index_admin.php');
exit();
}
else {
header('Location: login.html');
exit();
}
function checkLogin($theUsername, $thePassword){
if (($theUsername=="teo") && ($thePassword=="123")) return true;
else return false;
}
?>
Tạo file signout.php
<?
session_start();
session_destroy();
header('Location: login.html');
?>
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
48
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
CHƯƠNG 2: CÀI ĐẶT VÀ CẤU
HÌNH JOOMLA
–&—
BÀI 1: GIỚI THIỆU JOOMLA
I: VỀ JOOMLA
1: Giới thiệu Joomla
Joomla! là một hệ quản trị nội dung mã nguồn mở (tiếng Anh: Open Source Content
Management Systems). Joomla! được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu
MySQL , cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet
hoặc Intranet.
Joomla được phát triển bởi một nhóm người, mà tiền thân của nó là công ty sụp đổ. Trong khi
những thành viên của công ty này buồn chán, không biết làm gì, họ bắt đầu viết Joomla. Mục
đích ban đầu chỉ để giải khuây trong những ngày buồn bã của nạn thất nghiệp. Thế nhưng sự
thật luôn là điều bất ngờ. Sản phẩm của họ được chia sẽ trên internet và nhận được sự ủng hộ
của nhiều người.
Nhiều website bắt đầu sử dụng Joomla cho việc phát triển website của mình. Và đến ngày nay
Joomla trở thành một hệ mã nguồn mở được ưu chuộng. Nhiều công ty bắt đầu kinh doanh từ
việc phát triển các thành phần của nó.
Joomla thành lập nên một nền tảng cơ sở, sau đó phát triển các thành phần (extension) ứng
dụng trên đó. Chúng ta có thể hình dung nó như một hệ điều hành, và bạn cài đặt các phần mềm
trên đó.
Joomla là mã nguồn mở được sự chung tay xây dựng của mọi người trên thế giới. Chính vì thế
mà các thành phần của nó rất đa dạng, và những người sử dụng sau hầu như không cần phải phát
triển lại. Đó chính là lợi thế của mã nguồn mở.
Joomla được phát âm theo tiếng Swahili như là 'jumla' nghĩa là "đồng tâm hiệp lực".
2: Lựa chọn phiên bản của Joomla
Dòng phiên bản Joomla 1.0.x
Là phiên bản phát hành ổn định.
Được sử dụng rộng rãi, có nhiều thành phần mở rộng (component, module, mambot)...
Có thể sử dụng ngay cho website của bạn.
Joomla 1.0.0: Phiên bản phát hành đầu tiên (15-09-2005)
Joomla 1.0.12: Phiên bản phát hành mới nhất (25-12-2006)
Dòng phiên bản Joomla 1.5
Là phiên bản phát triển và vẫn đang ở giai đoạn Beta 2 (chưa ổn định).
Phiên bản Joomla! 1.5 là phiên bản cải tiến từ Joomla 1.0.x (phần mã được viết lại hoàn
toàn, tuy nhiên vẫn giữ cách hành xử như cũ) được coi như Mambo 4.6. Ban đầu nó còn
được gọi là Joomla 1.1, nhưng sau đó vì nhận thấy nó được cải tiến nhiều về mặt kỹ
thuật, tính năng nên nhóm phát triển quyết định lấy tên là Joomla 1.5
Có nhiều tính năng hay
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ49
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Chỉ nên sử dụng cho mục đích thử nghiệm
Joomla 1.5 hỗ trợ đa ngôn ngữ
Joomla 1.5 dùng charset mặc định là UTF-8 (thay vì ISO-8859-1 trong Joomla 1.0.x)
Dòng phiên bản Joomla 1.6
Đây phiên bản mới nhất, ra mắt vào tháng 10/2009. Phiên bản này còn đang khá mới,
chưa ổn định.
Lựa chọn phiên bản để cài đặt
Cài đặt lần đầu, cài mới
Bạn nên chọn phiên bản Joomla 1.0.x, chọn bản mới nhất: Joomla 1.0.12
- Bước 1: Mở http://joomlacode.org/gf/project/joomla/frs/
- Bước 2: Chọn bản Joomla_1.0.12-Stable-Full_Package.zip (Stable: Ổn định,
Full: Đầy đủ)
Cài đặt ở chế độ nâng cấp
Nếu bạn đang dùng Joomla 1.0.x. VD: Joomla! 1.0.7 và muốn nâng cấp lên Joomla! 1.0.12.
- Bước 1: Mở http://joomlacode.org/gf/project/joomla/frs/
- Bước 2: Chọn bản Joomla_1.0.7_to_1.0.12-Stable-Patch_Package.zip (1.0.7
to 1.0.12)
II: CÁC THÀNH PHẦN MỞ RỘNG CỦA JOOMLA
1: Modue
Module là một trong 3 thành phần mở rộng chính của Joomla! Đó là một đoạn mã nhỏ
thường được dùng để truy vấn các thông tin từ cơ sở dữ liệu và hiển thị các kết quả tìm
được. Nó có thể được nạp vào một vị trí bất kỳ trên template (vị trí left, right, top,
bottom... hoặc vị trí do người dùng định nghĩa); có thể hiện trên tất cả các trang của
Website hay một số trang được ấn định. Khả năng tương tác giữa người sử dụng và hệ
thống thông qua module là hạn chế (chúng ta thường chỉ nhận thông tin trả về).
Module có tên bắt đầu bằng mod_
Chúng ta có các module thông dụng:
Lastest News (mod_latestnews): Module hiển thị các tin mới nhất
Popular News (mod_mostreads): Module hiển thị các bài được quan tâm nhiều nhất
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
50
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Related Items (mod_related_items): Module hiển thị các bài viết liên quan
Random Image (mod_random_image): Module hiển thị các ảnh ngẫu nhiên
Search Module (mod_search): Module công cụ tìm kiếm
Login Module (mod_login): Module hiển thị form đăng nhập hệ thống
Stats Module (mod_stats): Module hiển thị các thông tin thống kê về hệ thống
Menu Module (mod_mainmenu): Module hiển thị các menu của website
Banners Module (mod_banners): Moudule hiển thị các banner quảng cáo.
2: Plugin
Plugin là một đoạn code chạy nền bên trong. Công việc của nó là làm nền để thực thi
một tác vụ nào đó của Joomla. Nó không hiển thị ra bên ngoài của website mà chỉ nhận
giá trị đầu vào ra trả về kết quả.
3 : Components
Đây chính là một trong những thành phần mở rộng quan trọng nhất. Nhờ có nó mà
chúng ta có thể phát triển website với nhiều tính năng hơn. Thông thường một
Components sẽ đi kèm với vài module hoặc plugin để giúp việc hiển thị nó ra ngoài
được tiện dùng hơn.
4 : Template
Không cần nói nhiều thì bạn cũng biết đây chính là giao diện của website. Với thành
phần này người dùng joomla có thể tùy biến giao diện một cách dễ dàng. Người ta có thể
thiết kế trước một giao diện, và chỉ việc áp dùng giao diện này vào website thay vì phải
xây dựng website từ đầu.
5 : Languages
Joomla được phát triển mạnh mẽ là do hổ trợ được nhiều ngôn ngữ khác nhau. Việc cài
đặt thêm một gói ngôn ngữ mới đối với Joomla không có gì là khó, chính là nhờ sự hổ
trợ của gói thành phần Languages này.
III : CÁC THUẬT NGỮ
1 : Front-end
Front-end (tiền sảnh), còn được biết với tên gọi Public Front-end: phần giao diện phía
ngoài, nơi tiếp xúc với mọi người sử dụng. Bất cứ ai cũng có thể trông thấy khi gõ đúng
đường dẫn URL vào trình duyệt.
Front-end chứa 1 trang đặc biệt là FrontPage (homepage) - trang chủ.
2: Back-end
Back-end còn được biết với tên gọi Public Back-end, Administrator, Control Pane: phần dành cho
người quản trị. Những người bình thường không biết đường dẫn để truy cập, hoặc nếu có
biết thì cũng phải qua bước kiểm tra tài khoản.
Phần back-end được truy cập thông qua đường dẫn: http://your_domain/administrator.
3: Section
PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ51
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
Section: Các mục, các lĩnh vực, các dòng sản phẩm, dịch vụ... mà Website muốn đề cập
tới.
VD1: Một Website bán sách trực tuyến có thể bao gồm các Section: "Sách Văn học",
"Sách Tin học", "Sách Toán học"...
VD2: Một Website về tin tức có thể bao gồm các Section: "Thể thao", "Văn hóa",
"Pháp luật"...
4: Category
Category: Các chuyên mục, loại sản phẩm, loại dịch vụ... được đề cập một cách cụ thể
hơn, chi tiết hơn.
VD1: Trong Section "Văn học" có các Category: "Tiểu thuyết", "Truyện ngắn", "Hồi ký"...
VD2: Trong Section "Thể thao" có các Category: "Bóng đá", "Quần vợt", "Các môn thể
thao khác"...
5: Article
Article: Toàn bộ nội dung của một bài viết và thường gồm 2 phần:
Phần giới thiệu (Intro Text): Phần này nêu ngắn gọn, tóm tắt hoặc là ý mở đầu cho toàn
bộ bài viết.
Phần chi tiết (Description Text): Phần còn lại của bài viết.
Chúng ta cùng xem "Cấu trúc nội dung của một Website Joomla" được thể hiện thông qua hình
vẽ dưới đây:
Như vậy để tạo một bài viết chúng ta cần qua tối đa 3 bước và tối thiểu là 1 bước nếu
đã co Section và Category:
Bước 1: Tạo Section: Vào Content --> Section Manager
Bước 2: Tạo Category: Vào Content --> Category Manager
Bước 3: Tạo Content: Vào Content --> Article Manager --> New
PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ
52
GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA
BÀI 2: CÀI ĐẶT JOOMLA
Bây giờ chúng ta sẽ bắt đầu từng bước để cài đặt website Joomla.
Công việc đầu tiên rất quan trọng mà bạn không thể tránh khỏi là tìm và tải bộ source
Joomla đúng phiên bản mình cần. Khi tải về bạn có một file nén dạng *.zip. Hãy giải nén
file này ra một thư mục, và đặt tên cho thư mục này gọn lại, sao cho bạn thấy thích nó. Ở
đây tôi sẽ đặt tên là Joomla15.
Copy thư mục Joomla15 vào thư mục chứa web của mình. Ở đây tôi sẽ đưa nó vào thư
mục C:xampphtdocs Trong đó C: là ổ đĩa mà tôi đã cài Xampp. Một số bạn trong bài
trước đã thực hành đổi thư mục chứa web sang thư mục khác thì lưu ý là phải đưa web
của mình đến đúng thư mục đó.
Bạn vào phần quản trị CSDL của mình để tạo một Database mới. Ví dụ ở đây tôi sẽ tạo
là Joomla_data.
Mở trình duyệt web lên và truy cập địa chỉ http://localhost/Joomla15 Chúng ta cần lưu
ý ở địa chỉ này. Nếu bạn cài đặt trên host thật thì nó sẽ là địa chỉ của host bạn. Ví dụ như
tôi có host của mình http://www.dctuit.com khi đó tôi sẽ vào địa chỉ
http://www.dctuit.com/Joomla15 Thành phần Jooml15 ý chỉ đến thư mục chứa Joomla.
Nếu bạn chép source vào trong thư mục gốc thì không có phần sau này.
Nếu làm đúng các bước trên bạn sẽ thấy xuất hiện phần Choose Language như hình
dưới đây, bấm nút Next để tiếp tục.
Chắc các bạn đang thắc mắc là tại sao tôi lại nói nhiều về các vấn đề khác như từ đầu đến giờ,
mặc dù cuốn sách sẽ hướng dẫn cách quản trị website với Joomla. Nhưng điều mà tôi nới từ
những bài trước sẽ không thừa chút nào. Nó sẽ giúp các bạn làm quen cơ bản nhất, có một khái
niệm sơ khởi trước khi đi vào sử dụng Joomla. Và nếu như bạn đã lỡ nông nóng xem trước bài
viết này thì tôi khuyên bạn nên dừng lại và xem từ đầu. Bởi vì tôi sẽ không lặp lại những khái
niệm phía trên.
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12
Giao trinh joomla v2.16.12

More Related Content

What's hot

Kiếm tiền online tại sao không
Kiếm tiền online tại sao khôngKiếm tiền online tại sao không
Kiếm tiền online tại sao khôngHải Finiks Huỳnh
 
docx.vn - Xay dung website ban quan ao online
docx.vn - Xay dung website ban quan ao onlinedocx.vn - Xay dung website ban quan ao online
docx.vn - Xay dung website ban quan ao onlineVi Thái
 
Đồ án - Nhập môn Kỹ thuật điện - HUST
Đồ án - Nhập môn Kỹ thuật điện - HUSTĐồ án - Nhập môn Kỹ thuật điện - HUST
Đồ án - Nhập môn Kỹ thuật điện - HUSTKhang Nguyen
 
Tìm đường đi xe buýt trong TPHCM bằng Google Map
Tìm đường đi xe buýt trong TPHCM bằng Google MapTìm đường đi xe buýt trong TPHCM bằng Google Map
Tìm đường đi xe buýt trong TPHCM bằng Google Mapbaran19901990
 
[123doc.vn] viet cv khong kho thang son doan2
[123doc.vn]   viet cv khong kho thang son doan2[123doc.vn]   viet cv khong kho thang son doan2
[123doc.vn] viet cv khong kho thang son doan2nguyentrung95
 
bctntlvn (109).pdf
bctntlvn (109).pdfbctntlvn (109).pdf
bctntlvn (109).pdfLuanvan84
 
THIẾT KẾ, CHẾ TẠO GIÀN PHƠI ĐỒ THÔNG MINH
THIẾT KẾ, CHẾ TẠO GIÀN PHƠI ĐỒ THÔNG MINHTHIẾT KẾ, CHẾ TẠO GIÀN PHƠI ĐỒ THÔNG MINH
THIẾT KẾ, CHẾ TẠO GIÀN PHƠI ĐỒ THÔNG MINHnataliej4
 
Báo cáo thực tập cuối kỳ đề tài xây dựng website thương mại điện tử bằng Open...
Báo cáo thực tập cuối kỳ đề tài xây dựng website thương mại điện tử bằng Open...Báo cáo thực tập cuối kỳ đề tài xây dựng website thương mại điện tử bằng Open...
Báo cáo thực tập cuối kỳ đề tài xây dựng website thương mại điện tử bằng Open...vanphu2103
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laraveljackjohn45
 
Hướng dẫn cách tăng cường trí nhớ của Bạn (Trần Đăng Khoa)
Hướng dẫn cách tăng cường trí nhớ của Bạn (Trần Đăng Khoa)Hướng dẫn cách tăng cường trí nhớ của Bạn (Trần Đăng Khoa)
Hướng dẫn cách tăng cường trí nhớ của Bạn (Trần Đăng Khoa)Kien Thuc
 
Xây dựng dự án thư viện điện tử cho các trường trung học phổ thông và tiểu học
Xây dựng dự án thư viện điện tử cho các trường trung học phổ thông và tiểu họcXây dựng dự án thư viện điện tử cho các trường trung học phổ thông và tiểu học
Xây dựng dự án thư viện điện tử cho các trường trung học phổ thông và tiểu họcsunflower_micro
 
Luan van xay dung Chatbot
Luan van xay dung ChatbotLuan van xay dung Chatbot
Luan van xay dung Chatbotleeminhpark
 

What's hot (20)

Bao cao
Bao cao Bao cao
Bao cao
 
Kiếm tiền online tại sao không
Kiếm tiền online tại sao khôngKiếm tiền online tại sao không
Kiếm tiền online tại sao không
 
Bc
BcBc
Bc
 
docx.vn - Xay dung website ban quan ao online
docx.vn - Xay dung website ban quan ao onlinedocx.vn - Xay dung website ban quan ao online
docx.vn - Xay dung website ban quan ao online
 
Đồ án - Nhập môn Kỹ thuật điện - HUST
Đồ án - Nhập môn Kỹ thuật điện - HUSTĐồ án - Nhập môn Kỹ thuật điện - HUST
Đồ án - Nhập môn Kỹ thuật điện - HUST
 
Đề tài: Website giới thiệu sản phẩm cho shop thời trang Daisy
Đề tài: Website giới thiệu sản phẩm cho shop thời trang DaisyĐề tài: Website giới thiệu sản phẩm cho shop thời trang Daisy
Đề tài: Website giới thiệu sản phẩm cho shop thời trang Daisy
 
Tìm đường đi xe buýt trong TPHCM bằng Google Map
Tìm đường đi xe buýt trong TPHCM bằng Google MapTìm đường đi xe buýt trong TPHCM bằng Google Map
Tìm đường đi xe buýt trong TPHCM bằng Google Map
 
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAYĐề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
 
[123doc.vn] viet cv khong kho thang son doan2
[123doc.vn]   viet cv khong kho thang son doan2[123doc.vn]   viet cv khong kho thang son doan2
[123doc.vn] viet cv khong kho thang son doan2
 
bctntlvn (109).pdf
bctntlvn (109).pdfbctntlvn (109).pdf
bctntlvn (109).pdf
 
THIẾT KẾ, CHẾ TẠO GIÀN PHƠI ĐỒ THÔNG MINH
THIẾT KẾ, CHẾ TẠO GIÀN PHƠI ĐỒ THÔNG MINHTHIẾT KẾ, CHẾ TẠO GIÀN PHƠI ĐỒ THÔNG MINH
THIẾT KẾ, CHẾ TẠO GIÀN PHƠI ĐỒ THÔNG MINH
 
Báo cáo thực tập cuối kỳ đề tài xây dựng website thương mại điện tử bằng Open...
Báo cáo thực tập cuối kỳ đề tài xây dựng website thương mại điện tử bằng Open...Báo cáo thực tập cuối kỳ đề tài xây dựng website thương mại điện tử bằng Open...
Báo cáo thực tập cuối kỳ đề tài xây dựng website thương mại điện tử bằng Open...
 
Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đ
Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đHệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đ
Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đ
 
Nâng cấp tính năng tìm kiếm của phần mềm điện tử Magento, 9đ
Nâng cấp tính năng tìm kiếm của phần mềm điện tử Magento, 9đNâng cấp tính năng tìm kiếm của phần mềm điện tử Magento, 9đ
Nâng cấp tính năng tìm kiếm của phần mềm điện tử Magento, 9đ
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
 
Sinh tóm tắt cho văn bản trong hệ thống thu thập tin tức tự động
Sinh tóm tắt cho văn bản trong hệ thống thu thập tin tức tự độngSinh tóm tắt cho văn bản trong hệ thống thu thập tin tức tự động
Sinh tóm tắt cho văn bản trong hệ thống thu thập tin tức tự động
 
Hướng dẫn cách tăng cường trí nhớ của Bạn (Trần Đăng Khoa)
Hướng dẫn cách tăng cường trí nhớ của Bạn (Trần Đăng Khoa)Hướng dẫn cách tăng cường trí nhớ của Bạn (Trần Đăng Khoa)
Hướng dẫn cách tăng cường trí nhớ của Bạn (Trần Đăng Khoa)
 
Xây dựng dự án thư viện điện tử cho các trường trung học phổ thông và tiểu học
Xây dựng dự án thư viện điện tử cho các trường trung học phổ thông và tiểu họcXây dựng dự án thư viện điện tử cho các trường trung học phổ thông và tiểu học
Xây dựng dự án thư viện điện tử cho các trường trung học phổ thông và tiểu học
 
Luan van xay dung Chatbot
Luan van xay dung ChatbotLuan van xay dung Chatbot
Luan van xay dung Chatbot
 
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
 

Similar to Giao trinh joomla v2.16.12

Tin học hóa công tác quản lý lịch làm việc cho cán bộ nhân viên tại UBND h...
Tin học hóa công tác quản lý lịch làm việc cho cán  bộ nhân viên  tại UBND  h...Tin học hóa công tác quản lý lịch làm việc cho cán  bộ nhân viên  tại UBND  h...
Tin học hóa công tác quản lý lịch làm việc cho cán bộ nhân viên tại UBND h...luanvantrust
 
Phát triển bảo hiểm y tế hộ gia đình trên địa bàn thành phố Thái Nguyên
Phát triển bảo hiểm y tế hộ gia đình trên địa bàn thành phố Thái NguyênPhát triển bảo hiểm y tế hộ gia đình trên địa bàn thành phố Thái Nguyên
Phát triển bảo hiểm y tế hộ gia đình trên địa bàn thành phố Thái Nguyênluanvantrust
 
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...Viết Thuê Luận Văn Luanvanpanda.com
 
Tiêu chuẩn Pas 1192 2-2013 vietnamese Tiếng Việt
Tiêu chuẩn Pas 1192 2-2013 vietnamese Tiếng ViệtTiêu chuẩn Pas 1192 2-2013 vietnamese Tiếng Việt
Tiêu chuẩn Pas 1192 2-2013 vietnamese Tiếng ViệtHuytraining
 
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng JoomlaBáo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng JoomlaNguyễn Tân
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhnataliej4
 
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...Nhận Viết Đề Tài Thuê trangluanvan.com
 
Chinh phuc ngon_ngu_c
Chinh phuc ngon_ngu_cChinh phuc ngon_ngu_c
Chinh phuc ngon_ngu_cDotuanhao
 
Ứng dụng công nghệ thông tin trong thực hiện thủ tục hành chính của Ủy ban nh...
Ứng dụng công nghệ thông tin trong thực hiện thủ tục hành chính của Ủy ban nh...Ứng dụng công nghệ thông tin trong thực hiện thủ tục hành chính của Ủy ban nh...
Ứng dụng công nghệ thông tin trong thực hiện thủ tục hành chính của Ủy ban nh...luanvantrust
 
Tác động của các nhân tố chất lượng dịch vụ tới sự thỏa mãn và lòng trung thà...
Tác động của các nhân tố chất lượng dịch vụ tới sự thỏa mãn và lòng trung thà...Tác động của các nhân tố chất lượng dịch vụ tới sự thỏa mãn và lòng trung thà...
Tác động của các nhân tố chất lượng dịch vụ tới sự thỏa mãn và lòng trung thà...nataliej4
 
Baocaothuctap nguyen tuatduyen_t246
Baocaothuctap nguyen tuatduyen_t246Baocaothuctap nguyen tuatduyen_t246
Baocaothuctap nguyen tuatduyen_t246nhonmy luu
 
Giải pháp nâng cao hiệu quả kinh doanh lữ hành nội địa tại công ty cổ phần du...
Giải pháp nâng cao hiệu quả kinh doanh lữ hành nội địa tại công ty cổ phần du...Giải pháp nâng cao hiệu quả kinh doanh lữ hành nội địa tại công ty cổ phần du...
Giải pháp nâng cao hiệu quả kinh doanh lữ hành nội địa tại công ty cổ phần du...Dịch vụ Làm Luận Văn 0936885877
 
Hoạt động marketing truyền thông xã hội (Social Media Marketing) trên thế giớ...
Hoạt động marketing truyền thông xã hội (Social Media Marketing) trên thế giớ...Hoạt động marketing truyền thông xã hội (Social Media Marketing) trên thế giớ...
Hoạt động marketing truyền thông xã hội (Social Media Marketing) trên thế giớ...luanvantrust
 
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Dịch vụ Làm Luận Văn 0936885877
 
huong dan viet vcViet cv-khong-kho-thang-son-doan1
huong dan viet vcViet cv-khong-kho-thang-son-doan1huong dan viet vcViet cv-khong-kho-thang-son-doan1
huong dan viet vcViet cv-khong-kho-thang-son-doan1Ngô Đức Cường
 
104515 pho ngoc huyen mi
104515   pho ngoc huyen mi104515   pho ngoc huyen mi
104515 pho ngoc huyen miLan Nguyễn
 
Thoitrangtoigian.com Minimal Store
Thoitrangtoigian.com Minimal StoreThoitrangtoigian.com Minimal Store
Thoitrangtoigian.com Minimal StoreTien An Nguyen
 

Similar to Giao trinh joomla v2.16.12 (20)

Tin học hóa công tác quản lý lịch làm việc cho cán bộ nhân viên tại UBND h...
Tin học hóa công tác quản lý lịch làm việc cho cán  bộ nhân viên  tại UBND  h...Tin học hóa công tác quản lý lịch làm việc cho cán  bộ nhân viên  tại UBND  h...
Tin học hóa công tác quản lý lịch làm việc cho cán bộ nhân viên tại UBND h...
 
Phát triển bảo hiểm y tế hộ gia đình trên địa bàn thành phố Thái Nguyên
Phát triển bảo hiểm y tế hộ gia đình trên địa bàn thành phố Thái NguyênPhát triển bảo hiểm y tế hộ gia đình trên địa bàn thành phố Thái Nguyên
Phát triển bảo hiểm y tế hộ gia đình trên địa bàn thành phố Thái Nguyên
 
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
 
Tiêu chuẩn Pas 1192 2-2013 vietnamese Tiếng Việt
Tiêu chuẩn Pas 1192 2-2013 vietnamese Tiếng ViệtTiêu chuẩn Pas 1192 2-2013 vietnamese Tiếng Việt
Tiêu chuẩn Pas 1192 2-2013 vietnamese Tiếng Việt
 
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng JoomlaBáo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
 
10217
1021710217
10217
 
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
Xây Dựng Chiến Lược Hệ Thống Sàn Giao Dịch Bất Động Sản Tại Công Ty Cổ Phần B...
 
Joola
JoolaJoola
Joola
 
Chinh phuc ngon_ngu_c
Chinh phuc ngon_ngu_cChinh phuc ngon_ngu_c
Chinh phuc ngon_ngu_c
 
Ứng dụng công nghệ thông tin trong thực hiện thủ tục hành chính của Ủy ban nh...
Ứng dụng công nghệ thông tin trong thực hiện thủ tục hành chính của Ủy ban nh...Ứng dụng công nghệ thông tin trong thực hiện thủ tục hành chính của Ủy ban nh...
Ứng dụng công nghệ thông tin trong thực hiện thủ tục hành chính của Ủy ban nh...
 
Tác động của các nhân tố chất lượng dịch vụ tới sự thỏa mãn và lòng trung thà...
Tác động của các nhân tố chất lượng dịch vụ tới sự thỏa mãn và lòng trung thà...Tác động của các nhân tố chất lượng dịch vụ tới sự thỏa mãn và lòng trung thà...
Tác động của các nhân tố chất lượng dịch vụ tới sự thỏa mãn và lòng trung thà...
 
Baocaothuctap nguyen tuatduyen_t246
Baocaothuctap nguyen tuatduyen_t246Baocaothuctap nguyen tuatduyen_t246
Baocaothuctap nguyen tuatduyen_t246
 
Giải pháp nâng cao hiệu quả kinh doanh lữ hành nội địa tại công ty cổ phần du...
Giải pháp nâng cao hiệu quả kinh doanh lữ hành nội địa tại công ty cổ phần du...Giải pháp nâng cao hiệu quả kinh doanh lữ hành nội địa tại công ty cổ phần du...
Giải pháp nâng cao hiệu quả kinh doanh lữ hành nội địa tại công ty cổ phần du...
 
Luận văn: Mô hình hóa luồng tương tác ifml trong phát triển di động
Luận văn: Mô hình hóa luồng tương tác ifml trong phát triển di độngLuận văn: Mô hình hóa luồng tương tác ifml trong phát triển di động
Luận văn: Mô hình hóa luồng tương tác ifml trong phát triển di động
 
Hoạt động marketing truyền thông xã hội (Social Media Marketing) trên thế giớ...
Hoạt động marketing truyền thông xã hội (Social Media Marketing) trên thế giớ...Hoạt động marketing truyền thông xã hội (Social Media Marketing) trên thế giớ...
Hoạt động marketing truyền thông xã hội (Social Media Marketing) trên thế giớ...
 
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
 
huong dan viet vcViet cv-khong-kho-thang-son-doan1
huong dan viet vcViet cv-khong-kho-thang-son-doan1huong dan viet vcViet cv-khong-kho-thang-son-doan1
huong dan viet vcViet cv-khong-kho-thang-son-doan1
 
104515 pho ngoc huyen mi
104515   pho ngoc huyen mi104515   pho ngoc huyen mi
104515 pho ngoc huyen mi
 
Thoitrangtoigian.com Minimal Store
Thoitrangtoigian.com Minimal StoreThoitrangtoigian.com Minimal Store
Thoitrangtoigian.com Minimal Store
 

More from Việt Nam

Sách Thuốc Gia Truyền - Sức Khỏe Là Vàng
Sách Thuốc Gia Truyền - Sức Khỏe Là VàngSách Thuốc Gia Truyền - Sức Khỏe Là Vàng
Sách Thuốc Gia Truyền - Sức Khỏe Là VàngViệt Nam
 
Cẩm nang 800 mẹo vặt trong cuộc sống
Cẩm nang 800 mẹo vặt trong cuộc sốngCẩm nang 800 mẹo vặt trong cuộc sống
Cẩm nang 800 mẹo vặt trong cuộc sốngViệt Nam
 
ATBMTTDN ChgII CAC HINH THUC TAN CONG va KHAC PHUC
ATBMTTDN ChgII CAC HINH THUC TAN CONG va KHAC PHUCATBMTTDN ChgII CAC HINH THUC TAN CONG va KHAC PHUC
ATBMTTDN ChgII CAC HINH THUC TAN CONG va KHAC PHUCViệt Nam
 
Luật thuế, luật kế toán vnnp
Luật thuế,  luật kế toán vnnpLuật thuế,  luật kế toán vnnp
Luật thuế, luật kế toán vnnpViệt Nam
 
dich vu ke toan, dich vu ke toan thue vnnp
dich vu ke toan, dich vu ke toan thue vnnpdich vu ke toan, dich vu ke toan thue vnnp
dich vu ke toan, dich vu ke toan thue vnnpViệt Nam
 
cong ty dich vu ke toan, tu van ke toan vnnp
cong ty dich vu ke toan, tu van ke toan vnnpcong ty dich vu ke toan, tu van ke toan vnnp
cong ty dich vu ke toan, tu van ke toan vnnpViệt Nam
 
dich vu ke toan tron goi, quyet toan thue vnnp
 dich vu ke toan tron goi, quyet toan thue vnnp dich vu ke toan tron goi, quyet toan thue vnnp
dich vu ke toan tron goi, quyet toan thue vnnpViệt Nam
 

More from Việt Nam (7)

Sách Thuốc Gia Truyền - Sức Khỏe Là Vàng
Sách Thuốc Gia Truyền - Sức Khỏe Là VàngSách Thuốc Gia Truyền - Sức Khỏe Là Vàng
Sách Thuốc Gia Truyền - Sức Khỏe Là Vàng
 
Cẩm nang 800 mẹo vặt trong cuộc sống
Cẩm nang 800 mẹo vặt trong cuộc sốngCẩm nang 800 mẹo vặt trong cuộc sống
Cẩm nang 800 mẹo vặt trong cuộc sống
 
ATBMTTDN ChgII CAC HINH THUC TAN CONG va KHAC PHUC
ATBMTTDN ChgII CAC HINH THUC TAN CONG va KHAC PHUCATBMTTDN ChgII CAC HINH THUC TAN CONG va KHAC PHUC
ATBMTTDN ChgII CAC HINH THUC TAN CONG va KHAC PHUC
 
Luật thuế, luật kế toán vnnp
Luật thuế,  luật kế toán vnnpLuật thuế,  luật kế toán vnnp
Luật thuế, luật kế toán vnnp
 
dich vu ke toan, dich vu ke toan thue vnnp
dich vu ke toan, dich vu ke toan thue vnnpdich vu ke toan, dich vu ke toan thue vnnp
dich vu ke toan, dich vu ke toan thue vnnp
 
cong ty dich vu ke toan, tu van ke toan vnnp
cong ty dich vu ke toan, tu van ke toan vnnpcong ty dich vu ke toan, tu van ke toan vnnp
cong ty dich vu ke toan, tu van ke toan vnnp
 
dich vu ke toan tron goi, quyet toan thue vnnp
 dich vu ke toan tron goi, quyet toan thue vnnp dich vu ke toan tron goi, quyet toan thue vnnp
dich vu ke toan tron goi, quyet toan thue vnnp
 

Giao trinh joomla v2.16.12

  • 1. Biên soạn: Nguyễn Tấn Thành Email: Tanthanh.tayninh@gmail.com TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH KHOA MẠNG MÁY TÍNH & TRUYỀN THÔNG – LỚP MMT03 –&—
  • 2. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 2 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA LỜI CỦA TÁC GIẢ Xin kính chào các bạn! Tôi không phải là một người chuyên nghiệp trong lĩnh vực thiết kế web. Tôi cũng không phải là một giáo viên dạy công nghệ thông tin. Đây là đầu tiên trong đời tôi tự viết được một cuốn sách và chia sẽ nó cho cộng động. Tôi rất vui vì điều này, và tôi tin chắc những bạn IT nào cũng có cảm giác đó như tôi. Chuyên đề THIẾT KẾ WEB VỚI JOOMLA này là những ngày đêm miệt mài nghiên cứu của tôi. Tôi rất vinh hạnh chia sẽ kiến thức của mình cho các bạn. Đặc biệt là những bạn mới làm quen với Joomla, để các bạn không phải mệt óc với cả khối tài liệu rời rạc, vừa tiếng Anh, vừa tiếng Việt trên mạng như hiện nay. Với tất cả những gì có thể tôi đã biên soạn thành công tài liệu thiết kế web với Joomla này bao gồm những nội dung cơ bản nhất giúp các bạn tự tạo, và quản trị một website đơn giãn bằng Joomla. Bạn sẽ bắt đầu với việc tìm hiểu về những nguyên lý hoạt động của internet và website. Tiếp đó bạn cùng tôi khám phá cách cài đặt một website mã nguồn Joomla như thế nào. Từ kiến thức nền tảng có được trong việc sử dụng những thành phần mở rộng của có sẳn trong Joomla, bạn sẽ tục tìm những thành phần mở rộng nâng cao để thiết kế một trang web chuyên nghiệp hơn, như trang web tin tức, web chia sẽ file, web thương mại điện tử, diễn đàn...Công việc cuối cùng mà bạn sẽ được tìm hiểu là việc bảo mật cho website, và tối ưu hóa website sử dụng Joomla. Hầu hết các bài thực hành đều làm trên localhost, như vậy nếu bạn có nhu cầu chia sẽ website cho mọi người thì làm sao. Chương cuối cùng của cuốn sách này sẽ hướng dẫn cách up website lên internet. Mặc dù đã cố gắn hết sức, nhưng cũng còn nhiều phần mà tôi chưa kịp chia sẽ với các bạn. Kiến thức thì quá là bao la, tôi cũng chia kịp khám phá ra hết. Vì vậy nếu có phần nao thiếu xót mong các bạn góp ý tậng tình. Tôi là người rất ngay thẳng, nghĩ sao nói vậy, “nói sao viết vậy”. Đó chính là khuyết điểm lớn nhất của tôi – sai lổi chính ta. Vì vậy nếu bạn có gặp những từ nào trong cuốn sách này viết sai lổi chính tả thì mong bạn bỏ qua lổi đó cho tôi. Lời cuối cùng, mong các bạn học thật tốt. Khi đã đọc xong cuốn sách và tạo được một website thì đừng quên chia sẽ nó cho tôi. Gửi về địa chỉ email bên dưới! Trân trọng cảm ơn ! Nguyễn Tấn Thành Blog: http://dctlive.22web.net http://dctuit.wordpress.com Email: Tanthanh.tayninh@gmail.com
  • 3. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ3 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA MỤC LỤC LỜI CỦA TÁC GIẢ................................................................................................................................................... 2 MỤC LỤC................................................................................................................................................................ 3 CHƯƠNG 1: CÁC VẤN ĐỀ TRƯỚC KHI SỬ DỤNG JOOMLA ....................................................................... 7 BÀI 1: INTERNET .................................................................................................................................................... 7 I: GIAO THỨC (PROTOCOL)........................................................................................................................... 7 II: PHÂN LOẠI WEB ......................................................................................................................................... 8 BÀI 2: DOMAIN AND HOSTING........................................................................................................................... 9 I: DOMAIN......................................................................................................................................................... 9 II: HOSTING.................................................................................................................................................... 10 BÀI 3: NGÔN NGỮ LẬP TRÌNH VÀ CƠ SỞ DỮ LIỆU .................................................................................... 11 I: NGÔN NGỮ LẬP TRÌNH............................................................................................................................. 11 II: CƠ SỞ DỮ LIỆU (DATABASES)................................................................................................................ 12 BÀI 4: CÀI ĐẶT WEB SERVER XAMPP............................................................................................................ 12 I: GIỚI THIỆU................................................................................................................................................. 12 II: CÀI ĐẶT...................................................................................................................................................... 12 III: CẤU HÌNH................................................................................................................................................. 16 BÀI 5: QUẢN TRỊ CƠ SỞ DỮ LIỆU BẰNG PHPMYADMIN .......................................................................... 18 I: GIỚI THIỆU................................................................................................................................................. 18 II: THAY ĐỔI MẬT KHẨU TRUY CẬP DỮ LIỆU .......................................................................................... 18 III: QUẢN TRỊ CƠ SỞ DỮ LIỆU..................................................................................................................... 19 BÀI 6: QUẢN TRỊ CSDL BẰNG NAVICAT........................................................................................................ 24 I: GIỚI THIỆU................................................................................................................................................. 24 II: QUẢN TRỊ CSDL VỚI NAVICAT................................................................................................................ 24 BÀI 7: LẬP TRÌNH PHP........................................................................................................................................ 27 CHƯƠNG 2: CÀI ĐẶT VÀ CẤU HÌNH JOOMLA............................................................................................. 48 BÀI 1: GIỚI THIỆU JOOMLA ............................................................................................................................. 48 I: VỀ JOOMLA................................................................................................................................................. 48 II: CÁC THÀNH PHẦN MỞ RỘNG CỦA JOOMLA ....................................................................................... 49 III : CÁC THUẬT NGỮ.................................................................................................................................... 50 BÀI 2: CÀI ĐẶT JOOMLA.................................................................................................................................... 52 BÀI 3 : GIỚI THIỆU GIAO DIỆN LÀM VIỆC CỦA ADMIN........................................................................... 57 I: GIAO DIỆN LÀM VIỆC................................................................................................................................ 57 II: HỆ THỐNG MENU..................................................................................................................................... 59 BÀI 4: CẤU HÌNH CƠ BẢN CHO WEBSITE ..................................................................................................... 61 CHƯƠNG 3: QUẢN LÝ BÀI VIẾT TRONG JOOMLA..................................................................................... 63 BÀI 1: QUẢN LÝ SECTION.................................................................................................................................. 63 I: GIỚI THIỆU................................................................................................................................................. 63
  • 4. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 4 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA II: TẠO MỚI SECTION.................................................................................................................................... 63 III : QUẢN LÝ SECTION ................................................................................................................................. 64 BÀI 2 : QUẢN LÝ CATEGORY............................................................................................................................ 65 I : GIỚI THIỆU................................................................................................................................................ 65 II : TẠO MỚI CATEGORY............................................................................................................................... 65 III : QUẢN LÝ CATEGORY ............................................................................................................................. 66 BÀI 3 : QUẢN LÝ BÀI VIẾT................................................................................................................................. 67 I : THÊM MỚI BÀI VIẾT ................................................................................................................................. 67 II : QUẢN LÝ BÀI VIẾT................................................................................................................................... 68 III : CẤU HÌNH CÁC THÔNG SỐ CHO BÀI VIẾT......................................................................................... 68 IV: TẠO BÀI VIẾT NÂNG CAO ....................................................................................................................... 70 BÀI 4: QUẢN LÝ ĐA PHƯƠNG TIỆN................................................................................................................. 73 HƯỚNG DẪN QUẢN LÝ ĐA PHƯƠNG TIỆN................................................................................................ 73 QUY ĐỊNH THƯ MỤC LƯU TRỮ................................................................................................................... 74 BÀI 5: QUẢN LÝ USER ......................................................................................................................................... 74 QUẢN LÝ USER VÀ TẠO MỚI USER ............................................................................................................. 74 PHÂN QUYỀN TRONG JOOMLA................................................................................................................... 75 CHƯƠNG 4: LÀM VIỆC CƠ BẢN VỚI CÁC THÀNH PHẦN MỞ RỘNG..................................................... 78 BÀI 1: CÀI ĐẶT CÁC THÀNH PHẦN MỞ RỘNG ............................................................................................ 78 CÁCH CÀI ĐẶT EXTENSIONS ....................................................................................................................... 78 BÀI 2: TEMPLATE................................................................................................................................................. 80 HƯỚNG DẪN CÀI ĐẶT TEMPLATE .............................................................................................................. 80 CẤU TRÚC GÓI CÀI ĐẶT CỦA TEMPLATE ................................................................................................. 82 TẬP HỢP CÁC TRANG CUNG CấP TEMPLATE FREE................................................................................ 82 BÀI 3: MODULE..................................................................................................................................................... 83 TẠO MỚI MỘT MODULE............................................................................................................................... 84 BÀI 4: PLUGIN........................................................................................................................................................ 85 PHÂN LOẠI PLUGIN ...................................................................................................................................... 85 BÀI 5: KHAI THÁC COMPONENT..................................................................................................................... 86 I : Banner ......................................................................................................................................................... 86 II: Contacts....................................................................................................................................................... 88 II: News Feed ................................................................................................................................................... 88 IV: Polls............................................................................................................................................................ 89 V: Search.......................................................................................................................................................... 90 VI: Web Links................................................................................................................................................... 90 BÀI 6: TẠO VÀ QUẢN LÝ MENU ....................................................................................................................... 91 Tạo Menu.......................................................................................................................................................... 91 MENU Đặc Biệt................................................................................................................................................ 92 Tạo DropDown Menu....................................................................................................................................... 93 BÀI 7: KHAI THÁC MODULE CÓ SẴN TRONG JOOMLA ........................................................................... 94 I: Latest News (Tin mới nhất), Popular (Tin đọc nhiều nhất) .......................................................................... 94 II: Who’s Online............................................................................................................................................... 94 III: News Flash................................................................................................................................................. 95
  • 5. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ5 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA IV: Customs HTML .......................................................................................................................................... 95 CHƯƠNG 5: TIẾNG VIỆT TRONG JOOMLA .................................................................................................. 96 BÀI 1: VIỆT HÓA JOOMLA................................................................................................................................. 96 I: HƯỚNG DẪN TỰ VIỆT HÓA ...................................................................................................................... 96 II: HƯỚNG DẪN VIỆT HÓA BẰNG GÓI NGÔN NGỮ CÓ SẴN.................................................................... 97 BÀI 2: CÀI BỘ GÕ TIẾNG VIỆT VÀO TRANG WEB...................................................................................... 98 I: Cài đặt bộ gõ tiếng Việt AVIM thủ công cho Joomla ................................................................................... 98 II:Cài đặt bộ gõ tiếng việt AVIM bằng Module................................................................................................ 99 BÀI 3: LỖI HIỂN THỊ TIẾNG VIỆT.................................................................................................................. 100 CHƯƠNG 6: KHAI THÁC THÀNH PHẦN MỞ RỘNG NÂNG CAO............................................................ 101 BÀI 1: KHAI THÁC MODULE........................................................................................................................... 101 I: VISITORS COUNTER ................................................................................................................................ 101 II: SLIDE SHOW............................................................................................................................................ 101 III: JA TABS ................................................................................................................................................... 102 IV: MAXI MENU............................................................................................................................................ 103 BÀI 2: TẠO VÀ QUẢN LÝ COMMENTS.......................................................................................................... 104 GIỚI THIỆU VÀ CÀI ĐẶT............................................................................................................................. 104 QUẢN LÝ COMMENTS ................................................................................................................................. 105 CẤU HÌNH ..................................................................................................................................................... 105 BÀI 3 : TRÌNH SOẠN THẢO JCE...................................................................................................................... 107 PHÂN NHÓM SỬ DỤNG .............................................................................................................................. 107 BÀI 4: TẠO WEB THƯƠNG MẠI ĐIỆN TỬ VỚI VIRTUE MARK.............................................................. 109 TÍNH NĂNG CỦA VIRTURE MARK ............................................................................................................. 109 HƯỚNG DẪN CÀI ĐẶT................................................................................................................................. 109 VIỆT HÓA VIRTURE MARK ......................................................................................................................... 110 SỬ DỤNG CÁC MODULE ............................................................................................................................ 111 THEME CHO VIRTURE MARK .................................................................................................................... 112 BÀI 5: QUẢN LÝ FILE VỚI DOCMAN............................................................................................................. 113 I: CÀI ĐẶT DOCMAN ................................................................................................................................... 113 II: CHIA SẼ TÀI NGUYÊN............................................................................................................................. 113 III : PHÂN QUYỀN THEO NHÓM................................................................................................................ 117 IV : THEME CHO DOCMAN ........................................................................................................................ 117 BÀI 6: TẠO DIỄN ĐÀN ĐƠN GIÃN VỚI KUNENA........................................................................................ 119 I: CÀI ĐẶT KUNENA..................................................................................................................................... 119 II: TẠO MỚI CÁC DANH MỤC TRONG FORUM........................................................................................ 119 III: NHỮNG CHỨC NĂNG KHÁC ................................................................................................................ 121 BÀI 7: TẠO WEB NHẠC VỚI MAIAN MUSIC................................................................................................ 122 CÀI ĐẶT......................................................................................................................................................... 122 SỬ DỤNG MAIANMUSIC ............................................................................................................................. 124 HIỂN THỊ CÁC BÀI HÁT MỚI ĐĂNG .......................................................................................................... 130 VIỆT HÓA MAIAN MUSIC............................................................................................................................ 131
  • 6. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 6 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA BÀI 8: TẠO WEB ẢNH PHOCA GALLERY .................................................................................................... 132 QUẢN LÝ ALBUM............................................................................................................................................ 132 HIỂN THỊ ALBUM............................................................................................................................................. 133 THEME CHO PHOCA GALLERY .................................................................................................................... 134 MODULE PHOCA GALLERY MENU ....................................................................................................................... 135 BÀI 9: TẠO MENU VỚI SWMENUFREE......................................................................................................... 136 BÀI 10: PLUGIN CHÈN NHẠC – VIDEO ......................................................................................................... 139 CHƯƠNG 7: NHỮNG VẤN ĐỀ NÂNG CAO KHI QUẢN TRỊ WEB VỚI JOOMLA.................................. 141 BÀI 1: ĐẢM BẢO AN TOÀN CHO WEBSITE ................................................................................................. 141 I:BACKUP WEBSITE & DATABASE ............................................................................................................ 141 II: THAY ĐỔI TIỀN TỐ MẶC ĐỊNH CHO DATABASE................................................................................ 142 III: THAY ĐỔI ĐƯỜNG DẪN MẶC ĐỊNH CHO TRANG QUẢN TRỊ.......................................................... 144 BÀI 2: TỐI ƯU HÓA WEBSITE ......................................................................................................................... 145 I: SỬ DỤNG CACHING................................................................................................................................. 145 II: TỐI ƯU HÓA DATABASE ........................................................................................................................ 146 III: TẠO ĐƯỜNG DẪN THÂN THIỆN .......................................................................................................... 147 IV: MỘT SỐ PHƯƠNG PHÁP TỐI ƯU KHÁC............................................................................................. 148 BÀI 3: XUẤT BẢN WEBSITE LÊN INTERNET .............................................................................................. 148 I: HƯỚNG DẪN ĐĂNG KÝ HOST FREE TẠI BYETHOST........................................................................... 148 II: QUẢN LÝ FILE TRÊN HOST.................................................................................................................... 151 III: XUẤT BẢN WEBSITE LÊN INTERNET .................................................................................................. 153 IV: THÔNG SỐ CẦN CHÚ Ý KHI TẢI WEBSITE LÊN INTERNET.............................................................. 156 LỜI CẢM ƠN......................................................................................................................................................... 158 TÀI LIỆU THAM KHẢO..................................................................................................................................... 158
  • 7. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ7 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA CHƯƠNG 1: CÁC VẤN ĐỀ TRƯỚC KHI SỬ DỤNG JOOMLA –&— BÀI 1: INTERNET I: GIAO THỨC (PROTOCOL) 1: Khái niệm Ngôn ngữ được sử dụng bởi các thực thể mạng gọi là giao thức truyền thông (gọi tắc là giao thức). Các bên hiểu nhau do giao thức định nghĩa một ngôn ngữ chung giữa các thành phần mạng. Từ khái niệm cơ bản này, bạn có thể hiểu giao thức là thủ tục, quy tắc hoặc các đặc tả chính thức đã được chấp nhận nhằm xác định các hành vi và ngôn ngữ trao mà các bên trao đổi với nhau. Trong cuộc sống chúng ta cũng áp dụng nhiều quy tắc khác nhau. Ví dụ như khi đi đến một nơi mang tính chất quan trọng, mọi người luôn phải tuân thủ những quy tắc về trang phục như phải mặc đồ vét có thắc caravat. Trong khi đi đến một quán ăn bình dân thì mặc gì cũng được. Trong mạng máy tính giao thức là những bản đặc tả về cách thức “xử sự” của các thực thể tham gia truyền thông. Trong việc thiết kế web bạn cần quan tâm đến hai giao thức là HTTP và FTP. 2: Giao thức HTTP Hyper Text Transfer Protocol (HTTP) Là trái tim của web. Giao thức HTTP được triển khai trên cả hai phía Client và Server. HTTP quy định cách thức trao đổi thông tin thông qua việc giao tiếp bằng các thông điệp HTTP. HTTP xác định cách thức trình duyệt yêu cầu một trang web từ web server cũng như các thức mà server sẽ gửi trả kết quả cho web client. Trang web (Web pages – còn gọi là một tập tin web) : Chứa các đối tượng (Object). Đơn giãn đó chỉ là một file text, hay là một tập tin hình ảnh, âm nhạc…Đối tượng được xác định qua URL. Trang web chứa các một file HTML cơ sở và tham chiếu đến các đối tượng khác. Trình duyệt (Browser – Web Client) Chương trình giao tiếp người dùng của ứng dụng Web cho phép hiển thị trang web. Browser cài đặt phía client của giao thức HTTP. Hiện nay có nhiều phần mềm trình duyệt phổ biến như Internet Explorer, Firefor, Opera… Web server
  • 8. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 8 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Là nơi lưu trữ website, và trả lời yêu cầu từ phía web client. Một số phần mềm phía server phổ biến như Microsoft Internet Information Server (IIS), Appache, Nestcape Enterprise Server (NES)… URL (Uniform Resource Locator) Là một tên gọi khác của địa chỉ web. URL bao giồm tên giao thức (là HTTP hay FTP…), kế đến dấu hai chấm và hai dấu xuyệt sắc (://), ví dụ địa chỉ http://www.uit.edu.vn dẫn đến website có địa chỉ là www.uit.edu.vn bằng giao thức HTTP. Khi truy cập chúng ta có thể bỏ qua tiền tố http:// vì trình duyệt mặc định thêm thành phần này vào. Một URL phải chính xác đến từng ký tự, vì chỉ cần thêm một dấu chấm là đã dẫn đến một trang web khác. 3: Giao thức FTP FTP(File Transfer Protocol) là giao thức dùng để truyền file giữa các máy tính. Trong phiên làm việc, người dùng sử dụng tại máy tính của mình và trao đổi file với máy tính khác. Người dùng cần phải đăng nhập bằng cách cung cấp tên định danh (username) và mật khẩu xác thực (password). Cả hai giao thức HTTP và FTP đều dùng để truyền file. Nhưng ở chúng có một đặc điểm khác nhau cơ bản là ở FTP bạn không thể mở trực tiếp file đó được. Nó cần bạn đưa về máy tính trước khi mở nó lên. Trong khi với HTTP bạn có thể mở file trực tiếp được. 4: Một số giao thức khác Thỉnh thoảng bạn vẫn thấy có vài website là https://gmail.com chẳng hạn. Như vậy giao thức HTTPS là gì? Đó chính là một dạng của HTTP nhưng được tăng cường thêm tính năng bảo mật, cụ thể là nó mã hóa tất cả thông tin gửi đi trên đường truyền. Chữ S ở đây chính là SSL. Bạn cũng thường truy cập một file nhạc dạng mms://www.data.com/anhmaiyeuem.mp3 chẳng hạn. Như vậy chúng ta có một giao thức mới cho việc truyền dẫn các file nhạc đó chính là MMS. Giao thức còn dùng cho việc truyền các file video, hình ảnh..nói chung là đa phương tiện. II: PHÂN LOẠI WEB Static Web (Web tĩnh) Chỉ bao gồm nội dung hiển thị cho người dùng xem. Nội dung này có thể là text thông thường, nhưng cũng có thể là một file đa phương tiện (hình ảnh, âm nhạc, video, flash…). Froms Pages (Biểu mẫu) Ngoài những nội dung thông thường như Static web, nó có thêm phần điền thông tin, dữ liệu do người dùng nhập vào. Sau khi điền xong form người dùng bấm nút Submit thì dữ liệu được gửi đến đầu vào của một trang web khác. Dynamic Web (Web động)
  • 9. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ9 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Sau khi bấm nút Submit ở biễu mẫu, nếu dữ liệu đó có lưu trữ lại cho phiên làm việc sau của người dùng thì đó là Web động. Web động có tương tác đến một cơ sở dữ liệu lưu trữ trên mạng để hiển thị thông tin cho người dùng. Lưu ý: Bạn đừng bao giờ cho rằng một trang web có những tấm hình nhảy múa là web động. Đó chỉ là một tập tin ảnh động mà thôi. Web động là web có tương tác với cơ sở dữ liệu, đừng bao giờ định nghĩa web động là web có from đăng nhập. Một trang web có from đăng nhập chưa chắc là web động, có thể thông tin đăng nhập chỉ lưu trong một biến nào đó của ngôn ngữ lập trình. Cũng đừng bao giờ định nghĩa web tĩnh là web lập trình bằng HTML, còn web động là web lập trình bằng PHP hay Java…Những trang web lập trình bằng PHP chưa chắc là web động, nếu nó chỉ dùng để hiển thị thông tin. BÀI 2: DOMAIN AND HOSTING I: DOMAIN 1: Cấu trúc một địa chỉ Domain (miền) Bạn truy cập vào địa http://www.google.com thành phần .com phía sau được gọi là Domain Name. Thành phần miền được quản lý bởi của ISP khu vực, và đơn vị phụ trách quản lý tên miền trên toàn thế giới là ICANN. Host name Thành phần google như ví dụ trên chính là host name. Để có thể đưa website ra cộng đồng bạn cần mua một địa chỉ. Địa chỉ này gọi là Domain Name. Ví dụ ở đây chúng ta cần phải mua google.com Thỉnh thoảng bạn cũng lấy một domain có hai thành phần ví dụ như .com.vn. Nó được cấp phát và quản lý bỡi nhà quản lý domain cấp cao, trong ví dụ này là .vn 2: Tại sao phải sử dụng domain name Khi làm việc với máy tính, nó sử dụng những con số. Để truy cập website nó sẽ tìm đến máy tính lưu dữ liệu web (các file) bằng địa chỉ IP của máy tính. Nhưng đối với con người thì việc nhớ những IP này không hay cho lắm. Vì vậy mà người ta dùng domain name để ánh xạ một địa chỉ dạng text sang IP. Việc phân giải tên miền thành IP được thực hiện thông qua dịch vụ DNS (Domain Name Services).
  • 10. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 10 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA II: HOSTING 1: Khái niệm hosting Dịch vụ Web host là hình thức dịch vụ host trên Internet, cung cấp cho các cá nhân, tổ chức và người sử dụng những hệ thống trực tuyến (trên mạng) để lưu trữ thông tin, hình ảnh, video, hoặc bất kỳ nội dung nào khác có thể truy cập qua Web. Web host là các công ty chuyên cung cấp chỗ (dung lượng) trên server của họ cho khách hàng sử dụng, đồng thời cung cấp kết nối Internet, thường trong một trung tâm dữ liệu. Các Web host còn có thể cung cấp không gian ở trung tâm dữ liệu và kết nối Internet đến các server không thuộc sở hữu của họ. 2: Phạm vi dịch vụ Phạm vi của các dịch vụ host rất rộng. Cơ bản nhất là host trang Web và những tập tin nhỏ, với các tập tin được upload lên server thông qua giao thức FTP hoặc một giao diện Web. Các tập tin thường được cung ứng “nguyên trạng” cho ứng dụng Web, hoặc chỉ được xử lý rất ít. Nhiều nhà cung cấp dịch vụ Internet (ISP) cung cấp dịch vụ này miễn phí cho khách hàng của họ. Người dùng còn có thể sử dụng dịch vụ Web host do nhiều nhà cung cấp dịch vụ khác cung cấp. Dịch vụ Web host thường miễn phí, có kèm theo quảng cáo hoặc có giá rẻ. Dịch vụ Web host thông thường chỉ đủ đáp ứng nhu cầu của các trang chủ cá nhân. Một Web site phức tạp đòi hỏi một gói dịch vụ toàn diện hơn, cung cấp khả năng hỗ trợ cơ sở dữ liệu và các hệ nền phát triển ứng dụng (như PHP, Java, ASP.NET). Những tính năng này cho phép người dùng viết hoặc cài đặt script cho các ứng dụng như diễn đàn hay quản lý nội dung. Các Web site thương mại điện tử còn đòi hỏi mã hóa SSL. Nhà cung cấp dịch vụ host có thể còn cung cấp một bảng điều khiển giao diện Web (Cpanel, Helm, Plesk, ví dụ thế) để quản lý Web server và cài đặt script cũng như các dịch vụ khác, chẳng hạn e-mail. Gần đây các bảng điều khiển hoặc giao diện Web này gây ra nhiều cuộc tranh cãi khi Web.com tuyên bố công ty này được độc quyền về công nghệ host với 19 phát minh của mình. Hostopia, một công ty host sỉ lớn, gần đây đã mua quyền sử dụng công nghệ của Web.com với giá 10% lợi tức host lẻ. Web.com cũng đã kiện công ty Godaddy vì xâm phạm các phát minh độc quyền đó. Một số nhà cung cấp dịch vụ host tập trung vào một phần mềm hoặc dịch vụ nhất định (ví dụ như thương mại điện tử). Những phần mềm hay dịch vụ này thường do các công ty lớn hơn sử dụng để tận dụng kiến trúc hạ tầng mạng của công ty cung cấp dịch vụ host. 3: Các loại dịch vụ host Sau đây là những dịch vụ giới hạn trong phạm vi ứng dụng Web: Dịch vụ Web host miễn phí: Miễn phí, (đôi khi) chấp nhận quảng cáo, và cực kỳ hạn chế khi so sánh với dịch vụ host có thu phí. Dịch vụ Web host dùng chung: Website của bạn được đặt chung server với hàng trăm Web site khác. Dịch vụ host dành riêng: Người sử dụng thuê trọn Web server và có toàn quyền điều khiển nó, tuy nhiên, người sử dụng không sở hữu server.
  • 11. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ11 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Dịch vụ host hỗ trợ: Tương tự dịch vụ host dành riêng, nhưng người sử dụng sở hữu server; công ty host chỉ cung cấp chỗ (không gian vật lý) để lắp đặt và bảo trì server. Đây là loại dịch vụ Web host mạnh nhất và đắt tiền nhất. Server ảo dành riêng: Chia một server thành nhiều server ảo, mỗi người dùng có cảm tưởng như họ đang quản lý server dành riêng cho họ, nhưng thât ra họ đang chia sẻ server với nhiều người dùng khác. Web host lẻ: Cho phép khách hàng cung cấp dịch vụ Web host cho chính họ. Host phân bổ: Sử dụng nhiều server lưu trữ cùng một nội dung để tận dụng tài nguyên tốt hơn. Một số dịch vụ Web cụ thể: Dịch vụ lưu trữ tập tin: không lưu trữ trang Web mà là các tập tin Dịch vụ lưu trữ hình ảnh Dịch vụ lưu trữ video Dịch vụ lưu trữ blog Dịch vụ lưu trữ công cộng (như yousendit hay myfilehut vậy) BÀI 3: NGÔN NGỮ LẬP TRÌNH VÀ CƠ SỞ DỮ LIỆU I: NGÔN NGỮ LẬP TRÌNH 1: Ngôn ngữ HTML Là ngôn ngữ lập trình cơ bản nhất. Nó chỉ có thể dùng để hiển thị một trang web tĩnh. Đôi khi bạn có thể dùng nó để thiết kế của form, nhưng nó không tương tác được với cơ sở dữ liệu. Chúng ta dễ dàng xem code của một trang web dạng HTML bằng cách vào menu View > Page Code (Ctrl + U) 2: Ngôn ngữ CSS Đây là ngôn ngữ dùng để định nghĩa một giao diện cho website. Nó không thể hiển thị được nội dung, nhưng nó tạo ra template cho nội dung. Ví dụ để định nghĩa một font chữ bạn dùng CSS và áp nó vào cho một đoạn văn. Ngôn ngữ này thường đi kèm với HTML. 3: Ngôn ngữ PHP, ASP, JAVA Ngôn ngữ chạy phía server, nó thực hiện một quá trình biên dịch mã nguồn và trả về kết quả, hiển thị lên Browes cho người xem. Quy trình biên dịch như sau: Ngôn ngữ này cho phép tương tác với cơ sở dữ liệu. Ngôn ngữ phổ biến được dùng nhiều nhất là PHP. Client Server Trình biên dịch
  • 12. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 12 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA II: CƠ SỞ DỮ LIỆU (DATABASES) Bạn thường vào một diễn đàn, đăng ký thông tin để tham gia vào diễn dàn. Như vậy những thông tin mà bạn đăng ký đó gọi là dữ liệu. Toàn bộ được lưu lại trong hệ thống gọi là cơ sở dữ liệu. Các chương trình quản lý cơ sở dữ liệu phổ biến như SQL Server, Oracel, Access, MySQL. Để dùng cho thiết kế bằng ngôn ngữ PHP người ta thường dùng MySQL, bỡi tính đơn giãn dể sử dụng của nó. BÀI 4: CÀI ĐẶT WEB SERVER XAMPP I: GIỚI THIỆU Xampp là máy chủ web cho phép bạn cài đặt và quản lý website của mình tại máy tính của mình. Khi cài đặt thành công Xampp bạn sẽ được một host ảo hay còn gọi là localhost. Với localhost thì việc quản trị nó tương tự như quản trị trên host thật. Xampp hổ trợ hầu hết các hệ điều hành. Nó hổ trợ việc thực thi ngôn ngữ lập trình PHP, Perl. Sau khi cài đặt bạn còn có thêm tiện ích PHPMyAdmin là chương trình dùng để quản trị cơ sở dữ liệu dưới dạng giao diện đồ họa. Hiện tại chương trình có nhiều phiên bản cho bạn lựa chọn. Tuy nhiên việc lựa chọn phiên bản nào còn tùy thuộc vào hệ thống và nhu cầu của bạn. Để tải chương trình bạn truy cập địa chỉ: http://www.apachefriends.org/ Lưu ý chọn đúng phiên bản dành cho hiệu điều hành. II: CÀI ĐẶT Bước 1: Download chương trình từ địa chỉ trên. Ở đây sử dụng phiên bản 1.7.2 cho Windows. Bước 2: Kích vào tập tin vừa tải về để cài đặt. Tại màn hình đầu tiên bạn chú vào trường Destination Folder, tại đây đang chọn là ổ C, nhưng tôi khuyên bạn nên chọn sang một ổ đĩa khác không có cài hệ điều hành. Bấm nút Next.
  • 13. PHIÊN BẢN THỬ NGHI13 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Bước 3: Trong bước tiếp theo này bạ tùy chọn trong mục Services Session là chọn sẽ chạy mặc trong Windows. NGHIỆM – LƯU HÀNH NỘI BỘ ạn đảm bảo đã chọn hết tất cả các tùy chọn. Trong đó có ba c Services Session là quan trọng nhất. Điều này có nghĩa là ba d Trong đó có ba ĩa là ba dịch vụ được
  • 14. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 14 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Bước 4: Dưới đây là quá trình cài đặt đang được tiến hành. Bạn chờ cho đến khi màn hình DOS xuất hiện. Bước 5: Khi những màn hình DOS xuất hiện bạn cứ để yên cho nó qua hết cho đến khi màn hình báo đã cài đặt hoàn tất xuất hiện.
  • 15. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ15 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Bước 6: Tiếp theo bạn ra desktop tìm icon của chương trình và khởi động nó lên. Bấm nút Start cạnh hai dịch vụ Apache và MySql, để ý thấy trạng thái của nó là Running thì được. Bấm nút Exit để thoát chương trình. Bước 7: Bạn kiểm tra chương trình đã hoạt động chưa bằng cách mở trình duyệt web bất kỳ và gõ vào địa chỉ http://localhost hoặc http://127.0.0.1 Nếu kết quả xuất hiện như hình dưới đây là bạn đã cài đặt thành công.
  • 16. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 16 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA III: CẤU HÌNH 1: Thay đổi địa chỉ local Mặc định để truy cập vào webserver bạn vào địa chị http://localhost Nhưng nếu bạn muốn thay địa chỉ này thành một cái tên tùy thích, ví dụ như http://tinhyeucuatoi.com chẳng hạn. Bạn thực hiện như sau: Bước 1: Mở Windows Explorer lên theo đường dẫn C:WindowsSystem32driversetc Bước 2: Mở tập tin hosts bằng Notepad. Bước 3: Tìm đến dòng # 127.0.0.1 localhost và thay chữ localhost bằng chữ tùy thích. Trong ví dụ này là tinhyeucuatoi.com. Bỏ dấu # phía trước. Bước 4: Lưu tập tin này lại và kiểm tra bằng cách truy cập vào trình duyệt http://tinhyeucuatoi.com 2. Tạo thử website Bây giờ chúng ta sẽ thử tạo ra một website đơn giãn để kiểm tra webserver của chúng ta hoạt động chưa. Bước 1: Bạn tìm theo địa chỉ C:Xampphtdocs (C: là thư mục cài đặt) tạo thêm một thư mục mới có tên MyWeb dùng để chứa website của bạn tạo ra. Bước 2: Tạo tập tin Index.html trong thư mục MyWeb trên, nội dung tùy ý. Ví dụ ở đây tôi ghi nội dung như hình.
  • 17. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ17 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Bước 3: Lưu website này và truy cập vòa địa chỉ http://localhost/MyWeb. Nếu kết quả hiện ra trang web với nội dung ở trên thì là thành công. (Lưu ý: nếu bạn đã sửa địa chỉ localhost thành địa chỉ khác thì nhớ gõ đúng, trong sách này tôi sử dụng mặc định). 3. Thay đổi thư mục htdocs Mặc định thì bắt buộc bạn phải lưu thư mục chứa web của mình trong thư mục htdocs Nhưng bạn muốn thay đổi địa chỉ này qua một thư mục khác chẳng hạn. Chúng ta làm như sau: Bước 1: Bạn tìm đến thư mục C:xamppapacheconf Mở tập tin httpd.conf bằng notepad. Bước 2: Tìm đến dòng <Directory "C:/xampp/htdocs"> và thay đường dẫn trong đó bằng đường dẫn đến thu mục chứa web mới của bạn. Ví dụ tôi tạo thư mục D:Data thì tôi sẽ sửa lại thành <Directory "D:/Data"> Bước 3: Tìm đến dòng DocumentRoot "C:/xampp/htdocs" và cũng sửa đường dẫn trong đó đến thư mục chứa web. Bạn chú ý dùm tôi dấu gạch chéo trong địa chỉ.
  • 18. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 18 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Bước 4: Khởi động lại dịch vụ Apache bằng cách mở trình điều khiều Xampp, bấm Stop ở dịch vụ Apache và sau đó chọn Start trở lại. Nếu trạng thái lúc này là Running thì việc cấu hình của bạn thành công. Bước 5: Bạn thử kiểm tra lại bằng cách tạo một file Index.html và truy cập vào website của mình. BÀI 5: QUẢN TRỊ CƠ SỞ DỮ LIỆU BẰNG PHPMYADMIN I: GIỚI THIỆU Trình quản trị cơ sở dữ liệu PHPMyAdmin quản trị cơ sở dữ liệu bằng ngôn ngữ dữ liệu MySQL. Nó cho phép tạo ra một cơ sở dữ liệu, tương thích với ngôn ngữ lập trình web PHP. PHPMyAdmin viết trên nền web nên dễ dàng sử dụng và được nhiều người ưa chuộng. Còn nói về ngôn ngữ truy vấn dữ liệu MySQL thì nó không khác gì SQL cho lắm. Nhưng nó hổ trợ tốt hơn cho PHP. II: THAY ĐỔI MẬT KHẨU TRUY CẬP DỮ LIỆU Công việc đầu tiên bạn nên làm là đặt mật khẩu bảo vệ cho cơ sở dữ liệu của mình. Để làm điều này bạn truy cập vào trang http://localhost/security/xamppsecurity.php Nhập mất khẩu hiện tại và mật khẩu mới, rồi bấm nút Password changing
  • 19. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ19 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Thông báo Password đã được thay đổi thành công. III: QUẢN TRỊ CƠ SỞ DỮ LIỆU 1: Truy cập trang quản trị Để làm điều này bạn vào địa chỉ http://localhost/phpmyadmin Đăng nhập với Username mặc định là root, Password do bạn đặt ở mục trước. Nếu đúng thì chương trình PHPMyAdmin xuất hiện như hình bên dưới.
  • 20. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 20 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA 2: Tạo CSDL mới Để tạo mới một CSDL bạn chọn tab Databases, điền tên CSDL trong trường Create new databases. Lưu ý: chọn thêm kiểu mã hóa ký tự là utf8_general_ci trong mục chọn kế bên. Sau cùng bấm Create. Nhận được thông báo đã tạo thành công một CSDL mới. 3: Tạo Table (thuật ngữ gọi là quan hệ) mới cho dữ liệu Bây giờ chúng ta sẽ tạo mới một bảng cho dữ liệu MyData ở trên. Ví dụ tôi sẽ tạo một bảng ThongTinSinhVien để lưu thông tin của sinh viên. Để làm điều này bạn thực hiện như sau Bên góc tay trái bạn chọn vào tên database của mình là MyData. Bạn nhận được một thông báo No table found in database có nghĩa là bảng dữ liệu bây giờ đang trống. Để tạo mới bạn gõ tên Table trong trường Name, trường
  • 21. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ21 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Number of fields yêu cầu bạn chỉ định số cột (Column) trong bảng (thuật ngữ gọi là thực thể). Bấm nút GO để tạo table. Chúng ta nhận được một bảng yêu cầu các Column cho Table vừa tạo: Ví dụ này chúng ta sẽ tạo một dữ liệu như sau: MSSV HOTEN NGAYSIN H KHOA DTB 085204 41 Nguyễn Anh Tuấn 12/7/1991 Mạng Máy Tính 7.25 085202 13 Lê Anh Vũ 2/9/1990 Kỹ Thuật Máy Tính 7.42 085203 25 Trương Anh Duy 5/10/1989 Phần Mềm 7.51 085206 78 Thái Hà Quân 4/1/189 Khoa Học Máy Tính 7.62 + Phần được in đậm trong bảng trên được gọi Field, nó là tiêu đề để nhận diện cột. Ta điền nó trong trường Field. + Trường Type quy định kiểu dữ liệu (data type) cho Field. MSSV: Varchar HOTEN: Text NGAYSINH: Date KHOA:Text DTB: Float
  • 22. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 22 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA + Length/Value dùng để chỉ định độ dài của dữ liệu. Phần này bỏ trống, nó tự gán giá trị mặc định cho mỗi Field. Tuy nhiên tùy theo kiểu dữ liệu (data type) mà trường này được phép bỏ trống hay không. Ví dụ kiểu Varchar bạn bắt buộc phải nhập giá- trị cho nó. Sau khi bấm nút Save nếu thông báo hiện ra như hình bên dưới thì việc tạo Table của bạn thành công. Kế đến bạn nhập dữ liệu cho Table: Bạn chuyển qua tab Insert, sẽ nhận được một bảng yêu cầu điền dữ liệu như hình dưới. Điền dữ liệu vào và bấm nút Go.
  • 23. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ23 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Mặc định một lúc bạn chỉ có thể nhập dữ liệu 1 dòng (thuật ngữ gọi là Bộ). Tuy nhiên bạn có thể nhập cùng lúc nhiều dòng bằng cách kéo thanh trượt xuống dưới dòng Restart insertion with… bạn sửa lại giá trị trong đó tương ứng với số dòng mà bạn cần nhập vào. Lưu ý: Nếu nhập cùng lúc nhiều dòng bạn phải bấm vào nút Go ở dưới cùng. Nếu bấm nút Go ở dòng nào thì chỉ có dòng đó được thêm. Chuyển qua tab Browse bạn thấy dữ liệu đã được thêm vào. Để hiểu về ý nghĩa cửa Database và quản trị chúng, các bạn sẽ được học trong môn Cơ Sở Dữ Liệu, và nhiều môn học liên quan trong ngành Hệ Thống Tin Tin. Trong bài viết này chỉ hướng dẫn một cách cơ bản nhất để những bạn chưa biết gì có thể làm quan cơ bản nhất.
  • 24. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 24 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA BÀI 6: QUẢN TRỊ CSDL BẰNG NAVICAT I: GIỚI THIỆU Navicat là một phần mềm phía Client, cho phép nối đến server chứa CSDL để thực hiện công việc quản trị. Bạn hình dung khi bạn mua một host do nhà cung cấp dịch vụ cấp. Bạn sẽ nhận được một tài khoản để kết nối đến Database Server của họ. Và bạn sẽ sử dụng phần mềm Navicat này để thực hiện quản trị nó từ xa. Navicat không khác gì với PHPMyAdmin, nhưng nó hổ trợ nhiều tính năng hơn, và bảo mật cao hơn. II: QUẢN TRỊ CSDL VỚI NAVICAT 1: Cài đặt Navicat Để cài đặt Navicat bạn tìm và tải phần mềm tại địa chỉ http://www.navicat.com Sau khi tải về bạn cài đặt như bao phần mềm khác, và giao diện khi lần đầu tiên làm việc như hình bên dưới. 2: Kết nối đến server Chọn tác vụ Connection trong giao diện chính của chương trình. Một cửa sổ yêu cầu thông tin kết nối hiện ra. Bạn nhập thông tin kết nối đến máy chủ. Ở đây tôi chỉ kết nối đến server local, tức là server ảo ngay trên máy tính của tôi. Trong phần Connection Name bạn cho biết tên của của kết nối này, tùy ý thích của bạn. Trong trường Host name/ IP Address bạn nhập địa chỉ của server. Khi đăng ký host bạn được cung cấp địa chỉ này. Ở đây tôi nhập là localhost do tôi đang kết nối đến server local. Hai trường User name và
  • 25. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ25 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Password yêu cầu khai báo thông tin đăng nhập server. Nếu kết nối local bạn nhập như đăng nhập PHPMyAdmin. Sau cùng bấm OK. Trở lại màn hình chính bạn thấy tên kết nối đã xuất hiện bên trái. Bấm chuột phải vào đó và chọn Open Connection Nếu kết nối thành công bạn thấy dữ liệu của chúng ta xuất hiện. 3: Quản lý User Navicat cho phép bạn tạo nhiều user khác đăng nhập vào hệ thống. Khi đó bạn cần có quyền admin cao nhất, mặc định ở local thì tài khoản root là quyền cao nhất. Khi đăng ký host thật, thì tài khoản đó cũng có quyền này, nhưng thấp hơn một tài khoản khác gọi là user system. Để quản lý user bạn chọn tác vụ Manage Users
  • 26. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 26 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Để thêm user mới bạn bấm Add User và nhập thông tin đăng nhập cho user đó. Chú ý trường Host là địa chỉ đến server của bạn. Ở đây là localhost. Với mỗi user bạn có thể thiết lập quyền cho user đó trong vùng Global Privileges. Bạn con có thể phân quyền cho user theo từng Database khác nhau bằng cách Click vào user đó, bên dưới sẽ mở ra những Database hiện có, và bạn check vào quyền được cấp cho user trong vùng Global Privilages. 4: Quản trị cơ sở dữ liệu Việc quản trị CSDL trên Navical dễ sử dụng hơn nhiều so với PHPMyAdmin vì nó đã tạo sẵn những công cụ ra bên ngoài. Table: Chứa các table trong CSDL. Có thể thấy CSDL MyData đã tạo ở bài trước cũng xuất hiện ở đây. Bạn có thể tạo thêm bằng cách bấm vào New Table. View: Dùng thiết kế trình view cho phép xem dữ liệu. Query: Dùng để tạo truy vấn đến CSDL. Phần này viết bằng code, bạn cần học qua ngôn ngữ truy vấn dữ liệu SQL hoặc MySQL. Report: Dùng để tạo một bảng báo cáo, truy xuất từ dữ liệu. Backup: Cho phép sao lưu dữ liệu, đề phòng bị mất hoặc hư hỏng.
  • 27. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ27 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA BÀI 7: LẬP TRÌNH PHP CĂN BẢN Giới thiệu PHP (viết tắt hồi quy "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ủ Webserver. PHP mã nguồn mở, dùng cho mục đích tổng quát. Do PHP được phát triển chỉ để dành cho ứng dụng web nên rất dễ dàng nhúng mã vào trang HTML. Tốc độ nhanh, nhỏ gọn, cú pháp giống C, 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 rất phổ biến. 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 nhưng cũng 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. Nói đơn giản: PHP là ngôn ngữ dạng script thực thi trên webserver nhằm tạo ra trang web động Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ như thế nào: <html> <head><title>Trang chủ</title></head> <body> Chào bạn ! <b> <? if (date("H")<12) echo "Chúc một ngày tốt lành"; else echo "Chiều rồi! Mừng gặp lại! Hôm nay vui chứ hả?"; ?> </b> <hr> </body> </html> Thẻ <? và thẻ ?> đánh đấu bắt đầu và kết thúc của phần mã PHP, qua đó máy chủ biết để xử lý và dịch mã cho đúng. Mỗi dòng kết thúc bằng dấu ; Trong trang html, các lệnh php nằm trong tag <? … ?> hoặc <?php …?> Các khối lệnh nằm trong { … } Tên mở rộng của file là php Chú thích // : 1 dòng / * … Khối lệnh
  • 28. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 28 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA */ File PHP chỉ chạy khi nó được chuyển giao từ webserver. Vì vậy, muốn thực thi file php, bạn phải request nó thông qua webserver (nghĩa là mở browser, gõ http://localhost/trangdong.php. Do đó không thể nhúp đúp vào file php để xem nó ở localcal như trang html được. Để chạy file PHP : + Nếu máy của bạn cài IIS : tạo file trong folder C:Inetpubwwwroot + Nếu máy của bạn cài AppserV : tạo file trong folder C:AppserVwww + Nếu máy của bạn cài Xampp, tạo file trong folder C:xampphtdocs Công cụ lập trình Có khá nhiều công cụ lập trình PHP. Đơn giản là bạn dùng notepad cũng có thể soạn PHP được. Tuy nhiên, để soạn thảo nhanh hơn, tiện hơn, bạn nên dùng các trình soạn thảo PHP chuyên nghiệp. PHP Designer Pro là một ứng dụng được khuyên dùng. Biến Biến dùng để chứa các giá trị trong quá trình tính toán Không cần khai báo kiểu dữ liệu lúc khai báo biến Các kiểu dữ liệu : + Số nguyên : int + Số thực : float, double + Chuỗi : string + Object + Logic : True hoặc false + Kiểu mảng: Array + Null : giá trị đặc biệt, nhằm thể hiện tính rỗng, chưa được gán gì Khai báo : $TenBien=<giatri> ; <? $hoten= "Tèo"; //Tạo biến hoten và gán giá trị $dem=1; //Tạo biến dem và gán giá trị Lệnh echo Dùng để hiện giá trị của 1 biến, hiện 1 chuỗi Ví dụ : <? echo $hoten; //Hiện giá trị biến hoten echo "Hello"; //Hiện chữ Hello, không hiện dấu nháy echo "Chào "sếp""; //Hiện Chào "sếp" ?>
  • 29. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ29 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Hằng Là đối tượng chứa giá trị cố định Khai báo: define("TenHang",GiaTri); Ví dụ: <hr> <? define("tygia",17000); $usd=10; $vnd=$usd*tygia; echo "VND=$vnd "; ?> Các phép toán Số học: +. -, *, /, % (chia lấy dư) So sánh: ==, >=, <=, >, < , != Ghép chuỗi: . Logic: ! , && , || Tăng : ++ Giảm : -- Gán: = <? $soluong=3; //Khai báo biến soluong và gán giá trị echo $soluong; //3 $soluong =5; // biến soluong đã có, chỉ gán giá trị echo $soluong; //5 ?> Lệnh if: a. Lệnh if đơn giản: if (điều kiện) { Khối Lệnh 1; } else { Khối Lệnh 2; }
  • 30. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 30 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Phần else và khối lệnh 2 có thể không có Nếu khối lệnh 1 khối lệnh 2 chỉ 1 gồm lệnh thì có thể bỏ cặp { } Khối lệnh có thể là mã lệnh php hoặc mã lệnh html Ví dụ 1 : <hr/> <? $diem=6; if ($diem>=5) echo "Đậu"; else echo "Rớt"; ?> Ví dụ 2 : Sử dụng template khác nhau cho trang tùy theo thời gian Mở file index1.html rồi save as thành index1.php Qua chế độ code, đến dòng 21 sẽ thấy đoạn code <link href="c1.css" rel="stylesheet" type="text/css"> Bổ sung để có kết quả sau: <link href="<? if (date('H')<=12) echo "c1.css"; else echo "c2.css"; ?>" rel="stylesheet" type="text/css"> F12 test thử b. Lệnh if...elseif..else Cú pháp if (Điều kiện1) { Khối lệnh 1; } elseif (Điều kiện2) { Khối lệnh 2 } … else { Khối lệnh } Ví dụ: <hr/> <? $diem=4; if ($diem>=8) echo "Giỏi"; elseif ($diem>=7) echo "Khá"; elseif ($diem>=5) echo "Trung bình"; else echo "Kém"; ?>
  • 31. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ31 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA c. Lệnh if ngắn gọn Cú pháp: (<dkien>)?<giá trị đúng>:<giá trị sai>; Ví dụ: <hr/> <? $dtb=5; echo ($dtb>=5)? "Được lên lớp":"Ở lại"; ?> Vòng lặp for: Là lệnh lặp 1 khối lệnh với số lần lặp nhất định Cú pháp: for (<biến đếm> ; <Điều kiện dừng> ; <Tăng/giảm biến đếm>) { Khối lệnh. } Ví dụ: <? for ($i=1;$i<=10;$i++) { echo "i=$i<br>"; } ?> Vòng lặp while : Là lệnh lặp khối lệnh số lần lặp không xác định. Cú pháp: while (<Điều kiện>){ Khối lệnh } Điều kiện lặp được kiểm tra trước, do đó có thể không thực hiện lần nào. Ví dụ: <hr> <? $tong=0; $i=1;
  • 32. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 32 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA while ($i<=10) { $tong+=$i; $i++; } echo "Tổng=$tong"; ?> Vòng lặp Do...While: Là lệnh lặp khối lệnh số lần lặp không xác định. do { Khối lệnh } while (<Điều kiện>); Điều kiện lặp được kiểm tra sau, do đó thực hiện ít nhất 1 lần. Ví dụ: <? $tong=0; $i=1; do { $tong+=$i; $i+=2; }while ($i<=10); echo "Tổng các số lẻ=$tong"; ?> Hàm (Function) a. Giới thiệu: Hàm là 1 khối lệnh được đặt tên để gọi sử dụng nhiều lần. PHP có khoảng hơn 700 hàm. Chúng ta cũng có thể tự định nghĩa thêm các hàm mới. Hàm có thể trả vế 1 giá trị 1 giá trị nào đó sau khi tính toán hoặc không b. Khai báo: function <Tên hàm>(<tham số 1>,<tham số 2>,...){ ........ [return giá trị;] } c. Ví dụ: Tạo file ham.php Định nghĩa hàm: gõ ở đâu đó (trong tag head): <?
  • 33. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ33 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA function solonnhat($a,$b,$c) { //php không chú ý gì đến các lệnh trong hàm cho đến khi hàm được gọi $m=$a; if ($b>$m) $m=$b; if ($c>$m) $m=$c; return $m; } ?> Sử dụng hàm: trong tag body Số lớn nhất là : <? $x=8; $y=12; $z=10; $m=4; $n=19; $t=solonnhat($x, $y,$z); $s=solonnhat($t, $m,$n); echo $s; ?> F12 xem thử (kết quả là ?) d. Include file Người ta thường đưa các hàm có cùng 1 loại (như xử lý chuỗi, tính toán, tiền tệ, bảo mật…) vào 1 file php riêng và include vào trang web khi cần. Cú pháp: include "TenFile” ; hoặc require "TenFile” ; hoặc include_once "TenFile” ; hoặc //để đảm bảo include chỉ 1 lần, nếu đã include rồi thì php sẽ không require_once "TenFile” ; // không include nữa, nhằm để tránh trùng tên hàm Tênfile thường là file php, cũng có thể là file html Ví dụ: § Tạo file ngay.php, xóa hết mọi code html rồi định nghĩa hàm sau: <?php function LucNayLa() { // Chuyển giờ hệ thống sang tiếng Việt $anh = array ( "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "am", "pm", ":" ); $viet = array ( "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy", "Chủ nhật", " phút, sáng", " phút, chiều", " giờ " ); $timenow = gmdate("D, d/m/Y - g:i a.", time() + 7*3600); $t = str_replace( $anh, $viet, $timenow); return $t; } ?> § Trong trang web động nào đó. Vd dangnhap.php. Vào 1 vị trí trong tag body <? include "ngay.php";
  • 34. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 34 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA echo LucNayLa(); ?> String (chuỗi) Là 1 dãy ký tự trong nháy kép hoặc nháy đơn a. Chiều dài chuỗi strlen(chuỗi) ;//Trả về số ký tự trong chuỗi <hr/> <? $a="Chao ban"; echo strlen($a) ; // 8 ?> b. Truy xuất ký tự trong chuỗi (để lấy giá trị, gán trị mới); Chỉ số của các ký tự tính từ 0 VD: echo $a[2]; //a c. Trích chuỗi con substr(chuỗi gốc, vị trí đầu, chiều dài chuỗi con); <? $str=“Hello World”; echo substr($str, 3,5); // lo wo ?> d. Tìm kiếm chuỗi con strpos(chuỗi gốc, chuỗi con); // Trả về chỉ số là nơi xuất hiện chu <? $str="Chao ban"; echo strpos($str,"a"); //2 ?> e. Tìm và thay thế str_replace(<chuỗicầntìm>,<chuỗithaythế>,<chuỗigốc>); <? $str="Hello World"; $str=str_replace('o','e',$str); echo str; //Helle Werld ?>
  • 35. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ35 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA f. Các hàm chuyển đổi strtoupper(chuỗi);//chữ hoa strtolower(chuỗi);//chữ thường ucfirst(chuỗi);//ký tự đầu của chuỗi là hoa , còn các ký tự khác thì giữ nguyên ucwords(chuỗi);//ký tự đầu mỗi từ là hoa, còn các ký tự khác thì giữ nguyên <? $str="chao ban"; echo strtoupper($str);."<br>"; //CHÀO BẠN echo ucfirst($str)."<br>"; //Chào bạn echo ucwords($str)."<br>"; //Chào Bạn ?> Array (mảng) a. Giới thiệu: Mảng là 1 đối tượng được tạo ra nhằm lưu trữ các dữ liệu có tính tương đồng. Trong mảng có nhiều phần tử với những giá trị khác nhau và được đánh theo số thứ tự từ 0 trở đi (chỉ số phần tử) hoặc được phân biệt theo dạng chuỗi (key) name1=“Teo”; name2=“Ty”; name3=“Map”; Giá trị các key phải khác nhau. b. Khai báo mảng $TênMảng=array(); // khai báo mảng rỗng $TênMảng=array(giá tri 1, giá trị 2,…); //khai báo mảng có các phần tử đánh bằng chỉ số $ TênMảng =array("key1" =>giá trị 1, "key2" => giá trị 2, "key3" => giá trị 3); //Khai báo mảng dùng key c. Thể hiện cấu trúc mảng: Có thể dùng 2 hàm: var_dump(TenMang); // Liệt kê chi tiết bao nhiêu phần tử, index , kiểu và giá trị của từng phần tử print_r(TenMang); // liệt kê index và giá trị từng phần tử. Không hiện kiểu và tổng số phần tử d. Ví dụ: 0 1 2 Teo Ty Map a b c
  • 36. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 36 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA <? $giohang=array(); //khai báo mảng rỗng $diem=array(0,5,7); // 3 phần tử chỉ số là 0,1,2. $sanpham=array("idSP"=>5, "TenSP"=>"Gạo","Gia"=>12000); // đánh theo key $user=array("iduser"=>5, "hoten"=> "Nguyễn Văn Tèo"); echo "Cấu trúc mảng diem: <br/>"; print_r($diem); echo "<br>"; var_dump($diem); echo "<br>"; echo "Cấu trúc mảng sanpham: <br/>"; print_r($sanpham); echo "<br>"; var_dump($sanpham); ?> e. Thêm phần tử vào mảng $TênMảng[]=giá trị ;// Thêm vào cuối mảng <hr/> <? $diem[]=9; //Thêm 9 vào cuối mảng điểm, chỉ số cuối tăng 1 è $diem=array(0,5,7,9) $sanpham["SoLuong"]=3; //thêm 3 làm phần tử cuối của mảng sanpham, key là SoLuong print_r($diem); echo "<br>"; print_r($sanpham); ?> f. Truy xuất phần tử mảng $ TênMảng[chiso] ; hoặc $ TênMảng["key"] ; <hr/> <? echo $diem[1]. "<br/>"; //5 echo $sanpham["TenSP"]; //Gạo ?> g. Đếm phần tử count($TênMảng); <hr/> <? echo count($user) ; //2 ?>
  • 37. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ37 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA h. Liệt kê phần tử mảng dùng vòng lặp for : Liệt kê mảng mà các phần tử được đánh theo chỉ số liên tục <hr/> <? $giatri=array(8,10,9) ; for ($i=0 ;$i<count($giatri) ;$i++) { echo "Giá trị thứ $i là $giatri[$i]<br>"; } ?> i. Dùng vòng lặp while : Liệt kê các phần tử của mảng có chỉ số dạng key <hr/> <? $sanpham=array("idSP"=>5, "TenSP"=>"Gạo","Gia"=>12000, "SoLuong"=>3); reset($sanpham); // đưa con trỏ về phần tử đầu while (key($sanpham)!=null) { echo key($sanpham) . " = " . current($sanpham) . "<br/>"; next($sanpham); //, prev: lui trái, next: ptừ kế } ?> <hr/> <? $sanpham=array("idSP"=>5, "TenSP"=>"Gạo","Gia"=>12000, "SoLuong"=>3); reset($sanpham); // đưa con trỏ về phần tử đầu ?> <table border=1> <? while (key($sanpham)!=null) { ?> <tr><td><? echo key($sanpham); ?> </td><td><? echo current($sanpham); ?> </td></tr> <? next($sanpham); // prev: lui trái, next: ptừ kế ?> <? } ?> </table> Chú ý: § 1 phần tử của dãy có giá trị null cũng được, ghi vầy $a=array(10,null,7); Ghi vầy là sai: $a=array(10,,7); § Phần tử có chỉ số thì key là null j. Vòng lặp foreach: Liệt kê các phần tử của mảng theo dạng key hoặc số <? $a=array("a"=>1, 5, "c"=>10,8); foreach ($a as $key => $value) echo "$key = $value<br>" ; ?>
  • 38. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 38 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Mỗi lần qua từng phần tử thì phân tích thành cặp key và value. Có thể đặt tên khác, không nhấn thiết là $key, $value Mỗi lần lặp, tự động next qua phần tử tiếp theo Xử lý dữ liệu trên Form a. Đối tượng $_GET, $_POST $_GET, $_POST là 2 mảng có sẵn trong PHP để chứa dữ liệu gửi lên từ form. Cả hai là mảng dùng key. Key là tên của các đối tượng trong form $_GET là đối tượng chứa dữ liệu gửi lên từ form dùng Method là Get $_POST là đối tượng chứa dữ liệu gửi lên từ form dùng Method là Post b. Cách lấy giá trị từ form $_GET["Ten"] $_POST["Ten"] c. Ví dụ 1: Tạo 1 file tên dangnhap.php rồi tạo form login trong tag body như dưới đây: <form action="xulydangnhap.php" method="GET" name="form1" id="form1"> <table width="286" border="0" align="center" cellpadding="4" cellspacing="0"> <caption>ĐĂNG NHẬP</caption> <tr> <td width="114">Tên đăng nhập</td> <td width="150"><input name="u" type="text" class="txtfield" id="u" /> </td> </tr> <tr> <td width="114">Mật khẩu</td> <td><input name="p" type="password" class="txtfield" id="p" /> </td> </tr> <tr> <td>&nbsp;</td> <td><input type="checkbox" name="nho" id="nho" />Nhớ user và pass</td> </tr> <tr> <td>&nbsp;</td> <td><input name="button" type="submit" class="btnSubmit" id="button" value="Đăng Nhập" /></td> </tr> </table> </form>
  • 39. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ39 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Tạo file xulydangnhap.php rồi gõ mã sau vào tag body <? echo $_GET["u"]. "<br>"; echo $_GET["p"]. "<br>"; print_r($_GET ) ?> F12 file dangnhap.php, gõ user, pass rồi nhắp Login. Nhìn URL của browser, bạn sẽ thấy file xulydangnhap.php và username, password. Chỉnh lại form trên với method là POST, Sửa phương thức GET trong file xulydangnhap.php thành POST và thử lại. Chú ý URL trên thanh Address khi nhắp nút Login
  • 40. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 40 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Đối tượng $_SERVER Ngoài các thông tin trình duyệt gửi lên thông qua các con đường POST, GET, COOKIES, chúng ta cũng có thể thu được một số thông tin khác có liên quan đến trình duyệt cũng như các thông số liên quan đến máy chủ như: đường dẫn, địa chỉ IP, phiên bản... Các thông tin này được lưu trữ trong biến mảng $_SERVER (đối với các phiên bản mới) hoặc $HTTP_SERVER_VARS (đối với các phiên bản cũ hơn bản 4.1.0): $_SERVER['HTTP_HOST'] / $_SERVER['SERVER_NAME']: Tên của máy chủ host, nơi mà đoạn script được thực thi. $_SERVER['PHP_SELF']: Tên file nằm trên folder gốc của website. Ví dụ: biến $_SERVER['PHP_SELF'] trong script đặt tại địa chỉ http://example.com/test.php/foo.bar sẽ là /test.php/foo.bar. $_SERVER['QUERY_STRING']: Chuỗi chứa tên các tham số và giá trị (sau dấu ?) $_SERVER['DOCUMENT_ROOT']: Folder gốc của website, nơi mà file script đang được thực thi. Ví dụ: C:/AppServ/www $_SERVER['HTTP_REFERER']: địa chỉ của trang web mà từ đó user link đến trang này. $_SERVER['REMOTE_ADDR']: Địa chỉ của máy client, nơi người sử dụng đang duyệt web. $_SERVER['REQUEST_URI']: Địa chỉ URI (Định danh đối với các tài nguyên mạng, là một dạng thức của URL). $_SERVER['SERVER_SOFTWARE']: Chuỗi định danh của máy chủ, thường được cấp trong phần header khi trả lời các yêu cầu từ máy khách. Ví dụ: Apache/2.2.4 (Win32) PHP/5.2.3 $_SERVER['REQUEST_METHOD']: Loại yêu cầu mà clientsử dụng để truy cập trang web. VD: 'GET', 'HEAD', 'POST', 'PUT'. $_SERVER['SCRIPT_FILENAME']: Đường dẫn tuyệt đối của file script đang chạy. Vd: C:/AppServ/www/laptrinhphp/abc.php $_SERVER['SCRIPT_NAME']: Đường dẫn của file script. Vd /laptrinhphp/abc.php <?php echo 'HTTP_HOST: '. $_SERVER['HTTP_HOST'].'<br>'; echo 'PHP_SELF: '.$_SERVER['PHP_SELF'].'<br>'; echo 'QUERY_STRING: '.$_SERVER['QUERY_STRING'].'<br>'; echo 'DOCUMENT_ROOT: '. $_SERVER['DOCUMENT_ROOT'].'<br>'; echo 'HTTP_REFERER: '. $_SERVER['HTTP_REFERER'].'<br>'; echo 'REMOTE_ADDR: '. $_SERVER['REMOTE_ADDR'].'<br>'; echo 'URL: '. $_SERVER['REQUEST_URI'] .'<br>'; echo 'SCRIPT_FILENAME: '. $_SERVER['SCRIPT_FILENAME'] .'<br>'; echo 'SCRIPT_NAME'. $_SERVER['SCRIPT_NAME'] .'<br>'; ?>
  • 41. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ41 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Giới thiệu về http header http header là các thông tin điều khiển nằm trong các http request , http response. Chứa các các chỉ thị báo cho trình duyệt/server biết cách xử lý thông tin. Ví dụ: trình duyệt chuyển qua trang khác, trình duyệt đừng hiện file php, trình duyệt đừng lưu trang vào cache a. Redirection (chuyển hướng) Dùng để chuyển sang trang web khác. Cú pháp: header("location:url"); Lệnh này phải dùng trên tất cả các mã lệnh html Ví dụ1: <? header("location:http://nhatnghe.com"); exit(); ?> Ví dụ 2: Nếu buổi sáng chuyển đến trang index1.html ngược lại chuyển đến index2.html <? if (date('H')<=12) header('location:index1.html'); else header('location:index2.html'); ?> Ví dụ 3: Nếu 2-4-6 chuyển đến trang index1.html ngược lại chuyển đến index2.html <? if ((date('w')==1) || (date('w')==3) || (date('w')==5)) header('location:index1.html'); else header('location:index2.html'); ?> Ví dụ 4: Nếu browser là IE thì chuyển đến trang index1.html, ngược lại trang index2.html <? if (strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')>0) header('location:index1.html'); else header('location:index2.html'); ?> Ví dụ 5: Nếu browser là Firefox thì chuyển đến trang index1.html, ngược lại trang index2.html <? if (strpos($_SERVER['HTTP_USER_AGENT'],'firefox')>0) header('location:index1.html'); else header('location:index2.html'); ?> Ví dụ 6: Quay lại trang trước đó
  • 42. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 42 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA <? header("location:".$_SERVER['HTTP_REFERER']);?> b. Content-type Dùng để báo cho browser biết kiểu dữ liệu mà webserver đang trả về cho browser. Cú pháp: header('Content-type:MimiType); Ví dụ: tạo file mimetype1.html rồi gõ: <? header('Content-type: application/msword'); ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>Chào</title></head> <body>Chào bạn</body> </html> Nếu không có dòng đầu (chữ đỏ) thì browse sẽ hiện trang web có chữ chào bạn. Nếu có, broswe sẽ biết đó là 1 file word, nó sẽ hiện ra khung này Lệnh này phải dùng trên tất cả các mã lệnh html Một số kiểu Mimtype (xem thêm file mimetype.html) application/msword doc application/pdf pdf application/vnd.ms-excel xls application/zip zip c. Content-disposition Cú pháp: header('Content-disposition: attachment; filename="'.$filename.'"'); Lệnh sẽ báo cho browser biết là nên download và save file. Tham số "filename=" sẽ báo cho browser biết tên của file nên được save. Ví dụ: <? header('Content-type: application/msword'); $filename="tailieu.doc"; header('Content-disposition: attachment; filename="'.$filename.'"'); ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>Chào</title></head> <body>Chào bạn</body>
  • 43. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ43 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA </html> d. Content-length Lệnh header('Content-length: ' . filesize($upload_dir.$filename)); Lệnh này dùng để báo cho browser biết độ dài của file tải về, dùng trong download file Cookies a. Giới thiệu: Cookie dùng để lưu những thông tin về user. Cookie được lưu trong máy client, trong vùng do browser quản lý Không dùng cookies để lưu những thông tin quan trọng vì không đảm bảo browser đều cho phép ghi cookies mà chỉ dùng cookie cho mục đích tiện ích mà thôi (username, password, thời điểm login cuối, danh sách nhạc ưa thích) b. Tạo cookie setcookie("TenCookie",giá trị [,Thời điểm quá hạn]); Nếu không chỉ định thời gian thì cookie sẽ lưu trong bộ nhớ. Và sẽ mất khi user đóng browser. Nếu thời điểm quá hạn là 1 thời điểm trong quá khứ thì browser sẽ xóa cookie c. Sử dụng cookie $_COOKIE["Ten"]; d. Ví dụ 1: Tạo file setcookies.php và gõ khối lệnh sau (phải trên tất cả mã html) <?php
  • 44. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 44 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA setcookie("un", "Nguyen Van Teo", time()+60*60*24*30); setcookie("lasttime", time(), time()+60*60*24*30); ?> Chú ý: Hàm time() cho biết số giây tính từ đầu năm 1970 đến thời điểm hiện tại F12 xem thử, bạn sẽ chẳng thấy gì, nhưng 2 cookie đã được tạo (có thể xem thấy trong cache) Tạo file viewcookie.php rồi gõ khối lệnh sau trong tag body <? if (isset($_COOKIE["un"])==true) echo "Chào bạn " . $_COOKIE["un"] ."<br>"; else echo "Chào quý khách"; echo "Bạn vào site lần cuối lúc " . date("d/m/Y H:i:s",$_COOKIE["lasttime"]); echo "<hr>"; print_r($_COOKIE); // Xem mọi cookie ?> “F17” xem thử, bạn thấy giá trị 2 cookie e. Ví dụ 2 Tạo file xoacookie.php rồi vào dòng đầu tiên: <? setcookie("un", "haha", time()-1); ?> F12 , cookie sẽ bị xóa. Bạn có biết kiểm tra bằng cách nào không? f. Ví dụ 3: Mở file xulydangnhap.php, gõ thêm ở đầu: <? if (isset($_POST['nho'])==true){ setcookie("iu_sơ_nêm",$_POST['u'], time()+60*60*24*7 ); setcookie("bát_quợt",$_POST['p'], time()+60*60*24*7 ); } else { setcookie("iu_sơ_nêm",$_POST['u'],time()-1); setcookie("bát_quợt",$_POST['p'],time()-1); } ?> Lưu file lại Mở file 1 file dangnhap.php , chọn tag form rồi kểm tra xem có phải method là POST không Nhắp textfield tên u rồi qua code, bạn sẽ thấy đoạn mã: <input name="u" type="text" class="txtfield" id="u" /> Gõ thêm vào (màu đỏ) để có kết quả sau: <input value="<? echo $_COOKIE['iu_sơ_nêm'];?>" name="u" type="text" class="txtfield" id="u" />
  • 45. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ45 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Qua Design, nhắp textfield tên p rồi qua code, bạn sẽ thấy đoạn mã: <input name="p" id="p" type="password" class="txtfield" /> Gõ thêm vào (màu đỏ) để có kết quả sau: <input value="<? echo $_COOKIE['bát_quợt'];?>" name="p" id="p" type="password" class="txtfield" /> “F17” trang dangnhap.php. Gõ username và password rồi nhắp Đăng nhập, bạn sẽ thấy user name password. Xem xong đóng browser lại “F17” trang dangnhap.php. Gõ username và password , check vào Nhớ username rồi nhắp Đăng nhập, bạn sẽ thấy user name password. Lúc này username và password đã được lưu lại trong cookie. Xem xong đóng browser lại “F17” trang dangnhap.php. Bạn sẽ thấy username, password đã được hiện sẵn Session a. Giới thiệu: Là đối tượng chứa thông tin user trên server. Mỗi user có 1 session riêng. Cấu trúc session của mỗi user là giống nhau (chỉ khác gia trị các biến). $_SESSION là dãy toàn cục có sẵn trong php, dùng để chứa các biến session. Do đó dữ liệu trong session có thể được truy xuất từ mọi trang php trong site. b. Khai báo và sử dụng $_SESSION["TênBiến"] Trang php nào có dùng session thì phải có hàm < ? session_start() ;?> Hàm này phải nằm trên tất cả mã lệnh html Vd: < ? $_SESSION["login"]=1 ; //tạo biến, mọi trang đều đọc được ?> c. Ví dụ 1: <? if(isset($_SESSION['views'])==true) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; echo "Views=". $_SESSION['views']; if ($_SESSION['views']>=10) unset($_SESSION['views']); //session_destroy();
  • 46. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 46 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA ?> d. Ví dụ 2: Ghi nhận số lượng sản phâm được chọn vào giỏ hàng Mở trang index_banhang.php - Qua code, lên dòng đầu gõ lệnh <? session_start(); ?> - Qua design. Ở cột phải, trong dòng Giỏ hàng có 0 sản phẩm, chọn số 0 xóa rồi qua code gõ code (màu đỏ) Giỏ hàng có <? echo $_SESSION['SoSP']; ?> sản phẩm - Kiểm tra xem từng nút đặt mua có link đến trang luuugiohang.php hay không Tạo trang luugiohang.php - Qua code, xóa hết code html và gõ lệnh sau <? session_start(); $_SESSION['SoSP']+=1; header("location:".$_SERVER['HTTP_REFERER']); ?> Test thử e. Ví dụ 3 : Tạo file index_admin.php – Trang chủ <? session_start(); if (isset($_SESSION['login'])==false) { header("Location: login.html"); exit(); } ?> <body> Đây là trang chủ quản trị.<br/> Chào <b><?=$_SESSION["username"]?></b>. Bạn đã login thành cong. <hr> <a href=signout.php>Logout</a>; </body> Tạo file login.html – Form login <form action="signin.php" method="POST"> Username: <INPUT TYPE="text" name="username"><br> Password: <INPUT TYPE="password" name="password"><br> <INPUT TYPE="submit" name="submit" value="Login"> </form> Tạo file signin.php – Kiểm tra thông tin <?
  • 47. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ47 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA session_start(); if (checkLogin($_POST['username'], $_POST['password'])==true){ $_SESSION["username"]=$_POST['username']; $_SESSION["login"]=true; header('Location: index_admin.php'); exit(); } else { header('Location: login.html'); exit(); } function checkLogin($theUsername, $thePassword){ if (($theUsername=="teo") && ($thePassword=="123")) return true; else return false; } ?> Tạo file signout.php <? session_start(); session_destroy(); header('Location: login.html'); ?>
  • 48. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 48 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA CHƯƠNG 2: CÀI ĐẶT VÀ CẤU HÌNH JOOMLA –&— BÀI 1: GIỚI THIỆU JOOMLA I: VỀ JOOMLA 1: Giới thiệu Joomla Joomla! là một hệ quản trị nội dung mã nguồn mở (tiếng Anh: Open Source Content Management Systems). Joomla! được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL , cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet hoặc Intranet. Joomla được phát triển bởi một nhóm người, mà tiền thân của nó là công ty sụp đổ. Trong khi những thành viên của công ty này buồn chán, không biết làm gì, họ bắt đầu viết Joomla. Mục đích ban đầu chỉ để giải khuây trong những ngày buồn bã của nạn thất nghiệp. Thế nhưng sự thật luôn là điều bất ngờ. Sản phẩm của họ được chia sẽ trên internet và nhận được sự ủng hộ của nhiều người. Nhiều website bắt đầu sử dụng Joomla cho việc phát triển website của mình. Và đến ngày nay Joomla trở thành một hệ mã nguồn mở được ưu chuộng. Nhiều công ty bắt đầu kinh doanh từ việc phát triển các thành phần của nó. Joomla thành lập nên một nền tảng cơ sở, sau đó phát triển các thành phần (extension) ứng dụng trên đó. Chúng ta có thể hình dung nó như một hệ điều hành, và bạn cài đặt các phần mềm trên đó. Joomla là mã nguồn mở được sự chung tay xây dựng của mọi người trên thế giới. Chính vì thế mà các thành phần của nó rất đa dạng, và những người sử dụng sau hầu như không cần phải phát triển lại. Đó chính là lợi thế của mã nguồn mở. Joomla được phát âm theo tiếng Swahili như là 'jumla' nghĩa là "đồng tâm hiệp lực". 2: Lựa chọn phiên bản của Joomla Dòng phiên bản Joomla 1.0.x Là phiên bản phát hành ổn định. Được sử dụng rộng rãi, có nhiều thành phần mở rộng (component, module, mambot)... Có thể sử dụng ngay cho website của bạn. Joomla 1.0.0: Phiên bản phát hành đầu tiên (15-09-2005) Joomla 1.0.12: Phiên bản phát hành mới nhất (25-12-2006) Dòng phiên bản Joomla 1.5 Là phiên bản phát triển và vẫn đang ở giai đoạn Beta 2 (chưa ổn định). Phiên bản Joomla! 1.5 là phiên bản cải tiến từ Joomla 1.0.x (phần mã được viết lại hoàn toàn, tuy nhiên vẫn giữ cách hành xử như cũ) được coi như Mambo 4.6. Ban đầu nó còn được gọi là Joomla 1.1, nhưng sau đó vì nhận thấy nó được cải tiến nhiều về mặt kỹ thuật, tính năng nên nhóm phát triển quyết định lấy tên là Joomla 1.5 Có nhiều tính năng hay
  • 49. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ49 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Chỉ nên sử dụng cho mục đích thử nghiệm Joomla 1.5 hỗ trợ đa ngôn ngữ Joomla 1.5 dùng charset mặc định là UTF-8 (thay vì ISO-8859-1 trong Joomla 1.0.x) Dòng phiên bản Joomla 1.6 Đây phiên bản mới nhất, ra mắt vào tháng 10/2009. Phiên bản này còn đang khá mới, chưa ổn định. Lựa chọn phiên bản để cài đặt Cài đặt lần đầu, cài mới Bạn nên chọn phiên bản Joomla 1.0.x, chọn bản mới nhất: Joomla 1.0.12 - Bước 1: Mở http://joomlacode.org/gf/project/joomla/frs/ - Bước 2: Chọn bản Joomla_1.0.12-Stable-Full_Package.zip (Stable: Ổn định, Full: Đầy đủ) Cài đặt ở chế độ nâng cấp Nếu bạn đang dùng Joomla 1.0.x. VD: Joomla! 1.0.7 và muốn nâng cấp lên Joomla! 1.0.12. - Bước 1: Mở http://joomlacode.org/gf/project/joomla/frs/ - Bước 2: Chọn bản Joomla_1.0.7_to_1.0.12-Stable-Patch_Package.zip (1.0.7 to 1.0.12) II: CÁC THÀNH PHẦN MỞ RỘNG CỦA JOOMLA 1: Modue Module là một trong 3 thành phần mở rộng chính của Joomla! Đó là một đoạn mã nhỏ thường được dùng để truy vấn các thông tin từ cơ sở dữ liệu và hiển thị các kết quả tìm được. Nó có thể được nạp vào một vị trí bất kỳ trên template (vị trí left, right, top, bottom... hoặc vị trí do người dùng định nghĩa); có thể hiện trên tất cả các trang của Website hay một số trang được ấn định. Khả năng tương tác giữa người sử dụng và hệ thống thông qua module là hạn chế (chúng ta thường chỉ nhận thông tin trả về). Module có tên bắt đầu bằng mod_ Chúng ta có các module thông dụng: Lastest News (mod_latestnews): Module hiển thị các tin mới nhất Popular News (mod_mostreads): Module hiển thị các bài được quan tâm nhiều nhất
  • 50. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 50 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Related Items (mod_related_items): Module hiển thị các bài viết liên quan Random Image (mod_random_image): Module hiển thị các ảnh ngẫu nhiên Search Module (mod_search): Module công cụ tìm kiếm Login Module (mod_login): Module hiển thị form đăng nhập hệ thống Stats Module (mod_stats): Module hiển thị các thông tin thống kê về hệ thống Menu Module (mod_mainmenu): Module hiển thị các menu của website Banners Module (mod_banners): Moudule hiển thị các banner quảng cáo. 2: Plugin Plugin là một đoạn code chạy nền bên trong. Công việc của nó là làm nền để thực thi một tác vụ nào đó của Joomla. Nó không hiển thị ra bên ngoài của website mà chỉ nhận giá trị đầu vào ra trả về kết quả. 3 : Components Đây chính là một trong những thành phần mở rộng quan trọng nhất. Nhờ có nó mà chúng ta có thể phát triển website với nhiều tính năng hơn. Thông thường một Components sẽ đi kèm với vài module hoặc plugin để giúp việc hiển thị nó ra ngoài được tiện dùng hơn. 4 : Template Không cần nói nhiều thì bạn cũng biết đây chính là giao diện của website. Với thành phần này người dùng joomla có thể tùy biến giao diện một cách dễ dàng. Người ta có thể thiết kế trước một giao diện, và chỉ việc áp dùng giao diện này vào website thay vì phải xây dựng website từ đầu. 5 : Languages Joomla được phát triển mạnh mẽ là do hổ trợ được nhiều ngôn ngữ khác nhau. Việc cài đặt thêm một gói ngôn ngữ mới đối với Joomla không có gì là khó, chính là nhờ sự hổ trợ của gói thành phần Languages này. III : CÁC THUẬT NGỮ 1 : Front-end Front-end (tiền sảnh), còn được biết với tên gọi Public Front-end: phần giao diện phía ngoài, nơi tiếp xúc với mọi người sử dụng. Bất cứ ai cũng có thể trông thấy khi gõ đúng đường dẫn URL vào trình duyệt. Front-end chứa 1 trang đặc biệt là FrontPage (homepage) - trang chủ. 2: Back-end Back-end còn được biết với tên gọi Public Back-end, Administrator, Control Pane: phần dành cho người quản trị. Những người bình thường không biết đường dẫn để truy cập, hoặc nếu có biết thì cũng phải qua bước kiểm tra tài khoản. Phần back-end được truy cập thông qua đường dẫn: http://your_domain/administrator. 3: Section
  • 51. PHIÊN BẢN THỬ NGHIỆM – LƯU HÀNH NỘI BỘ51 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA Section: Các mục, các lĩnh vực, các dòng sản phẩm, dịch vụ... mà Website muốn đề cập tới. VD1: Một Website bán sách trực tuyến có thể bao gồm các Section: "Sách Văn học", "Sách Tin học", "Sách Toán học"... VD2: Một Website về tin tức có thể bao gồm các Section: "Thể thao", "Văn hóa", "Pháp luật"... 4: Category Category: Các chuyên mục, loại sản phẩm, loại dịch vụ... được đề cập một cách cụ thể hơn, chi tiết hơn. VD1: Trong Section "Văn học" có các Category: "Tiểu thuyết", "Truyện ngắn", "Hồi ký"... VD2: Trong Section "Thể thao" có các Category: "Bóng đá", "Quần vợt", "Các môn thể thao khác"... 5: Article Article: Toàn bộ nội dung của một bài viết và thường gồm 2 phần: Phần giới thiệu (Intro Text): Phần này nêu ngắn gọn, tóm tắt hoặc là ý mở đầu cho toàn bộ bài viết. Phần chi tiết (Description Text): Phần còn lại của bài viết. Chúng ta cùng xem "Cấu trúc nội dung của một Website Joomla" được thể hiện thông qua hình vẽ dưới đây: Như vậy để tạo một bài viết chúng ta cần qua tối đa 3 bước và tối thiểu là 1 bước nếu đã co Section và Category: Bước 1: Tạo Section: Vào Content --> Section Manager Bước 2: Tạo Category: Vào Content --> Category Manager Bước 3: Tạo Content: Vào Content --> Article Manager --> New
  • 52. PHIÊN BẢN THỬ NGHIỆM - LƯU HÀNH NỘI BỘ 52 GIÁOTRÌNHTHIẾTKẾWEBVỚIJOOMLA BÀI 2: CÀI ĐẶT JOOMLA Bây giờ chúng ta sẽ bắt đầu từng bước để cài đặt website Joomla. Công việc đầu tiên rất quan trọng mà bạn không thể tránh khỏi là tìm và tải bộ source Joomla đúng phiên bản mình cần. Khi tải về bạn có một file nén dạng *.zip. Hãy giải nén file này ra một thư mục, và đặt tên cho thư mục này gọn lại, sao cho bạn thấy thích nó. Ở đây tôi sẽ đặt tên là Joomla15. Copy thư mục Joomla15 vào thư mục chứa web của mình. Ở đây tôi sẽ đưa nó vào thư mục C:xampphtdocs Trong đó C: là ổ đĩa mà tôi đã cài Xampp. Một số bạn trong bài trước đã thực hành đổi thư mục chứa web sang thư mục khác thì lưu ý là phải đưa web của mình đến đúng thư mục đó. Bạn vào phần quản trị CSDL của mình để tạo một Database mới. Ví dụ ở đây tôi sẽ tạo là Joomla_data. Mở trình duyệt web lên và truy cập địa chỉ http://localhost/Joomla15 Chúng ta cần lưu ý ở địa chỉ này. Nếu bạn cài đặt trên host thật thì nó sẽ là địa chỉ của host bạn. Ví dụ như tôi có host của mình http://www.dctuit.com khi đó tôi sẽ vào địa chỉ http://www.dctuit.com/Joomla15 Thành phần Jooml15 ý chỉ đến thư mục chứa Joomla. Nếu bạn chép source vào trong thư mục gốc thì không có phần sau này. Nếu làm đúng các bước trên bạn sẽ thấy xuất hiện phần Choose Language như hình dưới đây, bấm nút Next để tiếp tục. Chắc các bạn đang thắc mắc là tại sao tôi lại nói nhiều về các vấn đề khác như từ đầu đến giờ, mặc dù cuốn sách sẽ hướng dẫn cách quản trị website với Joomla. Nhưng điều mà tôi nới từ những bài trước sẽ không thừa chút nào. Nó sẽ giúp các bạn làm quen cơ bản nhất, có một khái niệm sơ khởi trước khi đi vào sử dụng Joomla. Và nếu như bạn đã lỡ nông nóng xem trước bài viết này thì tôi khuyên bạn nên dừng lại và xem từ đầu. Bởi vì tôi sẽ không lặp lại những khái niệm phía trên.