LỜI NÓI ĐẦU
Ngày nay việc sử dụng Internet và các dịch vụ trên Internet là một phần tất yếu của cuộc sống. Công nghệ Internet và các ứng dụng phát trển trên nền Web và Internet đã và đang làm cho đời sống của mỗi chúng ta thay đổi. Internet là một nguồn thông tin quí giá phục vụ cho nghiên cứu, cho kinh doanh, cho giải trí … Vì vậy ngày càng có nhiều ứng dụng trên Internet, sử dụng giao diện Web. Các công nghệ phát triển Web ngày một hoàn thiện.
Tập bài giảng giới thiệu công nghệ phổ biến nhất được dùng để tạo các web site động: Ngôn ngữ kịch bản PHP và chương trình quản lý cơ sở dữ liệu MySQL. Đây là công nghệ rất mạnh và hiệu quả để khai triển khai các dự án mã nguồn mở cũng như có thể sử dụng để trong việc khai thác, sử dụng và phát triển được các phần mềm mã nguồn viết bằng PHP và MySQL như: Joomla, Moodle, Wordpress, Drupal, NukeViet …
Tập bài giảng Lập trình mã nguồn mở được biên soạn cho đối tượng sinh viên Đại học khoa Công nghệ thông tin, trường Đại học Sư phạm kỹ thuật Nam Định. Tập bài giảng được chia làm 3 chương:
Chương 1: Tổng quan về PHP và MySQL Chương 2: Lập trình với PHP
Chương 3: Sử dụng PHP với MySQL
Trong quá trình biên soạn chúng tôi xin chân thành cảm ơn các đồng nghiệp khoa Công nghệ thông tin, cùng các đồng nghiệp trong trường Đại học Sư phạm Kỹ thuật Nam Định đã giúp chúng tôi hoàn thành tập bài giảng này.
Trong lần biên soạn đầu tiên, tập bài giảng không tránh khỏi những sai sót, rất mong nhận được các ý kiến đóng góp của các đồng nghiệp và các bạn đọc nhằm giúp cho chất lượng của tập bài giảng được hoàn thiện hơn. Mọi sự đóng góp ý kiến xin gửi về Văn phòng Khoa Công nghệ thông tin, trường Đại học Sư phạm kỹ thuật Nam Định.
Chúng tôi xin chân thành cảm ơn!
Có thể bạn quan tâm!
- Lập trình mã nguồn mở - 2
- Giá Trị Biến Str: <?=$Groupid?> 2-Giá Trị Biến I: <?=$I?>
- Kết Quả Thực Hiện Trang Script.php
Xem toàn bộ 270 trang tài liệu này.
Nam Định, tháng 12 năm 2014
Nhóm biên soạn
Th.s Nguyễn Văn Trung Th.s Trần Đình Tùng Th.s Phan Đức Thiện
MỤC LỤC
LỜI NÓI ĐẦU i
CHƯƠNG 1: TỔNG QUAN VỀ PHP VÀ MYSQL 1
1.1. Giới thiệu về mã nguồn mở 1
1.1.1. Khái niệm phần mềm mã nguồn mở 1
1.1.2. Lợi ích của mã nguồn mở đối với người phát triển 1
1.1.3. Lợi ích của mã nguồn mở đối với người sử dụng 1
1.1.4. Một số phần mềm mã nguồn mở 2
1.2. Giới thiệu về PHP 2
1.3. Giới thiệu về MySQL 3
1.4. Cài đặt cấu hình PHP, MySQL, Apache 4
1.4.1. Cài đặt Appserv 4
1.4.2. Cài đặt Wampserver 8
1.5. Xử lý dữ liệu với phpMyAdmin 8
1.6. Bài tập 15
CHƯƠNG 2: LẬP TRÌNH VỚI PHP 16
2.1. Cấu trúc của PHP 16
2.1.1. Câu lệnh trong PHP 16
2.1.2. Chú thích trong PHP 19
2.1.3. In kết quả trong PHP 20
2.2. Các kiểu dữ liệu trong PHP 22
2.2.1. Các kiểu dữ liệu trong PHP 22
2.2.2. Kiểm tra kiểu dữ liệu 22
2.2.3. Thay đổi kiểu dữ liệu biến 23
2.2.4. Kiểu số nguyên 24
2.2.5. Kiểu dấu chấm động 25
2.2.6. Kiểu chuỗi String 26
2.2.7. Kiểu boolean 26
2.2.8. Kiểu mảng 27
2.2.10. Kiểu đối tượng 30
2.2.11. Giá trị Null 30
2.3. Khái niệm biến, hằng và chuỗi 30
2.3.1. Biến trong PHP 30
2.3.2. Hằng 33
2.3.3. Chuỗi 35
2.4. Toán tử và biểu thức 35
2.4.1. Biểu thức 35
2.4.2. Toán tử gán 35
2.4.3. Toán tử số học 36
2.4.4. Toán tử so sánh 36
2.4.5. Toán tử logic 36
2.4.6. Toán tử kết hợp 37
2.4.7. Độ ưu tiên các phép toán 37
2.5. Mảng 38
2.5.1. Mảng một chiều 38
2.5.2. Mảng hai chiều 40
2.5.3. Các hàm xử lý mảng 43
2.6. Các hàm xử lí chuỗi 48
2.6.1 Quy tắc trong chuỗi 48
2.6.2. Định dạng chuỗi 49
2.6.3. Hàm chuyển đổi chuỗi 50
2.6.4. Hàm tách và kết hợp chuỗi 51
2.6.5. Tìm kiếm và thay thế chuỗi 53
2.6.6. Các hàm xử lý chuỗi hay sử dụng 58
2.7. Hàm và sử dụng hàm 62
2.8. Sử dụng include và Require 65
2.8.1. Sử dụng Include 66
2.8.2. Sử dụng Require 66
2.8.3. Sự khác nhau giữa Include và Require 67
2.8.4. Sử dụng Require_once và include_once 67
2.9. Câu lệnh rẽ nhánh 67
2.9.1. Câu lệnh if else 67
2.9.2. Câu lệnh switch case 69
2.10. Các cấu trúc lặp 71
2.10.1. Lệnh for 71
2.10.2. Lệnh foreach 72
2.10.3. Lệnh while 74
2.10.4. Lệnh do while 74
2.10.5. Lệnh break, continue, goto, die, exit 75
2.11. Lập trình hướng đối tượng 76
2.11.1. Khái niệm về lập trình hướng đối tượng 76
2.11.2. Lớp, thuộc tính, phương thức của đối tượng 77
2.11.4. Tính kế thừa 83
2.11.5. Các mức truy cập private protected và public 88
2.11.7. Cách sử dụng private, protected và public 94
2.11.9 Tính đóng gói trong lập trình hướng đối 100
2.11.10 Hàm khởi tạo và hàm hủy 100
2.11.11 Lớp trừu tượng (Abstract) 104
2.11.12. Interface 107
2.11.13. Thuộc tính và phương thức tĩnh 109
2.12. Truyền và xử lý dữ liệu trong PHP 113
2.12.1. Truyền và xử lý dữ liệu trong PHP 113
2.12.2. Truyền và xử lý dữ liệu qua URL 114
2.12.3. Truyền và xử lý dữ liệu qua Form 118
2.13. Các đối tượng cơ bản trong PHP 119
2.13.1. Đối tượng Session 119
2.13.2. Đối tượng Cookies 128
2.13.3. Đối tượng Server 132
10.14. Các hàm xử lý file trong php 133
2.14. Bài tập 140
CHƯƠNG 3: SỬ DỤNG PHP VỚI MYSQL 158
3.1. Cấu trúc và cú pháp của MySQL 158
3.1.1. Các kiểu dữ liệu MySQL 158
3.1.2. NULL/NOT NULL 161
3.1.3. INDEXES 161
3.1.4. UNIQUE 161
3.1.5. Tăng tự động (auto Increment) 161
3.1.6. Các kiểu bảng của MySQL và kỹ thuật lưu trữ 161
3.1.7. Lệnh và cú pháp trong MySQL 163
3.1.8. Các hàm cơ bản trong MySQL 181
3.2. Làm việc với MySQL và PHP 183
3.2.1. Các hàm cơ bản làm việc giữa PHP và MySQL 183
3.2.2. Kết nối MySQL Server 190
3.2.3. Các thao tác với cơ sở dữ liệu 191
3.2.4. Truy vấn cơ sở dữ liệu 197
3.3. Xây dựng một số trang web kết hợp PHP và MySQL 206
3.3.1. Xây dựng trang đăng nhập 206
3.3.2. Xây dựng trang thêm thành viên 209
3.3.3. Xây dựng trang quản lý thành viên 213
3.3.4. Xây dựng trang xoá sửa thành viên 216
3.3.5. Xây dựng trang tạo mã xác nhận 221
3.3.6. Xây dựng trang đếm số người online 224
3.3.7. Xây dựng trang bình chọn 227
3.3.8. Xây dựng trang upload nhiều file 232
3.4. Bài tập 238
TÀI LIỆU THAO KHẢO 256
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Cửa số Welcome khi cài AppServ 4
Hình 1.2. Thông tin giấy phép sử dụng phần mềm 5
Hình 1.3. Chọn thư mục để cài đặt 5
Hình 1.4. Chọn các thành phần cần cài đặt 5
Hình 1.5. Thông tin về người quản lý và port truy cập webserver 6
Hình 1.6. Nhập mật khẩu cho tài khoản root 6
Hình 1.7. Quá trình cài đặt AppServ 6
Hình 1.8. Trang chủ của AppServ 7
Hình 1.9. Đăng nhập vào phpMyAdmin 7
Hình 1.10. Tạo cơ sở dữ liệu tintuc 9
Hình 1.11. Tạo bảng dữ liệu 9
Hình 1.12. Tạo các trường dữ liệu cho bảng 10
Hình 1.13. Nhập dữ liệu cho bảng 10
Hình 1.14. Xem dữ liệu của bảng 11
Hình 1.15. Xoá và sửa dữ liệu của bảng 11
Hình 1.16. Sửa cấu trúc bảng 12
Hình 1.17. Đổi tên bảng dữ liệu 12
Hình 1.18. Xoá bảng dữ liệu 13
Hình 1.19. Import dữ liệu từ file sql 13
Hình 1.20. Export dữ liệu từ file sql 14
Hình 1.21. Xoá cơ sở dữ liệu 15
Hình 2.1. Quá trình thông dịch trang PHP 16
Hình 2.2. Kết quả thực hiện trang hello.php 17
Hình 2.3. Kết quả thực hiện trang script.php 18
Hình 2.4. Kết quả thực hiện trang echo.php 22
Hình 2.5. Kết quả khi triệu gọi trang arrayone.php. 40
Hình 2.6. Kết quả thực hiện arraytwo.php 42
Hình 2.7. Kết quả thực hiện trang mang.php 43
Hình 2.8. Kết quản thực hiện sắp xếp mảng 43
Hình 2.9. Định dạng chuỗi in 49
Hình 2.10. Chuyển đổi chuỗi 51
Hình 2.11. Kết quả sử dụng hàm tách chuỗi 52
Hình 2.12. Kết quả sử dụng hàm kết hợp chuỗi 53
Hình 2.13. Kết quả sử dụng hàm thay thế chuỗi 54
Hình 2.14. Hoạt động của Include 66
Hình 2.15. Trừu tượng hoá dữ liệu 81
Hình 2.16. Các đối tượng trong trong thế giới thực 82
Hình 2.17. Kết quả chạy file movie1.php 116
Hình 2.18. Lấy dữ liệu truyền theo url 116
Hình 2.19. Lấy dữ liệu bằng $_request 117
Hình 2.20. Kết quả thực hiện 117
Hình 2.21. Nhận dạng Session 120
Hình 2.22. Đăng ký Session 121
Hình 2.23. Lấy giá trị của session 122
Hình 2.24. Lỗi phát sinh truy cập session chưa tồn tại 123
Hình 2.25. Không có lỗi phát sinh gọi trang checksession.php 124
Hình 2.26. Loại bỏ session 125
Hình 2.27. Huỷ session 126
Hình 2.28. Đăng ký cookie 130
Hình 2.29. Dùng $HTTP_COOKIE_VARS 131
Hình 3.1. Thêm bản ghi 192
Hình 3.2. Thực thi trang cập nhật dữ liệu 195
Hình 3.3. Thực thi xoá một bản ghi 197
Hình 3.4. Liệt kê bản ghi 198
Hình 3.5. Liệt kê danh sách lại sản phẩm 199
Hình 3.6. Liệt kê danh sách loại sách 202
Hình 3.7. Liệt kê danh sách sản phẩm duyệt hay chưa 205
Hình 3.8. Giao diện trang đăng nhập 206
Hình 3.9. Giao diện trang thêm thành viên 210
Hình 3.10. Giao diện trang sửa thanh viên 217
Hình 3.11. Giao diện trang tạo mã xác nhận 222
Hình 3.12. Giao diện trang bình chọn 229
Hình 3.13. Giao diện trang kết quả bình chọn 232
Hình 3.14. Giao diện trang Upload file 234
CHƯƠNG 1: TỔNG QUAN VỀ PHP VÀ MYSQL
1.1. Giới thiệu về mã nguồn mở
1.1.1. Khái niệm phần mềm mã nguồn mở
Open Source: Mã nguồn mở.
Open Source Software: Phần mềm mã nguồn mở.
Free Software: Phần mềm miễn phí, đôi khi free software được dùng với ý nghĩa bao gồm cả open source software và free software.
Phần mềm nguồn mở (PMNM) là những phần mềm được cung cấp dưới cả dạng mã và nguồn, không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung qui định trong giấy phép PMNM (ví dụ General Public Licence – GPL) mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng (tức là phần mềm thương mại).
Nhà cung cấp phần mềm nguồn mở có quyền yêu cầu người dùng trả một số chi phí về các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn, vv… tức là những dịch vụ thực sự đã thực hiện để phục vụ người dùng, nhưng không được bán các sản phẩm nguồn mở vì nó là tài sản của trí tuệ chung, không phải là tài sản riêng của một nhà cung cấp nào.
Tiện ích mà Open Source mang lại chính là quyền tự do sử dụng chương trình cho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình, chỉnh sữa phù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phối lại các phiên bản cho nhiều người, quyền tự do cải tiến chương trình và phát hành những bản cải tiến vì mục đích công cộng.
1.1.2. Lợi ích của mã nguồn mở đối với người phát triển
Đối với lập trình viên và người sản xuất phần mềm, sự tự do đáng kể sẽ thay đổi các qui định của cuộc chơi. Nó làm cho dễ dàng hơn để tiếp tục cạnh tranh trong khi vẫn là nhỏ và để có được công nghệ hiện đại. Nó cho phép chúng ta tận dụng được ưu thế công việc của những người khác, cạnh tranh ngay cả với sản phẩm khác bằng việc sửa đổi mã nguồn của riêng mình, dù đối thủ cạnh tranh sao chụp được có thể sau đó cũng tận dụng được ưu thế về mã nguồn của chúng ta (nếu nó là copyleft). Nếu dự án được quản lý tốt, thì có khả năng có được sự hợp tác tự do của một số lượng người lớn, hơn nữa, để có được sự truy cập tới một hệ thống phân phối gần như hoàn toàn tự do và toàn cầu. Dẫu rằng, vấn đề còn lại là làm thế nào để có được những tài nguyên về tài chính, nếu phần mềm không phải là sản phẩm để bán vì tiền hoa hồng.
1.1.3. Lợi ích của mã nguồn mở đối với người sử dụng
Lợi ích lớn nhất trong việc chuyển đổi sang phần mềm tự do nguồn mở là giảm tổng chi phí sở hữu, từ các yếu tố sau:
- Miễn phí bản quyền phần mềm