5 Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức, cũng như của các công ty;
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP QUẢNG NINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG & CÔNG NGHỆ PHẦN MỀM
Trang 22
CHƯƠNG 1: MỞ ĐẦU 7
1.1 Giới thiệu cơ bản 7
1.2 Website động là gì? 7
1.3 PHP là gì? 7
1.4 Tại sao cần dùng PHP? 8
1.5 Cách làm việc của PHP 8
1.6 MySQL là gì? 9
1.7 Bạn cần những gì để xây dựng một Website viết bằng PHP & MySQL 10
1.8 Ứng dụng máy chủ Web Server WAMP làm môi trường để xây dựng Website viết bằng PHP & MySQL 10
1.8.1 WAMP là gì? 10
1.8.2 Các đặc điểm nổi trội của WAMP 11
1.8.3 Download bản cài đặt WAMP 11
1.8.4 Các bước cài đặt WAMP 11
1.8.5 Hoàn tất việc cài đặt và chạy thử 15
Câu hỏi ôn tập chương 1 18
CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH PHP 19
2.1 Nhúng PHP vào trang HTML 19
2.1.1 Nhúng mã PHP trong HTML 19
2.1.2 Ghi chú trong PHP 21
2.2 Khái niệm về cú pháp PHP 21
2.3 Biến là gì? 21
2.3.1 Khái niệm và cú pháp khai báo 22
2.3.2 Tầm hoạt động của biến 23
2.3.3 Các biến đã được định nghĩa trước 24
2.3.4 Chuyển đổi kiểu dữ liệu của biến 24
2.4 Các kiểu dữ liệu trong PHP 25
2.4.1 Kiểu boolean 25
2.4.2 Kiểu integer 26
2.4.3 Kiểu số thực (floats, doubles hay real numbers) 26
2.4.4 Kiểu string 27
2.4.5 Kiểu mảng 31
2.4.6 Kiểu object 33
2.4.7 Kiểu resource 34
2.4.8 Kiểu NULL 34
2.5 Hằng trong PHP 34
2.6 Toán tử trong PHP 35
2.6.1 Phép gán (assignment) 35
2.6.2 Các phép toán số học 36
2.6.3 Các phép toán về chuỗi 36
2.6.4 Phép toán gán kết hợp 37
2.6.5 Tham chiếu 37
2.6.6 Phép toán so sánh 38
2.7 Kiểu Date-Time 39
2.8 Cấu trúc điều khiển trong PHP 41
Trang 33
2.8.3 Vòng lặp for 45
2.8.4 Vòng lặp while 46
2.8.5 Vòng lặp do…while 47
2.8.6 Thoát khỏi cấu trúc điều khiển 48
2.9 Hàm 49
2.10 Tương tác với Server bằng Form 53
2.10.1 Tạo Form 53
2.10.2 Lấy dữ liệu từ form khi click nút submit với phương thức post 54
2.10.3 Lấy dữ liệu từ form khi click nút submit với phương thức get 57
2.11 Đối tượng session và cookie 61
2.11.1 Đối tượng session 61
2.11.2 Đối tượng cookie 68
2.12 Tận dụng mã nguồn có sẵn bằng cách include file 69
2.13 Một số ví dụ minh họa 70
Câu hỏi ôn tập chương 2 79
CHƯƠNG 3: CƠ SỞ DỮ LIỆU MySQL 84
3.1 Giới thiệu cơ sở dữ liệu MySQL 84
3.2 Kiểu dữ liệu trong MySQL 84
3.2.1 Kiểu dữ liệu Numeric 84
3.2.2 Kiểu dữ liệu Date and Time 84
3.2.3 Kiểu dữ liệu String 85
3.3 Các phát biểu SQL 86
3.4 Sử dụng phpMyAdmin để quản trị MySQL 86
3.4.1 Tổng quan về phpMyAdmin 86
3.4.2 Cài đặt phpMyAdmin 87
3.4.3 Khởi động phpMyAdmin 87
3.4.4 Phân quyền và nhóm người sử dụng 88
3.4.5 Làm việc với Cơ sở dữ liệu 88
3.4.6 Làm việc với bảng (Table) 92
Câu hỏi ôn tập chương 3 94
CHƯƠNG 4: KẾT HỢP PHP VÀ MySQL 96
4.1 Kết nối cơ sở dữ liệu 96
4.2 Truy vấn và hiển thị dữ liệu trong các bảng 96
4.2.1 Hiển thị dạng lưới (table) 96
4.2.2 Hiển thị dạng lưới định dạng 99
4.2.3 Hiển thị dạng lưới có phân trang 102
4.2.4 Hiển thị dưới dạng list đơn giản 107
4.2.5 Hiển thị list dạng cột 109
4.2.6 Hiển thị list dạng cột có link 111
4.2.7 Hiển thị list chi tiết có phân trang 115
4.3 Tìm kiếm dữ liệu 120
4.3.1 Tìm kiếm đơn giản 120
4.3.2 Tìm kiếm nâng cao 123
4.4 Thêm mới dữ liệu 127
4.5 Cập nhật và xóa dữ liệu 132
4.6 Một số ví dụ minh họa 141
Trang 44
5.1 Tổng quan về hệ quản trị nội dung mã nguồn mở (CMS) 179
5.2 Giới thiệu về Joomla 179
5.2.1 Khái niệm Joomla 179
5.2.2 Vài nét về lịch sử phát triển Joomla 179
5.2.3 Các dòng phiên bản của Joomla 180
5.2.4 Kiến trúc của Joomla 180
5.2.5 Đối với người sử dụng cuối 180
5.2.6 Ứng dụng của Joomla 180
5.3 Một số khái niệm trong Joomla 181
5.3.1 Front-end và Back-end 181
5.3.2 Các thành phần mở rộng (Extension) 181
5.3.3 Quản lý nội dung Site 183
5.3.4 Template 184
5.4 Cài đặt Joomla 185
5.4.1 Các bước cài đặt 185
5.4.2 Mở ứng dụng Website trên trình duyệt 190
5.4.3 Đăng nhập vào trang quản trị ứng dụng Website 191
5.5 Quản trị Joomla 192
5.5.1 Cấu hình tổng thể (Global Configuration) 192
5.5.2 Quản lý người dùng 196
5.5.3 Việt hóa Joomla bằng cách cài đặt gói ngôn ngữ tiếng Việt 197
5.5.4 Thay đổi Template cho Website 201
5.5.5 Tạo nội dung cho Website (Section, Category, Content Item) 204
5.5.6 Cài đặt Component, Module, Plugin 210
5.5.7 Một số thao tác với Main Menu 211
5.6 Bảo mật trong Joomla 217
5.6.1 Khái niệm về bảo mật 217
5.6.2 Tại sao phải bảo mật? 218
5.6.3 Các phương pháp bảo mật 218
Câu hỏi ôn tập chương 5 220
PHỤ LỤC 221
TÀI LIỆU THAM KHẢO 222
Trang 55
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức, cũng như của các công ty; nó đóng vai trò hết sức quan trọng, có thể tạo ra những bước đột phá mạnh mẽ
Đối với các chính phủ và các công ty thì việc xây dựng các Website riêng càng ngày càng trở nên cấp thiết Thông qua những Website này, thông tin về họ cũng như các công văn, thông báo, quyết định của chính phủ hay các sản phẩm, dịch vụ mới của công ty sẽ đến với những người quan tâm, đến với khách hàng của họ một cách nhanh chóng kịp thời, tránh những phiền hà mà phương thức giao tiếp truyền thống thường gặp phải
Việc xây dựng các trang Web để phục vụ cho các nhu cầu riêng của các tổ chức, công ty thậm chí các cá nhân, ngày nay, không lấy gì làm xa lạ Với một vài thao tác đơn giản, một người bất kì có thể trở thành chủ của một Website giới thiệu về bất cứ
gì anh ta quan tâm: một Website giới thiệu về bản thân và gia đình anh ta, hay là một
Website trình bày các bộ sưu tập hình ảnh các loại xe hơi mà anh ta thích chẳng hạn Ngày nay, các Website tĩnh với các trang HTML đơn giản không còn đáp ứng được nhu cầu của người dùng Các Website động kết hợp với cơ sở dữ liệu đã trở thành xu thế phát triển Web
Nếu nội dung trang Web của bạn ngày một nhiều, bạn cần phải tạo Web động, bạn thử hình dung nếu bạn có một cửa hàng điện tử trên Web có 1.000 sản phẩm Bạn phải tạo 1.000 trang Web cho mỗi sản phẩm và khi mọi thứ thay đổi, bạn phải sửa đổi lại tất cả những trang đó Đó là một việc không hứng thú và tốn thời gian, vậy bạn phải cần Web động, bạn chỉ việc tạo một trang hiển thị, và nội dung từng sản phẩm lưu trữ trong cơ sở dữ liệu, thông tin hiển thị sẽ tuỳ thuộc vào sự truy cập của người truy cập Môn học Xây dựng ứng dụng Web với PHP & MySQL sẽ giới thiệu với các bạn
2 công nghệ phổ biến nhất được dùng để tạo các Website động: Ngôn ngữ kịch bản
PHP và chương trình quản lý cơ sở dữ liệu MySQL Môn học cũng giới thiệu Hệ quản trị nội dung mã nguồn mở Joomla giúp xây dựng một Website nhanh chóng, dù là
web cá nhân hay là một Website ngân hàng, một đại công ty, một hệ thống bán hàng trực tuyến, một hệ thống viễn thông, một trường học online,
Giáo trình “Xây dựng ứng dụng Web với PHP & MySQL” được biên soạn nhằm
phục vụ công tác đào tạo và học tập trong trường Đại học Công nghiệp Quảng Ninh,
nhưng cũng là một tư liệu tham khảo tốt cho tất cả những ai quan tâm đến Lập trình
Web , đặc biệt là những sinh viên các ngành Toán-Tin, Tin học, Công nghệ Thông tin
Giáo trình bao gồm 4 chương:
Chương 1: Cung cấp các khái niệm mở đầu về lập trình Web
Chương 2: Cung cấp những kiến thức cơ bản về ngôn ngữ lập trình PHP
Chương 3: Các kiến thức cơ bản về cơ sở dữ liệu MySQL
Chương 4: Trình bày cách khai thác thông tin: Hiển thị, thêm, xóa, cập nhật thông
tin trong cơ sở dữ liệu sử dụng PHP & MySQL
Chương 5: Cung cấp các kiến thức cơ bản về CMS Joomla để xây dựng một ứng
dụng Website
Phụ lục là danh sách các từ viết tắt sử dụng trong giáo trình này hoặc liên quan
Trang 66
các câu hỏi ôn tập chương
Do trình độ và thời gian có hạn, nên giáo trình không thể tránh khỏi những khiếm khuyết Rất mong nhận được những ý kiến đóng góp quý báu của bạn đọc
Nhân đây tôi cũng xin trân trọng gửi lời cảm ơn tới các Thầy, Cô giáo trường Đại học Công nghiệp Quảng Ninh đã nhiệt tình giúp đỡ tôi và dành nhiều thời gian đọc kĩ
và có những ý kiến sâu sắc trong thời gian xây dựng giáo trình
Quảng Ninh, tháng 02 năm 2013
TÁC GIẢ
Trang 77
CHƯƠNG 1: MỞ ĐẦU
1.1 Giới thiệu cơ bản
Một trong các công việc đầu tiên của chuyên gia thiết kế Web đó là phải biết về:
- Web Programming Language (ngôn ngữ lập trình Web)
- Web Server (Máy phục vụ Web)
- Database Server (máy phục vụ cơ sở dữ liệu)
* Web Programming Language là gì?
Web Programming Language (ngôn ngữ lập trình Web):
Ngôn ngữ được viết theo phong cách lập trình (khác so với HTML-ngôn ngữ đánh dấu) để hỗ trợ và tăng cường các khả năng của Web Cho phép điều khiển các phần tử của trang Web dễ dàng hơn
Chúng ta có một số ngôn ngữ lập trình Web như là: ASP, ASP.NET, PHP,
JSP,…
* Web Server là gì?
Web Server (Máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server
Tất cả các Web Server đều hiểu và chạy được các file: *.htm và *.html, tuy nhiên
mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của
Microsoft dành cho *.asp, *.aspx, ; Apache dành cho *.php,… ; Sun Java System Web Server của SUN dành cho *.jsp,…
Có nhiều công nghệ để tạo ra Website động Các công nghệ thường được sử dụng
là ASP (Active Server Pages, sản phẩm của Microsoft), JSP (Java Server Pages), ColdFusion và PHP Website động không nhất thiết phải phụ thuộc vào cơ sở dữ liệu, nhưng càng ngày sự phụ thuộc đó càng nhiều, đặc biệt khi các ứng dụng cơ sở dữ liệu
có sẵn như MySQL… với chi phí rất thấp hoặc miễn phí
1.3 PHP là gì?
Trang 88
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm
1994, để theo dõi người dùng truy cập lý lịch trực tuyến của ông Vì tính hữu dụng, khả năng phát triển, PHP đã bắt đầu được sử dụng trong môi trường chuyên nghiệp và
bản (scripting language) Khác với ngôn ngữ lập trình, PHP được thiết kế để chỉ thực
hiện điều gì đó sau khi một sự kiện xảy ra (ví dụ, khi người dùng gửi một biểu mẫu hoặc chuyển tới một URL)
PHP là một công nghệ phía máy chủ (server-side) và không phụ thuộc môi trường (cross-platform ) Cả hai yếu tố này đều rất quan trọng Khái niệm công nghệ phía máy
c hủ nói đến việc mọi thứ trong PHP đều xảy ra trên máy chủ (ngược với máy khách là
máy của người dùng) Tính chất không phụ thuộc môi trường cho phép PHP chạy trên
hầu hết các hệ điều hành như Windows, Unix (và nhiều biến thể của nó), Macintosh,… Một điều cũng rất quan trọng là các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình thường trên các máy chủ khác mà không cần chỉnh sửa hoặc chỉnh sửa rất ít
1.4 Tại sao cần dùng PHP?
PHP được sử dụng để phát triển Website động vì nó tốt, nhanh và dễ dàng nghiên cứu hơn các giải pháp khác PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu có sẵn, tính bền vững, linh động và khả năng phát triển không giới hạn Tất cả các đặc tính trên đều miễn phí vì PHP là mã nguồn mở PHP vừa dễ với người mới sử dụng và vừa có khả năng làm được mọi thứ, đáp ứng được yêu cầu của lập trình viên chuyên nghiệp
PHP được sử dụng càng ngày càng nhiều và mới đây đã bắt kịp ASP (vốn được xem là ngôn ngữ kịch bản phổ biến nhất hiện nay) PHP là môđun thông dụng cho Apache (máy chủ Web phổ biến nhất) và nó đã có mặt trên 12 triệu Website
1.5 Cách làm việc của PHP
Hình 1.1: Cách làm việc của PHP phù hợp với môi trường khác-chủ khi
người dùng yêu cầu một trang Web
Như đã giới thiệu, PHP là một ngôn ngữ máy chủ, mã lệnh PHP sẽ tập trung trên máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt
Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử
lý chúng theo các hướng dẫn đã được mã hóa Trong ví dụ ở hình 1.1, mã lệnh PHP
Trang 99
yêu cầu máy chủ gửi một dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt Web
Trình duyệt sẽ xem nó như một trang HTML tiêu chuẩn
Hình 1.2: Quá trình xử lý yêu cầu đối với một trang HTML tĩnh
Điều này khác với site HTML tĩnh ở chỗ: Khi có một yêu cầu, máy chủ chỉ đơn thuần gửi dữ liệu HTML đến trình duyệt Web và không xảy ra một sự biên dịch nào từ
phía máy chủ (xem hình 1.2) Đối với người dùng cuối và trên trình duyệt Web, các
trang home.htm và home.php trông cũng tương tự nhau, nhưng thực chất nội dung của
trang được tạo ra theo cách khác nhau
MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thụy Điển Nó là
hệ thống quản trị cơ sở dữ liệu (DBMS) cho các cơ sở dữ liệu quan hệ (vì vậy, MySQL là một RDBMS) Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, có thể là văn bản, số hoặc các tập tin nhị phân được lưu trữ có tổ chức bởi DBMS
Có nhiều loại cơ sở dữ liệu, từ các tập tin đơn giản đến các tập tin quan hệ và hướng đối tượng Một cơ sở dữ liệu quan hệ sử dụng nhiều bảng để lưu trữ thông tin trong những phần riêng biệt Trước 1970, cơ sở dữ liệu trông giống như các bảng tính lớn, đơn giản và lưu trữ mọi thứ Các cơ sở dữ liệu quan hệ đòi hỏi phải tập trung suy nghĩ nhiều hơn trong giai đoạn thiết kế và lập trình, nhưng chúng có độ tin cậy và tính toàn vẹn dữ liệu tốt hơn Ngoài ra, các cơ sở dữ liệu quan hệ có thể thực hiện việc tìm kiếm và cho phép nhiều người sử dụng cùng một lúc
Với việc kết hợp một cơ sở dữ liệu vào ứng dụng Web, nhiều dữ liệu do PHP sinh
ra có thể được lấy từ MySQL Điều này sẽ chuyển nội dung của site từ trạng thái tĩnh (mã hóa cứng) sang trạng thái động và độ linh hoạt chính là chìa khóa cho website động
Hình 1.3: Cách hoạt động của phần lớn các ứng dụng Web động sử dụng
PHP và MySQL
Trang 1010
MySQL là một ứng dụng mã nguồn mở giống như PHP hoặc giống như một vài biến thể của Unix… Nó được dùng miễn phí hoặc có thể sửa đổi (có thể tải mã nguồn) Tuy nhiên, có trường hợp phải trả phí bản quyền MySQL, đặc biệt nếu bạn kiếm tiềm từ việc buôn bán hoặc kết hợp với sản phẩm MySQL
Phần mềm MySQL có nhiều phần, trong đó có máy chủ MySQL (mysql để chạy
và quản lý các cơ sở dữ liệu), máy khác MySQL (mysql cung cấp giao diện với máy chủ), các tiện ích để duy trì và dùng cho các mục đích khác PHP luôn luôn hỗ trợ tốt cho MySQL và điều này càng đúng cho các phiên bản gần đây nhất
MySQL có thể xử lý những cơ sở dữ liệu rất lớn gần 60.000 bảng với hơn 5 tỷ mẩu tin, làm việc với những bảng lớn đến 8 triệu terabytes (từ phiên bản 3.23) trên một số hệ điều hành Nói chung, nó thường làm việc với những bảng có kích thước 4GB
1.7 Bạn cần những gì để xây dựng một Website viết bằng PHP & MySQL
Để xây dựng một Website viết bằng PHP & MySQL, bạn cần những công cụ sau:
- Một ứng dụng máy chủ Web (ví dụ: Apache, Xitami hoặc IIS)
- PHP Script Language
- MySQL Database
- Chương trình quản lý bằng giao diện đồ họa cơ sở dữ liệu MySQL là:
phpMyAdmin
- Trình duyệt Web (như Internet Explorer của Microsoft, Navigator của Netscape,
Safari của Apple, Mozilla, Opera,…)
- Trình soạn thảo văn bản, ứng dụng WYSIWYG có hỗ trợ PHP (Dreamweaver
của Macromedia) hoặc IDE (Integrated Development Enviroment: môi trường phát triển tích hợp)
- Ứng dụng FTP nếu dùng máy chủ ở xa
Điều hấp dẫn của việc phát triển các Website động dùng PHP và MySQL là tất cả các yêu cầu có thể được đáp ứng mà không tốn tiền, bất kể hệ điều hành đang sử dụng Apache, PHP và MySQL là những mã nguồn mở, một số trình duyệt Web là ứng dụng thương mại và rất nhiều trình soạn thảo văn bản tốt, có sẵn, miễn phí
1.8 Ứng dụng máy chủ Web Server WAMP làm môi trường để xây dựng Website viết bằng PHP & MySQL
gồm Apache + MySQL + PHP + PHPMyAdmin (một công cụ quản trị CSDL MySQL)
Mọi việc cần làm chỉ còn là download bản cài đặt và tiến hành cài đặt từng bước theo chỉ dẫn
Chúng ta có 2 sản phẩm rất nổi tiếng là XAMPP và WAMP Tuy nhiên với mục đích cài đặt trên localhost để chạy thử thì WAMP chính là lựa chọn đầu tiên và dễ
dàng
WAMP : Một gói phần mềm Web Server tất cả trong một (All-in-One) gồm:
Apache, MySQL, PHP, PHPMyAdmin chạy trên nền Windows
Trang 1111
1.8 2 Các đặc điểm nổi trội của WAMP
- Có thể cài đặt WAMP dễ dàng
- WAMP được cập nhật đều đặn
- Cho phép lựa chọn các phiên bản PHP, MySQL khác nhau
- Rất tốt cho việc tạo máy chủ Web để chạy thử, thiết kế Website bằng PHP
- Hỗ trợ phiên bản PHP5 mới nhất
- Tương thích Windows XP / Windows Vista / Windows 7
- Hoàn toàn miễn phí
1.8.3 Downloa d bản cài đặt WAMP
Download WAMP tại địa chỉ: http://www.wampserver.com/en/download.php
1.8 4 Các bước cài đặt WAMP
Phiên bản chúng ta sẽ cài ở đây là WAMP5 1.7.2, cài trên hệ điều hành Windows
Trong phiên bản WAMP5 1.7.2 hỗ trợ:
- Apache 2.2.4
- PHP 5.2.3
- MySQL 5.0.41
- phpMyAdmin 2.10.1
Các bước cài đặt chương trình
Bước 1: Chạy file WAMP5 1.7.2.exe để tiến hành cài đặt Cửa sổ Welcome của
màn hình Setup hiện ra (hình dưới) Click Next để tiếp tục
Bước 2: Xuất hiện cửa sổ “chấp nhận bản quyền” như hình dưới, click “I accept
the agreement”, Click Next để tiếp tục
Chú ý: trước khi chạy file cài đặt WAMP5 1.7.2.exe, hãy gỡ bỏ Web
server IIS trong hệ điều hành Windows
Trang 1212
Bước 3: Chọn thư mục cài đặt Bạn giữ nguyên mặc định và Click Next để tiếp tục
(xem hình dưới)
Bước 4: Chọn thư mục được tạo trong Start Menu Bạn giữ nguyên mặc định và
Click Next để tiếp tục (xem hình dưới)
Bước 5: Chọn Auto Start WAMP5 khi startup Click Next để tiếp tục (xem hình
dưới)
Trang 1313
Bước 6: Để tiến hành cài đặt, Click Install (xem hình dưới)
Bước 7: Quá trình cài đặt (xem hình dưới)
Bước 8: Hộp thoại “Browse For Folder” cho phép lựa chọn thư mục đặt Website
để chạy, chọn thư mục mặc định là www, Click OK
Trang 1414
Bước 9: Tiếp theo chọn Server SMTP, lựa chọn mặc định, Click Next
Bước 10: Chọn địa chỉ Email cho Server, lựa chọn mặc định, Click Next
Bước 11: Chọn trình duyệt sử dụng mặc định cho Server WAMP5 là Firefox,
Click Yes
Trang 1515
Bước 12: Hoàn thành quá trình cài đặt, Click Finish
1.8 5 Hoàn tất việc cài đặt và chạy thử
Sau khi cài đặt thành công, bạn sẽ thấy biểu tượng của WAMP ở góc màn hình như dưới đây:
Trang 17 Thư mục đặt Website theo mặc định của bạn là: C:\wamp\www
Để thay đổi Website mặc định, bạn cần phải sửa file cấu hình của Apache, file này
có tên là httpd.conf Mở file này (Click chuột trái vào biểu tượng của chương trình
WAMP trên khai hệ thống, chọn config files\httpd.conf), tìm đến dòng lệnh chứa lệnh DocumentRoot, hãy thay đường dẫn C:/wamp/www bằng thư mục sẽ chứa Website
của bạn Ví dụ: DocumentRoot “C:/myweb”
Để có thể truy cập từ máy tính khác nhấn vào mục: Put Online
Chú ý: Đối với các đường dẫn trong Apache bạn nên dùng dấu “/”, còn nếu bạn muốn dùng dấu “\” thì phải gõ dấu này hai lần, ví dụ C:\\myweb
Trang 1818
Câu hỏi ôn tập chương 1
1 Hãy kể ra một số công nghệ thường được dùng để thiết kế Website động
2 PHP là gì?
3 MySQL là gì?
4 Để tạo một ứng dụng Website bằng PHP & MySQL bạn cần những công cụ gì?
Trang 19Có 4 loại khác nhau của thẻ PHP bạn có thể sử dụng khi thiết kế trang PHP Muốn
sử dụng thẻ nào bạn phải cấu hình trong tập tin php.ini nằm trong thư mục có đường dẫn là C:\Windows
- Kiểu định dạng XML: Thẻ này có thể sử dụng với văn bản định dạng XML, nếu
bạn lập trình PHP có ý định sử dụng với XML trong Web site, bạn cần phải khai báo thẻ PHP trong trang PHP như:
<?php
Mã PHP
?>
Để sử dụng cặp thẻ <?php và ?>, bạn cần phải cấu hình phát biểu
short_open_tag=Off trong file php.ini Cấu hình này là mặc định trong file php.ini
khi cài đặt Server WAMP
Ví dụ 2.1: Chúng ta sẽ hiển thị một dòng văn bản “Welcome to PHP” trên trình duyệt bằng một file PHP (first.php là file
được định dạng theo kiểu XML) đơn giản sau:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome to PHP Server Script</title>
- Đặt tập tin first.php vào máy chủ Web (C:\wamp\www)
- Mở trình duyệt, gõ vào địa chỉ sau:
http://localhost/first.php , kết quả hiển thị như hình 2.1:
Trang 2020
Hình 2.1: Hiển thị dòng văn bản bằng cặp thẻ <?php … ?>
- Kiểu Short: Thẻ này được sử dụng với văn bản không theo định dạng XML, khai
báo như sau:
<?
Mã PHP
?>
Để sử dụng cặp thẻ <? và ?>, bạn cần phải cấu hình phát biểu
short_open_tag=On trong file php.ini
Ví dụ 2.2: Chúng ta sẽ hiển thị một dòng văn bản “Welcome to PHP” trên trình duyệt bằng một file PHP (second.php là file
không được định dạng theo kiểu XML) đơn giản sau:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE>Welcome to PHP Server Script</TITLE>
- Đặt tập tin first.php vào máy chủ Web (C:\wamp\www)
- Mở trình duyệt, gõ vào địa chỉ sau:
http://localhost/first.php , kết quả hiển thị như hình 2.1:
Hình 2.2: Hiển thị dòng văn bản bằng cặp thẻ <? … ?>
- Kiểu Script: Trong trường hợp bạn sử dụng PHP như một script tương tự như
khai báo JavaScript hay VBScript, bạn có thể khai báo như sau:
<script language=’PHP’>
Chú ý:
i) Có thể sử dụng dấu nháy đơn, hoặc dấu nháy kép trong dòng lệnh echo
"Welcome to PHP"đều được
ii) PHP là ngôn ngữ không phân biệt chữ hoa và chữ thường, nên sử dụng
mã lệnh ECHO(), echo(), hoặc Echo(),… đều được
iii) Mỗi dòng lệnh trong PHP đều phải được kết thúc bởi dấu chấm phẩy (;)
iv) Có thể sử dụng hàm echo() để gửi mã lệnh HTML đến trình duyệt Web
Ví dụ: echo ‘<b>Hello world</b>’
Trang 2121
Echo “PHP Script”;
</script>
- Kiểu ASP: Trong trường hợp bạn khai báo thẻ PHP như một phần trong trang
ASP, thẻ này được sử dụng khi bạn cho phép chúng bằng cách cấu hình (asp_tags)
trong tập tin php.ini, cú pháp của thẻ như sau
<%
Echo “PHP Script”;
%>
Mặt khác, nếu bạn cho phép viết mã nguồn trong trang PHP tương tự như cách
viết script trong ASP, bạn có thể cấu hình lại phát biểu asp_tags (giá trị mặc định của
phát biểu này Off) như sau:
Allow ASP-style <%%> tags
asp_tags = On
2.1.2 Ghi chú trong PHP
Ghi chú (Comments) trong lập trình PHP cũng tương tự như trong lập trình Perl,
C, C++ và CGI, để Comment một đoạn chương trình (nhiều dòng), bạn có thể khai báo như sau:
/*
Author: Nguyen Nguyen Ngoc Last modifyed: May 12 2008 This is PHP script
*/
Lưu ý: Comment không cho phép khai báo Comment con bên trong Ngoài ra, nếu
bạn chỉ muốn Comment một dòng, bạn có thể sử dụng kiểu Comment của C hay Java như sau:
Để lập trình bằng ngôn ngữ PHP cần chú ý những điểm sau:
- Cuối câu lệnh có dấu chấm phẩy ;
- Biến trong PHP có tiền tố là $ (ví dụ: $name)
- Mỗi phương thức đều bắt đầu { và đóng bằng dấu }
- Khi khai báo biến thì không có kiểu dữ liệu
- Nên có giá trị khởi đầu cho biến khai báo
- Phải có ghi chú (comment) cho mỗi feature mới
- Sử dụng dấu // hoặc # để giải thích cho mỗi câu ghi chú
- Sử dụng /* và */ cho mỗi đoạn ghi chú
- Khai báo biến có phân biệt chữ hoa hay thường (tức là $a sẽ khác $A)
2.3 B iến là gì?
Trang 2222
2.3.1 Khái niệm và cú pháp khai báo
Biến được xem như một thành phần dùng để lưu trữ tạm thời các giá trị Các giá trị này có thể là số, văn bản hoặc các dạng dữ liệu phức tạp khác Biến tồn tại như
“linh hồn” của nhiều ngôn ngữ lập trình và nắm vững về nó là chìa khóa cho việc sử dụng PHP
Theo tài liệu của PHP, có tám dạng biến trong ngôn ngữ này: Bốn kiểu dữ liệu đơn
là Boolean (true và false), số nguyên, chấm phẩy động (thập phân) và chuỗi (văn
bản) Hai kiểu dữ liệu đa trị là mảng và đối tượng Cuối cùng là kiểu dữ liệu tài
nguyên (được sử dụng khi tương tác với cơ sở dữ liệu) và NULL (một biến đặc biệt
- Tên biến phải bắt đầu với một dấu đô la ($), ví dụ: $name
- Tên biến có thể chứa các chuỗi, con số và dấu gạch dưới, ví dụ: $my_report1
- Ký tự đầu tiên sau dấu $ không thể là số (phải là chữ cái hoặc dấu gạch dưới)
- Các tên biến trong PHP có phân biệt chữ hoa và chữ thường Ví dụ: $name và
$Name là 2 biến hoàn toàn khác nhau
- Các biến có thể được gán giá trị bằng cách sử dụng dấu bằng (=)
Xuất phát từ những điều ở trên, khai báo biến trong PHP như sau:
$variablename [=initial value];
Một số ví dụ về biến:
<?
$a=100; //biến a ở đây có giá trị là 100
$a="PHP is easy" //biến a ở đây có giá trị "PHP is easy"
biena=123; //có lỗi vì bắt đầu 1 biến phải có dấu $
$123a="PHP" //có lỗi vì phần tên bắt đầu của biến là dạng số
Trang 2323
Hình 2.3: Khởi tạo và gán giá trị cho biến kiểu chuỗi
Ví dụ 2.4: Sử dụng dấu chấm để nối 2 biến $txt1 và $txt2
Kết quả chạy trên trình duyệt
Hình 2.4: Sử dụng dấu chấm để nối 2 chuỗi
2.3.2 Tầm hoạt động của biến
Xét về tầm hoạt động của biến thì ta có 3 loại:
- Biến cục bộ: Biến bạn khai báo trong một hàm thì sẽ chỉ có giá trị bên trong hàm
đó
- Biến toàn cục: Các biến bạn khai báo và sử dụng ở bên ngoài tất cả các hàm thì
sẽ bị ẩn một cách mặc định trong các hàm Tuy nhiên vẫn có thể sử dụng các biến toàn cục trong hàm bằng cách sau:
Trang 24// Cách 1 global $s;
echo $s;
// Cách 2 echo $_GLOBALS['s'];
}
?>
</BODY>
</HTML>
2.3.3 Các biến đã được định nghĩa trước
PHP cung cấp cho chúng ta khá nhiều biến đưa thông tin về môi trường làm việc
Đa số đều là các mảng “siêu” toàn cục (có thể dùng mọi lúc, mọi nơi)
- $_GLOBALS: Mảng này chứa tất cả các biến toàn cục đang tồn tại
- $_SERVER: Mảng này chứa thông tin về ngữ cảnh mà đoạn mã đang chạy, như
là tên server, tên file đang chạy, thông tin về kết nối,…
- $_GET & $_POST: Hai mảng này chứa thông tin được gửi đến server qua các
form HTML tương ứng (tương ứng với phương thức GET và POST)
- $_SESSION & $_COOKIE: 2 mảng này chứa các thông tin về phiên làm việc
của cookie của client
- $_REQUEST : Chứa thông tin của $_GET, $_POST và $_SESSION
- $_ENV: Chứa các biến môi trường mà engine PHP đang chạy
2.3.4 Chuyển đổi kiểu dữ liệu của biến
Có 2 cách cơ bản để chuyển từ kiểu dữ liệu này sang kiểu dữ liệu khác trong PHP
a) Chuyển đổi toàn vẹn (Implicit Type Conversions)
Đó là cách phổ biến nhất trong việc chuyển kiểu dữ liệu mà bạn thấy, thật ra, đó là
do PHP tự động làm cho bạn Nghĩa là thay vì tự bạn yêu cầu một kiểu dữ liệu xác định, PHP tự quyết định xem đó là kiểu dữ liệu gì cho chúng ta
Đó là các chuyển đổi sau:
- Các phép tính có toán tử: Nếu PHP nhận thấy một phép toán giữa số nguyên và
số phức, thì kết quả nó trả về là số phức Nếu một chuỗi cộng với một số bất kỳ, PHP
sẽ cố chuyển chuỗi đó sang dạng số trước khi làm phép cộng với số đã cho
<?php
echo "5"+2; //Kết qủa là 7
?>
- Các biểu thức boolean: Được dùng khi PHP thấy một biểu thức phải phát sinh ra
kết quả boolean Khi đó, nó sẽ được tự chuyển sang boolean trước khi tiếp tục
b) Chuyển đổi không toàn vẹn (Explicit Type Conversions)
Trong trường hợp này, PHP không chuyển đổi một cách thông thường, bạn phải quyết định xem kiểu dữ liệu nào bạn muốn có
Hãy xem xét ví dụ này:
Trang 25Các khai báo để chuyển dữ liệu dạng không toàn vẹn như sau:
- (int), (integer): Chuyển sang dạng số nguyên
- (float), (double), (real): Chuyển sang dạng số có phần thập phân
- (string): Chuyển sang dạng chuỗi
- (bool), (boolean): Chuyển san dạng boolean
- (array): Chuyển sang dạng mảng
- (object): Chuyển sang một đối tượng nào đó (có thể người dùng tự định nghĩa)
2.4 Các kiểu dữ liệu trong PHP
PHP hỗ trợ 8 kiểu dữ liệu nguyên thủy:
- Bốn kiểu thông thường là: boolean, integer, floating-point number (float),
string;
- Hai kiểu phức tạp là: mảng (array) và đối tượng (object);
- Và cuối cùng là 2 kiểu đặc biệt: resource và NULL
Loại dữ liệu của biến thông thường không được gán bởi người lập trình mà được quyết định tại thời gian chạy của PHP, phụ thuộc vào ngữ cảnh mà biến được dùng
Kiểm tra kiểu dữ liệu của biến:
Để kiểm tra kiểu dữ liệu của biến, bạn sử dụng các hàm như sau:
is_int($tên_biến) để kiểm tra biến có kiểu Integer, nếu biến có kiểu Integer thì
hàm sẽ trả về giá trị là true (1)
Tương tự, bạn có thể sử dụng các hàm kiểm tra tương ứng với kiểu dữ liệu là:
is_array($tên_biến), is_bool($tên_biến), is_double($tên_biến), is_float($tên_biến), is_string( $tên_biến), is_object($tên_biến)
$foo=True; //gán giá trị TRUE cho biến $foo
Để có thể chuyển một giá trị sang kiểu boolean, chúng ta có thể dùng (bool) hay
(boolean) trước tên biến
Chú ý: Trong quá trình tính toán trong PHP, đôi khi bạn cần chuyển đổi kiểu dữ liệu cho biến Trong trường hợp này, bạn chỉ khai báo kiểu dữ liệu trước tên biến, ví dụ:
Trang 2626
2.4.2 Kiểu integer
Là một tập hợp bao gồm các số {…, -2, -1, 0, 1, 2,…}
Cú pháp: Integer có thể được chỉ định trong cơ số 10, cơ số thập lục phân hay cơ
số bát phân, tùy chọn đi trước bởi dấu – hay + Nếu bạn sử dụng với cơ số bát phân, bạn phải theo thứ tự với 0 đứng trước, còn đối với số thập lục phân thì 0x
về là một số vượt qua biên của kiểu integer, thì kiểu float sẽ được trả về
Để có thể chuyển một giá trị sang kiểu integer, chúng ta có thể dùng toán tử ép
kiểu (int) hay (integer) trước tên biến
2.4.3 Kiểu số thực (floats, doubles hay real numbers)
Có thể được chỉ định bằng cách sử dụng một trong các cú pháp sau:
$a=1.234;
$a=1.2e3;
$a=7E-10;
Kích cỡ của kiểu float tùy thuộc vào platform, giá trị lớn nhất là xấp xỉ: 1.8e308
Khi xuất kết quả ra trình duyệt, bạn có thể sử dụng các định dạng tương tự như ngôn ngữ lập trình C
Ví dụ 2.5: Chẳng hạn, chúng ta in giá trị của biến $i với các định dạng như đoạn mã sau
echo "Total amount of order: $i<br>";
printf("Total amount of order: %.1f", $i);
echo "<br>";
printf("Total amount of order: %.2f", $i);
Trang 27% - Không yêu cầu tham số
b – Trình bày dạng số integer và hiện thực dưới dạng binary
c – Trình bày dạng số integer và hiện thực dưới dạng mã ASCII
d – Trình bày dạng số integer và hiện thực dưới dạng decimal
e – Trình bày dạng số logic và hiện thực dưới dạng 1.2e+2
u – Trình bày dạng số integer và hiện thực dưới dạng decimal không dấu
f – Trình bày dạng số float và hiện thực dưới dạng số chấm động
o – Trình bày dạng số integer và hiện thực dưới dạng hệ số 10
s – Trình bày dạng chuỗi
x – Trình bày dạng số integer và hiện thực dưới dạng hệ số 16 với ký tự thường
X – Trình bày dạng số integer và hiện thực dưới dạng hệ số 16 với ký tự hoa
2.4.4 Kiểu string
Là những chuỗi các kí tự
Trong PHP, một kí tự cũng tương tự như một byte, do đó có chính xác 256 kí tự khác nhau
Cú pháp: có thể khai báo bằng 2 cách khác nhau như sau:
- Dấu nháy đơn: Cách dễ dàng nhất để chỉ định một chuỗi đơn giản là đóng nó trong một dấu nháy đơn
Trang 2828
PHP là kịch bản được xem là tốt nhất cho xử lý chuỗi, bằng cách sử dụng các hàm
xử lý chuỗi, bạn có thể thực hiện các ý định của mình khi tương tác cơ sở dữ liệu, tập tin hay dữ liệu khác
a) strlen() – Lấy độ dài một xâu
strlen là string length – độ dài xâu, cách sử dụng strlen() rất đơn giản:
<?php
echo strlen("Updatesofts");
?>
Kết quả in ra sẽ là 11 – số ký tự trong xâu “Updatesofts”
b) trim() – Cắt bỏ phần thừa trong xâu
Hàm trim() nhận tham số là một xâu và nó sẽ loại bỏ mọi khoảng trắng (whitespace) bắt đầu và kết thúc xâu Cần chú ý ở đây, khoảng trắng không chỉ bao gồm dấu cách (“ ”, mang mã ASCII 32) mà nó còn gồm:
ltrim(): Dùng để bỏ các khoảng trắng bắt đầu xâu
rtrim(): Dùng để bỏ các khoảng trắng kết thúc xâu
d) strpos() – Tìm kiếm trong xâu
Hàm strpos(i, ii, iii) nhận 3 tham số:
i : 1 xâu
ii : xâu cần tìm trong xâu trên
iii : bắt đầu tìm từ ký tự thứ mấy trong xâu, mặc định là 0
Ví dụ: strpos(“Updatesofts”, “Update”) sẽ trả về kết quả là 0 strpos(“ABCABC”,
“A”, 2) sẽ trả về kết quả là 3
Nếu không tồn tại xâu cần tìm, kết quả trả về sẽ là FALSE
Một điều cần chú ý: Nếu vị trí bắt đầu tìm là số âm (ví dụ: -1), PHP sẽ tìm kiếm từ
cuối xâu trở lại (ngược với cách tìm mặc định)
Giờ hãy xét thêm 1 ví dụ:
<?php
$res=strpos($haystack, $needle);
if($res==FALSE) {
echo "Không thấy";
Trang 2929
} else {
echo "Thấy";
}
?>
Bạn có giá trị của biến $haystack là “Updatesofts” và giá trị của biến $needle là
“Up”, hỏi PHP sẽ echo ra cái gì ? Nhiều người cho rằng kết quả cho ra là “Thấy” ?
Nhưng thực ra kết quả cho ra là “Không thấy”, vì $needle được tìm thấy ở đầu
$haystack, nghĩa là vị trí thứ 0, mà 0 lại đồng nghĩa với FALSE
Để xử lý trường hợp này, ta sẽ dùng toán tử so sánh = = = thay vì = = PHP sẽ
kiểm tra cả giá trị và kiểu của biến, do đó 0 và FALSE là 2 khái niệm hoàn toàn khác nhau và vấn đề đã được giải quyết
e) substr() – Tách 1 phần trong xâu
Cú pháp của hàm substr() như sau:
substr(xâu, vị trí bắt đầu, [số ký tự - nếu cần])
Ví dụ: substr($str,1) trả về xâu bắt đầu từ ký tự thứ 1 substr($str,3,2) trả về 2 ký
tự của xâu bắt đầu từ ký tự thứ 3
Cũng như hàm strpos(), tham số thứ 2 có thể là âm Khi đó PHP sẽ xử lý ngược từ cuối
f) Hàm tách và hợp chuỗi (explode() và implode())
- Hàm tách chuỗi explode()
Cú pháp:
$a = explode(ký_tự_phân_cách, Chuỗi_cần_tách)
Hàm sẽ tách Chuỗi_cần_tách thành các phần tử và gán cho mảng $a Điều kiện
để phân tách chuỗi thành các phần tử dựa vào ký_tự_phân_cách
- Hàm hợp các phần tử của mảng thành một chuỗi implode()
Cú pháp:
$str = implode(ký_tự_phân_cách, mảng_cần_hợp_thành_chuỗi)
Hàm sẽ hợp các phần tử của mảng mảng_cần_hợp_thành_chuỗi thành chuỗi và gán cho biến chuỗi $str Chuỗi được hợp lại từ các phần tử của mảng, mỗi từ (phần tử) được cách nhau bởi ký_tự_phân_cách
Trang 30K ết quả chạy trên trình duyệt
Minh họa hàm explode() và implode()
f) Hàm chuyển đổi chữ hoa và chữ thường
strtoupper($str) : Hàm sẽ trả về $str với tất cả các kí tự đều là kí tự hoa
strtolower($str) : Hàm sẽ trả về $str với tất cả các kí tự đều là kí tự thường
ucfirst($str) : Hàm sẽ trả về $str với ký tự đầu tiên trong chuỗi là kí tự hoa
ucwords($str) : Hàm sẽ trả về $str với kí tự đầu mỗi từ là kí tự hoa
Trang 31Kết quả chạy trên trình duyệt
Hình 2.6: Minh họa 4 hàm chuyển đổi chữ hoa, chữ thường
g) Hàm thay thế chuỗi (str_replace())
Cú pháp:
$chuoi_kq = str_replace($tu_goc, $tu_thay, $chuoi);
Hàm str_replace() sẽ tìm trong chuỗi $chuoi và thay từ $tu_goc bằng từ
$tu_thay
Ví dụ:
$chuoi = “Con le le đậu trên bờ rào”
$chuoi_kq = str_replace(“le”, “cào”, $chuoi);
- Khai báo và khởi tạo giá trị cho mảng
$myarrs=array("first", "last", "company");
Mảng trên được khai báo và khởi tạo giá trị, các phần tử của mảng có giá trị lần lượt là: $myarrs[0]=”first”, $myarrs[1]=”last”, $myarrs[2]=”company”
- Khai báo mảng nhưng không khởi tạo giá trị
$myarrs[]=array(3); hoặc $myarrs=array(3);
Sau đó ta gán giá trị cho các phần tử của mảng như sau:
$myarrs[0]=”Number 0”;
Trang 32Kết quả chạy trên trình duyệt
Hình 2.7: Ví dụ về khai báo và sử dụng mảng một chiều
- Thứ tự index trong mảng bắt đầu từ vị trí 0
- Để xác định số phần tử trong một mảng, hãy sử dụng hàm count() hoặc
sizeof() (hai hàm này tương đương nhau) Ví dụ: $num=count($array)
Trang 33Kết quả chạy trên trình duyệt
Hình 2.8: Ví dụ về khai báo và sử dụng mảng hai chiều
2.4.6 Kiểu object
Bạn có thể xem object như là một biến mà minh họa một kiểu mẫu template được gọi là class Khái niệm của đối tượng và lớp được sử dụng nhiều trong ngôn ngữ lập trình hướng đối tượng OOP Không giống như các kiểu dữ liệu khác trong PHP, object phải được khai báo
Điều quan trọng là phải nhận ra rằng object không hơn gì một minh họa của một lớp, và hoạt động như là một khuôn mẫu cho việc tạo các object có các đặc tính và chức năng cụ thể Cho nên, lớp (class) phải được định nghĩa trước khi khai báo một object Để khởi tạo một đối tượng, bạn sử dụng câu lệnh new để minh họa đối tượng với một biến
function do_foo()
Trang 3434
{
echo "Doing foo";
} }
Kết quả chạy trên trình duyệt
Hình 2.9: Khai báo và sử dụng kiểu object
- Nó được gán giá trị hằng số NULL
- Nó chưa được khởi tạo giá trị nào
Trang 3535
Sau khi một hằng số đã được định nghĩa, nó sẽ không thay đổi giá trị Khi bạn cố
gắng thay đổi giá trị của hằng số sẽ chỉ sinh ra một cảnh báo (warning) và không có gì
echo "<br>pi:=".pi;
echo "<br>pi:=".constant("pi");
} Test();
Sau phép gán biến $a và biến $b mang giá trị 1, biến $c mang giá trị “Cool”
Để cho ngắn gọn, thay vì phải mất 2 dòng khai báo $a và $b, ta có thể gộp:
<?php
Trang 36$txtUser=”Nguyen Van A”;
Echo “Username:” $txtUser;
?>
Tuy nhiên, trong một chuỗi HTML, nếu tìm thấy một dấu $ và chuỗi sau đó, PHP Engine sẽ ngầm hiểu là biến, như ví dụ dưới đây cũng cho kết quả như ví dụ trên:
<?
$txtUser=”Nguyen Van A”;
Echo “Username: $txtUser”;
Trang 3838
?>
</BODY>
</HTML>
Kết quả chạy trên trình duyệt
Hình 2.12: Phép toán tham chiếu
Trong trường hợp trên, sau khi gán biến $a với giá trị 10, kế tiếp bạn gán biến $b với phép toán & với biến $a, kết quả biến $b có giá trị bằng với biến $a
2.6.6 Phép toán so sánh
Phép toán so sánh dùng để so sánh hai giá trị, nếu bạn sử dụng so sánh biểu thức,
kết quả trả về true hay false phụ thuộc vào kết quả so sánh
PHÉP TOÁN KÝ HIỆU SỬ DỤNG Ý NGHĨA
! NOT !$a Not còn gọi là phép toán phủ định
&& AND $a && $b Trả về true nếu cả hai biến có giá trị true Ngược
lại là false
|| OR $a || $b Trả về true nếu $a, hay $b hay cả hai biến có giá
trị true Ngược lại là false
and AND $a and $b Trả về true nếu cả hai biến có giá trị true Ngược
lại là false
or OR $a or $b Trả về true nếu $a, hay $b hay cả hai biến có giá
trị true Ngược lại là false
c) Phép toán ? :
Trang 4040
Để làm việc với kiểu dữ liệu date và time, bạn sử dụng hàm của PHP có sẵn:
Code Diễn giải
a Buổi sáng/chiều bằng hai ký tự thường am/pm
A Buổi sáng/chiều bằng hai ký tự hoa AM/PM
d Day (01-31) trong tháng với hai số, nếu ngày 1-9 sẽ có kèm số 0
D Day (Mon-Sun) trong tuần với 3 ký tự
F Tháng (January-December) trong năm với tên tháng đầy đủ dạng text
g Hour (1-12) trong ngày 1 hoặc 2 số (không kèm 0 nếu giờ từ 1-9)
G Hour (0-23) trong ngày 1 hoặc 2 số (không kèm 0 nếu giờ từ 0-9)
h Hour (01-12) trong ngày 2 số (kèm 0 nếu giờ từ 01-09)
H Hour (00-23) trong ngày 2 số (kèm 00 nếu giờ từ 00-09)
i Minutes (01-59) đã trôi qua (kèm 00 nếu phút từ 00-59)
j Day (1-31) 1 hoặc 2 số (không kèm 0 nếu ngày từ 1-9)
l Day (Monday-Sunday) trong tuần dạng text
L Năm nhuận trả về 1, ngược lại hàm trả về 0
m Month (01-12) trong năm 2 số (kèm 00 nếu tháng từ 01-09)
M Month (Jan-Dec) trong năm 3 ký tự
n Month (1-12) 1 hoặc 2 số (không kèm 0 nếu tháng từ 1-9)
s Seconds (01-59) đã trôi qua (kèm 00 nếu giây từ 00-59)
S Thêm hai ký tự st, nd, rd hay th theo sau ngày dạng hai ký tự số (ví dụ 12 th )
t Trả về tổng số ngày trong tháng (từ 28-31)
U Tổng số Seconds từ 1 January 1970 tới hôm nay ứng với Unix Time Stamp
w Day (0-6) của tuần, 0 ứng với Sunday và 6 ứng với Saturday
y Năm định dạng 2 con số (03)
Y Năm định dạng 4 con số (2003)
z Ngày trong năm một hoặc 2 con số (0-365)
$day = cal_days_in_month(int calendar, int montth, int year) : Hàm gọi ngày của tháng trong năm Ví dụ:
$d = cal_days_in_month(CAL_GREGORIAN, $thang, $nam);
Ví dụ 2.14: Muốn trình bày chuỗi ngày tháng hiện tại, bạn dùng hàm date với các tham số như sau: