Bài giảng Lập trình mã nguồn mở: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định

165 13 0
Bài giảng Lập trình mã nguồn mở: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Lập trình mã nguồn mở: Phần 1 cung cấp cho người học những kiến thức như: Giới thiệu về mã nguồn mở; Giới thiệu về PHP; Giới thiệu về MySQL; Cài đặt cấu hình PHP, MySQL, Apache; Xử lý dữ liệu với phpMyAdmin; Cấu trúc của PHP; Các kiểu dữ liệu trong PHP; Khái niệm biến, hằng và chuỗi;...Mời các bạn cùng tham khảo!

LỜI NÓI ĐẦU Ngày việc sử dụng Internet dịch vụ Internet phần tất yếu sống Công nghệ Internet ứng dụng phát Web Internet làm cho đời sống thay đổi Internet nguồn thơng tin q giá phục vụ cho nghiên cứu, cho kinh doanh, cho giải trí … Vì ngày có nhiều ứng dụng Internet, sử dụng giao diện Web Các công nghệ phát triển Web ngày hoàn thiện Tập giảng giới thiệu công nghệ phổ biến đƣợc dùng để tạo web site động: Ngôn ngữ kịch PHP chƣơng trình quản lý sở liệu MySQL Đây công nghệ mạnh hiệu để khai triển khai dự án mã nguồn mở nhƣ sử dụng để việc khai thác, sử dụng phát triển đƣợc phần mềm mã nguồn viết PHP MySQL nhƣ: Joomla, Moodle, Wordpress, Drupal, NukeViet … Tập 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 giảng đƣợc chia làm chƣơng: Chƣơng 1: Tổng quan PHP MySQL Chƣơng 2: Lập trình với PHP Chƣơng 3: Sử dụng PHP với MySQL Trong q trình biên soạn chúng tơi xin chân thành cảm ơn đồng nghiệp khoa Công nghệ thông tin, đồng nghiệp trƣờng Đại học Sƣ phạm Kỹ thuật Nam Định giúp hoàn thành tập giảng Trong lần biên soạn đầu tiên, tập giảng không tránh khỏi sai sót, mong nhận đƣợc ý kiến đóng góp đồng nghiệp bạn đọc nhằm giúp cho chất lƣợng tập giảng đƣợc hoàn thiện Mọi đóng góp ý kiến xin gửi 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 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 MỤC LỤC LỜI NÓI ĐẦU i CHƢƠNG 1: TỔNG QUAN VỀ PHP VÀ MYSQL 1.1 Giới thiệu mã nguồn mở 1.1.1 Khái niệm phần mềm mã nguồn mở 1.1.2 Lợi ích mã nguồn mở ngƣời phát triển 1.1.3 Lợi ích mã nguồn mở ngƣời sử dụng 1.1.4 Một số phần mềm mã nguồn mở 1.2 Giới thiệu PHP 1.3 Giới thiệu MySQL 1.4 Cài đặt cấu hình PHP, MySQL, Apache 1.4.1 Cài đặt Appserv 1.4.2 Cài đặt Wampserver 1.5 Xử lý liệu với phpMyAdmin 1.6 Bài tập 15 CHƢƠNG 2: LẬP TRÌNH VỚI PHP 16 2.1 Cấu trúc PHP 16 2.1.1 Câu lệnh PHP 16 2.1.2 Chú thích PHP 19 2.1.3 In kết PHP 20 2.2 Các kiểu liệu PHP 22 2.2.1 Các kiểu liệu PHP 22 2.2.2 Kiểm tra kiểu liệu 22 2.2.3 Thay đổi kiểu 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, chuỗi 30 2.3.1 Biến PHP 30 2.3.2 Hằng 33 2.3.3 Chuỗi 35 2.4 Toán tử biểu thức 35 ii 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 phép toán .37 2.5 Mảng 38 2.5.1 Mảng 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 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 kết hợp chuỗi 51 2.6.5 Tìm kiếm thay chuỗi 53 2.6.6 Các hàm xử lý chuỗi hay sử dụng .58 2.7 Hàm sử dụng hàm 62 2.8 Sử dụng include Require .65 2.8.1 Sử dụng Include 66 2.8.2 Sử dụng Require 66 2.8.3 Sự khác Include Require 67 2.8.4 Sử dụng Require_once 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 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 lập trình hƣớng đối tƣợng 76 2.11.2 Lớp, thuộc tính, phƣơng thức đối tƣợng .77 2.11.4 Tính kế thừa .83 iii 2.11.5 Các mức truy cập private protected public 88 2.11.7 Cách sử dụng private, protected public 94 2.11.9 Tính đóng gói lập trình hƣớng đối 100 2.11.10 Hàm khởi tạo 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 phƣơng thức tĩnh 109 2.12 Truyền xử lý liệu PHP 113 2.12.1 Truyền xử lý liệu PHP 113 2.12.2 Truyền xử lý liệu qua URL 114 2.12.3 Truyền xử lý liệu qua Form 118 2.13 Các đối tƣợng 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 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 cú pháp MySQL 158 3.1.1 Các kiểu 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 MySQL kỹ thuật lƣu trữ 161 3.1.7 Lệnh cú pháp MySQL 163 3.1.8 Các hàm MySQL 181 3.2 Làm việc với MySQL PHP 183 3.2.1 Các hàm làm việc PHP MySQL 183 3.2.2 Kết nối MySQL Server 190 3.2.3 Các thao tác với sở liệu 191 3.2.4 Truy vấn sở liệu 197 3.3 Xây dựng số trang web kết hợp PHP 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 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 DANH MỤC CÁC HÌNH VẼ Hình 1.1 Cửa số Welcome cài AppServ Hình 1.2 Thơng tin giấy phép sử dụng phần mềm Hình 1.3 Chọn thƣ mục để cài đặt Hình 1.4 Chọn thành phần cần cài đặt Hình 1.5 Thơng tin ngƣời quản lý port truy cập webserver Hình 1.6 Nhập mật cho tài khoản root Hình 1.7 Quá trình cài đặt AppServ Hình 1.8 Trang chủ AppServ Hình 1.9 Đăng nhập vào phpMyAdmin Hình 1.10 Tạo sở liệu tintuc Hình 1.11 Tạo bảng liệu Hình 1.12 Tạo trƣờng liệu cho bảng 10 Hình 1.13 Nhập liệu cho bảng 10 Hình 1.14 Xem liệu bảng 11 Hình 1.15 Xố sửa liệu 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 liệu 12 Hình 1.18 Xố bảng liệu 13 Hình 1.19 Import liệu từ file sql 13 Hình 1.20 Export liệu từ file sql 14 Hình 1.21 Xố sở liệu 15 Hình 2.1 Quá trình thông dịch trang PHP 16 Hình 2.2 Kết thực trang hello.php 17 Hình 2.3 Kết thực trang script.php 18 Hình 2.4 Kết thực trang echo.php 22 Hình 2.5 Kết triệu gọi trang arrayone.php 40 Hình 2.6 Kết thực arraytwo.php 42 Hình 2.7 Kết thực trang mang.php 43 Hình 2.8 Kết quản thực 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 sử dụng hàm tách chuỗi 52 Hình 2.12 Kết sử dụng hàm kết hợp chuỗi 53 Hình 2.13 Kết sử dụng hàm thay chuỗi 54 Hình 2.14 Hoạt động Include 66 vi Hình 2.15 Trừu tƣợng hố liệu 81 Hình 2.16 Các đối tƣợng trong giới thực 82 Hình 2.17 Kết chạy file movie1.php 116 Hình 2.18 Lấy liệu truyền theo url 116 Hình 2.19 Lấy liệu $_request .117 Hình 2.20 Kết thực .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ị session .122 Hình 2.24 Lỗi phát sinh truy cập session chƣa tồn 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 ghi .192 Hình 3.2 Thực thi trang cập nhật liệu 195 Hình 3.3 Thực thi xoá ghi 197 Hình 3.4 Liệt kê 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 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 bình chọn .232 Hình 3.14 Giao diện trang Upload file .234 vii CHƢƠNG 1: TỔNG QUAN VỀ PHP VÀ MYSQL 1.1 Giới thiệu 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 free software đƣợc dùng với ý nghĩa bao gồm open source software free software Phần mềm nguồn mở (PMNM) phần mềm đƣợc cung cấp dƣới dạng mã nguồn, khơng miễn phí giá mua mà chủ yếu miễn phí 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 số nguyên tắc định 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 phần mềm nguồn đóng (tức 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ả số chi phí dịch vụ bảo hành, huấn luyện, nâng cấp, tƣ vấn, vv… tức dịch vụ thực thực để phục vụ ngƣời dùng, nhƣng không đƣợc bán sản phẩm nguồn mở tài sản trí tuệ chung, tài sản riêng nhà cung cấp Tiện ích mà Open Source mang lại quyền tự sử dụng chƣơng trình cho mục đích, quyền tự để nghiên cứu cấu trúc 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ự phân phối lại phiên cho nhiều ngƣời, quyền tự cải tiến chƣơng trình phát hành cải tiến mục đích cơng cộng 1.1.2 Lợi ích mã nguồn mở ngƣời phát triển Đối với lập trình viên ngƣời sản xuất phần mềm, tự đáng kể thay đổi qui định chơi Nó làm cho dễ dàng để tiếp tục cạnh tranh nhỏ để có đƣợc cơng nghệ đại Nó cho phép tận dụng đƣợc ƣu công việc ngƣời khác, cạnh tranh với sản phẩm khác việc sửa đổi mã nguồn riêng mình, dù đối thủ cạnh tranh chụp đƣợc sau tận dụng đƣợc ƣu mã nguồn (nếu copyleft) Nếu dự án đƣợc quản lý tốt, có khả có đƣợc hợp tác tự số lƣợng ngƣời lớn, nữa, để có đƣợc truy cập tới hệ thống phân phối gần nhƣ hoàn toàn tự tồn cầu Dẫu rằng, vấn đề cịn lại làm để có đƣợc tài ngun tài chính, phần mềm khơng phải sản phẩm để bán tiền hoa hồng 1.1.3 Lợi ích mã nguồn mở ngƣời sử dụng Lợi ích lớn việc chuyển đổi sang phần mềm tự nguồn mở giảm tổng chi phí sở hữu, từ yếu tố sau: - Miễn phí quyền phần mềm - Miễn phí phiên nâng cấp tồn 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 phần cứng, thiết bị đảm bảo hiệu toàn hệ thống - Chi phí đầu tƣ, vận hành hệ thống tập trung cho 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 năm Giảm tối đa phụ thuộc vào vài nhà cung cấp phần mềm dẫn đến dịch vụ (do khơng có cạnh tranh), “bị ép” trƣờng hợp cần đàm phán chi phí, dịch vụ (mỗi FLOSS 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 tay, dễ dàng nâng cấp, mở rộng hệ thống theo yêu cầu giai đoạn phát triển) Đối với hệ thống hoạt động, chủ động thực chuyển đổi tránh đƣợc “nguy cơ” bị phạt vi phạm quyền và/hoặc bị “bắt buộc” mua license Tăng tính thƣơng hiệu cho doanh nghiệp giới thiệu đƣợc với cộng đồng, đối tác, khách hàng (đặc biệt ngồi nƣớc) khơng vi phạm 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 Gartner & nhiều tổ chức phân tích độc lập) tồ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í tƣơng thích với định dạng tài liệu Microsoft Office UniKey: Công cụ hỗ trợ gõ tiếng Việt mơi trƣờng Windows, miễn phí hiệu Hỗ trợ nhiều bảng mã tiếng Việt nhiều kiểu gõ tiếng Việt khác Tích hợp cơng cụ chuyển đổi bảng mã tiếng Việt với Mozilla Firefox: Trình duyệt web mã nguồn mở phổ biến tốt Hệ điều hành Linux dành cho máy bàn (PC) 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 PHP PHP viết tắt chữ Personal Home Page đời năm 1994 phát minh Rasmus Lerdorf, tiếp tục đƣợc phát triển nhiều cá nhân tập thể khác, Yêu cầu thiết kế: STT Đối tƣợng Yêu cầu Ghi - Đặt tên Form Form - Thiêt lập phƣơng thức cho Form POST - Thiết lập action Form tên trang Điều khiển - Sử dụng điều khiển TextField, Button - TextField số tiền tốn khơng cho phép nhập liệu chỉnh sửa - Giá trị mặc định đơn giá 2000 Yêu cầu chức năng: STT Đối tƣợng Nút Yêu cầu xử lí chức lệnh Khi chọn thực lệnh tính: “Tính” 16 Ghi Số tiền tốn = (Chỉ số – Chỉ số cũ)*Đơn giá Viết trang PHP hiển thị kết học tập Thiết kế Form kết học tập nhƣ sau: Yêu cầu thiết kế: STT Đối tƣờng Form Yêu cầu - Đặt tên Form 143 Ghi - Thiêt lập phƣơng thức cho Form POST - Thiết lập action Form tên trang Điều khiển - Sử dụng điều khiển TextField, Button - Các TextField Điểm trung bình, Kết quả, Xếp loại học lực không cho phép nhập liệu chỉnh sửa Yêu cầu chức năng: STT Đối tƣợng Nút “Xem Yêu cầu xử lí chức Ghi lệnh Khi chọn thực lệnh xem kết quả: kết ĐTB = (HK1+HK2*2)/3 Xét kết quả: quả” - Đƣợc lên lớp: ĐTB>=5 - Ở lại lớp: ĐTB=8 - Khá: 6.5

Ngày đăng: 08/06/2021, 14:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan