Xem mẫu

  1. 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! 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 i
  2. 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 ii
  3. 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 iii
  4. 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 iv
  5. 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 v
  6. 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 vi
  7. 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 vii
  8. 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 1
  9. - Miễn phí các phiên bản nâng cấp trong toàn bộ vòng đời sử dụng sản phẩm - Giảm chi phí phát triển phần mềm đáp ứng theo yêu cầu nghiệp vụ (sử dụng phần mềm, mô-đun có sẵn để phát triển tiếp, sửa đổi điều chỉnh cho phù hợp với nghiệp vụ) - Kéo dài thời gian sử dụng/tái sử dụng các phần cứng, thiết bị trong khi vẫn đảm bảo hiệu năng toàn hệ thống - Chi phí đầu tƣ, vận hành hệ thống tập trung cho các dịch vụ “hữu hình” đem lại giá trị trực tiếp, thiết thực cho tổ chức nhƣ: tƣ vấn, sửa đổi theo yêu cầu, triển khai, đào tạo, bảo trì, nâng cấp hệ thống... - Mức chi phí tiết kiệm khoảng 75-80% so với phần mềm license ngay trong năm đầu tiên. Giảm tối đa sự phụ thuộc vào một vài nhà cung cấp phần mềm dẫn đến dịch vụ kém (do không có cạnh tranh), hoặc “bị ép” trong các trƣờng hợp cần đàm phán về chi phí, dịch vụ (mỗi FLOSS có thể có nhiều nhà cung cấp dịch vụ tƣơng tự), nâng cấp phần mềm, mở rộng hệ thống (với mã nguồn trong tay, có thể dễ dàng nâng cấp, mở rộng hệ thống theo yêu cầu trong mỗi giai đoạn phát triển). Đối với các hệ thống đang hoạt động, chủ động thực hiện chuyển đổi sẽ tránh đƣợc “nguy cơ” bị phạt vi phạm bản quyền và/hoặc bị “bắt buộc” mua license. Tăng tính thƣơng hiệu cho doanh nghiệp khi giới thiệu đƣợc với cộng đồng, đối tác, khách hàng (đặc biệt là ngoài nƣớc) và không vi phạm bản quyền. Tăng cƣờng độ tin cậy, ổn định, tính an toàn, bảo mật (theo báo cáo của Gartner & nhiều tổ chức phân tích độc lập) toàn hệ thống. 1.1.4. Một số phần mềm mã nguồn mở OpenOffice: Bộ công cụ phần mềm văn phòng mã nguồn mở, miễn phí và tƣơng thích với các định dạng tài liệu của Microsoft Office. UniKey: Công cụ hỗ trợ gõ tiếng Việt trên môi trƣờng Windows, miễn phí và hiệu quả. Hỗ trợ nhiều bảng mã tiếng Việt và nhiều kiểu gõ tiếng Việt khác nhau. Tích hợp công cụ chuyển đổi giữa các bảng mã tiếng Việt với nhau. Mozilla Firefox: Trình duyệt web mã nguồn mở phổ biến và tốt nhất hiện nay. Hệ điều hành của Linux dành cho máy bàn (PC) và máy tính xách tay (Laptop, Netbook...): Ubuntu, Fedora, Hacao, Redhat, CentOS, … Cổng thông tin điện tử: Liferay, Uportal, DotnetNuke, ExoPlatform, DotnetNuke, Joomla, Moodle … Diễn đàn: phpBB, Jforum, mvnForum, SMF … 1.2. Giới thiệu về PHP PHP viết tắt của chữ Personal Home Page ra đời năm 1994 do phát minh của Rasmus Lerdorf, và nó tiếp tục đƣợc phát triển bởi nhiều cá nhân và tập thể khác, do 2
  10. đó PHP đƣợc xem nhƣ một sản phẩm mã nguồn mở. PHP là kịch bản trình chủ (server script) chạy trên phía server (server side) nhƣ các server script khác (asp, jsp, cold fusion). PHP là kịch bản cho phép xây dựng ứng dụng web trên mạng internet hay intranet tƣơng tác với mọi cơ sở dữ liệu nhƣ mySQL, Oracle, SQL Server và Access. Lƣu ý: Từ phiên bản 4.0 trở về sau mới hỗ trợ session, ngoài ra PHP xử lý chuỗi rất mạnh, vì vậy có thể sử dụng PHP trong những có yêu cầu về xử lý chuỗi. 1.3. Giới thiệu về MySQL MySQL, cơ sở dữ liệu SQL mã nguồn mở thông dụng nhất , đƣợc cung cấp bởi MySQL AB. MySQL AB là một công ty thƣơng mại thực hiện việc tạo ra các dịch vụ cung cấp cho doanh nghiệp đó xung quanh cơ sở dữ liệu MySQL. MySQL là một hệ quản trị cơ sở dữ liệu (CSDL): Một CSDL là một tập hợp cấu trúc của dữ liệu. Nó có thể là bất kỳ một cái gì từ một danh sách bán hàng đơn giản cho tới gallery ảnh hoặc số lƣợng lớn các thông tin trong một mạng doanh nghiệp. Để thêm, truy nhập và xử lý dữ liệu đƣợc lƣu trữ trong một CSDL máy tính, ta cần một hệ quản trị CSDL nhƣ MySQL. Từ khi các máy tính thực hiện tốt việc xử lý lƣợng lớn dữ liệu, quản trị CSDL đóng một vai trò chính yếu trong việc tính toán, nhƣ là các công cụ đơn lẻ, hoặc một phần của các ứng dụng khác. MySQL là một hệ quản trị CSDL quan hệ: Một CSDL quan hệ lƣu trữ dữ liệu trong trong một số bảng chuyên biệt tốt hơn là việc đặt toàn bộ dữ liệu trong một nơi lƣu trữlớn. Điều này làm tăng thêm tốc độ và sự linh hoạt. Các bảng đƣợc liên kết với nhau bằng cách định nghĩa các quan hệ tạo cho nó khả năng kết nối dữ liệu từ một vài bảng khác nhau theo yêu cầu. SQL là một phần của MySQL trong “Structured Query Language”- ngôn ngữ chuẩn thông dụng nhất đƣợc dùng để truy nhập các CSDL. MySQL là một phần mềm mã nguồn mở: Mã nguồn mở có nghĩa là nó có thể đƣợc sử dụng bởi bất kỳ ai cho mục đích sử dụng hoặc thay đổi nào. Bất kỳ ai cũng có thể download MySQL từ internet và sử dụng nó mà không phải trả bất kỳ một thứ gì. Bất kỳ ai có ý thích cũng có thể nghiên cứu mã nguồn và thay đổi chúng theo yêu cầu của riêng mình. MySQL dùng GPL (GNU General Public License) để định ra ta có thể đƣợc làm gì và không đƣợc làm gì với phần mềm trong các hoàn cảnh khác nhau. Nếu ta cảm thấy khó chịu với GPL hoặc muốn nhúng MySQL trong một ứng dụng thƣơng mại thì ta có thể mua một bản quyền thƣơng mại từ các nhà cung cấp. Lý do dùng MySQL: MySQL nhanh, đáng tin cậy và dễ dàng để sử dụng. MySQL cũng có một tập các đặc điểm rất thiết thực đƣợc phát triển trong một sự hợp tác rất chặt chẽ với ngƣời sử dụng. Có thể đem so sánh giữa MySQL và một số hệ quản trị CSDL khác trong trang web chấm điểm của nhà cung cấp. MySQL đã đƣợc phát triển một cách sáng tạo để nắm bắt các CSDL rất lớn và nhanh hơn rất nhiều các giải pháp hiện tại và đã thành công trong việc đƣợc sử dụng 3
  11. trong các môi trƣờng sản xuất đòi hỏi cao trong vài năm. Thông qua quá trình phát triển không ngừng, ngày nay, MySQL cung cấp một tập các hàm rất hữu ích và dồi dào. Sự kết nối, tốc độ và sự bảo mật đã làm cho MySQL trở nên thích ứng cao cho việc truy cập các CSDL trên internet. Các đặc điểm về mặt kỹ thuật của MySQL: MySQL là một hệ thống client/server bao gồm một SQL server đa luồng cho phép hỗ trợ nhiều thiết bị đầu cuối khác nhau, một vài chƣơng trình client khác nhau và các thƣ viện, các công cụ quản trị và một vài giao diện lập trình. Các nhà cung cấp cũng cung cấp MySQL nhƣ là một thƣ viện đa luồng mà ta có thể kết nối trong ứng dụng của ta để đạt tới một sản phẩm nhỏ hơn, nhanh hơn, dễ dàng quản lý hơn. MySQL có nhiều các phần mềm đƣợc phân phối có sẵn. Điều này thật sự thuận tiện cho ta trong việc tìm ứng dụng yêu thích của ta hoặc ngôn ngữ hỗ trợ MySQL 1.4. Cài đặt cấu hình PHP, MySQL, Apache Phần mềm Appserv và Wampserver khi cài đặt là tự động cấu hình webserver và php, mysql, apache và các ứng dụng nhƣ phpmyadmin, sqllitemanager. 1.4.1. Cài đặt Appserv Tải phần mềm Appserv tại địa chỉ http://www.appservnetwork.com/ Chạy file cài đặt màn hình đầu tiên là. Hình 1.1. Cửa số Welcome khi cài AppServ Nhấn Next để sang bƣớc tiếp 4
  12. Hình 1.2. Thông tin giấy phép sử dụng phần mềm Nhấn Igree để đồng ý giấy phép sử dụng phần mềm Hình 1.3. Chọn thư mục để cài đặt Nhấn Browse … để chọn thƣ mục cài đặt sau đó nhấn Next để tiếp tục Hình 1.4. Chọn các thành phần cần cài đặt 5
  13. Lựa chọn các thành phần cần cài đặt nhấn Next để tiếp tục Hình 1.5. Thông tin về người quản lý và port truy cập webserver Nhập tên tài khoản, địa chỉ e-mail của ngƣời quản lý; thiết lập cổng http để truy cập webserver nhấn Next để tiếp tục. Hình 1.6. Nhập mật khẩu cho tài khoản root Nhập mật khẩu để đăng nhập hệ quản trị cơ sở dữ liệu MySQL nhấn Install để tiến hành cài đặt. Hình 1.7. Quá trình cài đặt AppServ 6
  14. Khi kết thúc quá trình cài đặt tạo một Server ảo chạy web PHP. Với cài đặt mặc định. - C:\AppServ\www là địa chỉ webroot, nơi copy các file php. - C:\AppServ\mysql\data\ chứa CSDL MySQL, mỗi CSDL sẽ là mọt folder, để sao lƣu dữ liệu MySQL, đơn gian chỉ việc copy folder này thành nhiều bản sao. - Để quản trị CSDL MySQL, truy nhập địa chỉ sau từ trình duyệt: http://localhost/phpMyAdmin. - Vào http://localhost/phpinfo.php để xem thông tin đầy đủ về server vừa cài. - Thƣ mục tƣơng tự trên host public_html mặc định là C:\AppServ\www là địa chỉ webroot, nơi copy các file php. Mở trình duyệt web đánh địa chỉ http://localhost Hình 1.8. Trang chủ của AppServ Nhấn vào dòng phpMyAdmin Database Manager Version 2.9.0.2 để vào quản lý, tạo database Hình 1.9. Đăng nhập vào phpMyAdmin 7
  15. 1.4.2. Cài đặt Wampserver Wampserver là một phần mềm mã nguồn mở giúp đơn giản quá trình thiết lập môi trƣờng thực thi ứng dụng PHP trên hệ điều hành Windows. Các thành phần của Wampserver bao gồm Apache, MySQL và PHP, nhƣ vậy chỉ cần cài dặt Wampserver lên máy là đã có đủ môi trƣờng để chạy các ứng dụng PHP. Bƣớc 1: Để bắt đầu cài đặt Wampserver click đúp vào file Wampserver vừa download về, sau dó chọn Next để bắt đầu quá trình cài đặt. Bƣớc 2: Nhấn chọn I accept the agreement và nhấn Next để tiếp tục Bƣớc 3: Thƣ mục cài đặc mặc định của Wampserver là C:\wamp, nếu muốn thay đổi nhấn vào nút Browse và trỏ tới thƣ mục mới sau đó nhấn Next để tiếp tục Bƣớc 4: Chọn Next ở bƣớc tiếp theo Bƣớc 5: Chọn Install để bắt đầu quá trình cài đặt Wampserver Bƣớc 6: Màn hình cài đặt Wampserver Bƣớc 7: Để thông tin mặc định cho bƣớc này và nhấn Next Bƣớc 8: Hoàn thành các bƣớc cài đặt Bƣớc 9: Đến đây là đã cài đặt thành công Wampserver. Sau khi chạy thì Wampserver sẻ hiển thị ở khay đồng hồ. Biểu tƣợng Wampserver: Màu đỏ: Wampserver chƣa hoạt động, Màu cam bị lỗi port (lỗi này có nhiều nguyên nhân nhƣng nguyên nhân chủ yếu là do lỗi xung đột port, mặc định Wampserver chạy port 80), Màu xanh: Wampserver đã chạy Để tiến hành sửa lỗi nhƣ ta làm nhƣ sau: Nếu ở bƣớc 3 không thay đổi thƣ mục cài đặt của Wampserver thì theo đƣờng dẫn sau: C:\wamp\bin\apache\Apache2.x\httpd.conf Mở file httpd.conf và chỉnh lại port : tìm kiếm với giá trị 80 đỗi thành 8080) Bƣớc 11: Restart lại Wampserver bằng cách kick chuột trái vào biểu tƣợng Wampserver ở khay đồng hồ chọn Restart All Services Sau khi Restart lại Wampserver nếu không lỗi gì thì Wampserver sẻ chuyển qua màu xanh nhƣ hình thì cài đặt thành công. 1.5. Xử lý dữ liệu với phpMyAdmin MySQL là hệ quản trị cơ sở dữ liệu rất tốt cho Web PHP và nó là miễn phí và đƣợc tích hợp trong gói đã cài đặt trƣớc: gồm PHP, cài đặt PHP, Apache, MYSQL và phpMyadmin. Bây giờ chúng ta sẽ tiến hành các thao tác tạo, thêm, xóa sửa cơ sở dữ liệu trên giao diện phpMyadmin. 1) Mở phpMyAdmin Mở trình duyệt web nào và gõ http://localhost:port/phpMyAdmin và đăng nhập. (port là cổng truy cập Webserver). 8
  16. 2) Tạo Database Bƣớc 1. Nhấn Home chọn Tab database Bƣớc 2. Trong mục Create database, khai báo. Đặt tên cho cơ sở dữ liệu Chọn utf8_general_ci (thể hiện đƣợc tiếng việt) Bƣớc 3. Nhấn Create để tạo cơ sở dữ liệu Ví dụ: Tạo database có tên là tintuc 1 3 2 Hình 1.10. Tạo cơ sở dữ liệu tintuc 3) Tạo Table Bƣớc 1. Chọn database muốn tạo bảng Bƣớc 2. Mục Name: khai báo tên table muốn tạo Bƣớc 3. Mục Number of columns: khai báo số cột trong table Bƣớc 4. Nhấn nút Go 2 3 1 4 Hình 1.11. Tạo bảng dữ liệu Bƣớc 5. Khai báo các các cột trong table Bƣớc 6. Nhấn nút Save 9
  17. 5 6 Hình 1.12. Tạo các trường dữ liệu cho bảng 4) Thêm dữ liệu vào Table Bƣớc 1. Chọn table Bƣớc 2. Nhấn link Insert Bƣớc 3. Nhập dữ liệu Bƣớc 4. Nhấn nút Go Ví dụ: Thêm 2 record vào table theloai nhƣ sau: TenTL ThuTu AnHien Tin xã hội 1 1 Giải trí 2 2 2 1 3 4 Hình 1.13. Nhập dữ liệu cho bảng 10
  18. 5) Xem dữ liệu trong Table Bƣớc 1. Chọn table muốn xem dữ liệu Bƣớc 2. Nhấn link Browse. Mỗi lần hiện 25 records Ví dụ: Xem dữ liệu trong table theloai. 2 1 Hình 1.14. Xem dữ liệu của bảng 6) Xóa/Sửa dữ liệu trong Table Bƣớc 1. Chọn table muốn xóa sửa (ví dụ theloai). Bƣớc 2. Nhấn link Browse. Bƣớc 3. Hiệu chỉnh/xóa. Sửa record: Nhấn nút Edit (chiếc bút chì) trên dòng chứa record. Xóa record : Nhấn nút Delete trên dòng chứa record. 2 1 3 Hình 1.15. Xoá và sửa dữ liệu của bảng 11
  19. 7) Sửa cấu trúc Table Bƣớc 1. Chọn table Bƣớc 2. Nhấn link Structure Bƣớc 3. Chỉnh field: Nhấn nút Change Xóa field : Nhấn nút Drop Thêm cột : Nhấn nút Go trong mục Add Hình 1.16. Sửa cấu trúc bảng 8) Đổi tên Table Bƣớc 1. Chọn table cần đổi tên Bƣớc 2. Nhấn link Operations Bƣớc 3. Rename table to: gõ tên mới Bƣớc 4. Nhấn nút Go Ví dụ: Đổi tên table theloai thành theloaitin 2 13 1 4 Hình 1.17. Đổi tên bảng dữ liệu 9) Xóa Table Bƣớc 1. Chọn cơ sở dữ liệu 12
nguon tai.lieu . vn