Giáo trình Nhập môn Lập trình Web - ThS. Trần Văn Hùng (ĐH Công nghệ Sài Gòn)

Tài liệu Hướng dẫn nhập môn lập trình web với php & mysql (2020) tổng hợp lý thuyết và thực hành, phục vụ học tập ngành tại Việt Nam

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Tài liệu hướng dẫn

2020

258
3
0

Phí lưu trữ

55 Point

Tóm tắt

I. Giới thiệu về Lập trình Web với PHP MySQL

Lập trình web là một lĩnh vực quan trọng trong phát triển ứng dụng hiện đại. PHPMySQL là hai công nghệ nền tảng được sử dụng rộng rãi để xây dựng các ứng dụng web động. Hướng dẫn này được biên soạn dựa trên tài liệu học tập của ThS. Trần Văn Hùng, cung cấp kiến thức toàn diện từ cơ bản đến nâng cao. Lập trình web PHP & MySQL cho phép các nhà phát triển tạo ra các website tương tác, xử lý dữ liệu hiệu quả và đáp ứng các yêu cầu của người dùng. Mô hình client-server 3 lớp được sử dụng trong ứng dụng web động, bao gồm client (trình duyệt), application server (PHP), và database server (MySQL). Đây là nền tảng vững chắc cho bất kỳ người mới bắt đầu nào muốn học lập trình web chuyên nghiệp.

1.1. Mô hình Client Server trong Ứng dụng Web

Mô hình 3 lớp là kiến trúc chính trong ứng dụng web. Lớp đầu tiên là Client (máy tính người dùng với trình duyệt), lớp thứ hai là Application Server (xử lý logic ứng dụng bằng PHP), lớp thứ ba là Database Server (lưu trữ dữ liệu MySQL). Ưu điểm của mô hình này bao gồm hỗ trợ nhiều người dùng, giảm tải cho client, dễ bảo trì và nâng cấp hệ thống. Ứng dụng web động sử dụng cơ sở dữ liệu để lưu trữ và truy xuất thông tin theo yêu cầu của người dùng.

1.2. Vai trò của PHP và MySQL trong Phát triển Web

PHP là ngôn ngữ lập trình server-side mạnh mẽ, chuyên dụng cho lập trình web. MySQL là hệ quản trị cơ sở dữ liệu phổ biến, an toàn và hiệu quả. Kết hợp PHP & MySQL, các lập trình viên có thể xây dựng các ứng dụng web toàn chức năng với khả năng xử lý dữ liệu phức tạp. Bộ đôi này cung cấp linh hoạt cao, dễ học, chi phí thấp và được hỗ trợ rộng rãi bởi cộng đồng phát triển trên toàn thế giới.

II. Ngôn ngữ Lập trình PHP Từ Cơ bản đến Nâng cao

PHP là ngôn ngữ lập trình server-side được thiết kế đặc biệt cho lập trình web. Để bắt đầu với PHP, người học cần hiểu các khái niệm cơ bản như biến, hằng, kiểu dữ liệu và các phép toán. Trang PHP là một tập tin văn bản chứa mã PHP được đặt trong thẻ <?php ?>, có thể chứa HTML, CSS, JavaScript và mã PHP. Khi người dùng truy cập trang này, server sẽ thực thi mã PHP và gửi kết quả HTML về trình duyệt. Lập trình PHP cung cấp các lệnh quan trọng như echo, print để xuất dữ liệu, và include, require để tái sử dụng mã. Việc nắm vững ngôn ngữ PHP là bước đầu tiên để trở thành lập trình viên web chuyên nghiệp.

2.1. Cấu trúc và Đặc điểm của Trang PHP

Một trang PHP bao gồm mã PHP nằm giữa các thẻ <?php ?>. PHP cho phép trộn lẫn mã máy chủ với HTML, tạo ra nội dung động. Biến PHP được khai báo bằng ký hiệu $ và có thể lưu trữ các loại dữ liệu khác nhau. Lệnh echoprint dùng để hiển thị output. Hằng số trong PHP được định nghĩa bằng hàm define() và không thể thay đổi. Hiểu rõ cấu trúc trang PHP giúp lập trình viên viết mã hiệu quả và dễ bảo trì.

2.2. Xử lý Lỗi và Quản lý File trong PHP

Xử lý lỗi trong PHP là yếu tố quan trọng để phát triển ứng dụng ổn định. Lệnh includerequire cho phép nhập mã từ các file khác, với include_oncerequire_once đảm bảo file chỉ được nhập một lần. Xử lý exception trong PHP giúp bắt và xử lý lỗi một cách elegantly. Việc quản lý file và xử lý lỗi đúng cách là những kỹ năng thiết yếu trong lập trình web PHP.

III. Mảng và Xử lý Chuỗi trong PHP

Mảng trong PHP là cấu trúc dữ liệu mạnh mẽ cho phép lưu trữ nhiều giá trị trong một biến duy nhất. Mảng PHP có thể là mảng đơn chiều hoặc mảng đa chiều, tuỳ theo nhu cầu của ứng dụng. Thao tác trên mảng bao gồm thêm, xóa, sửa phần tử và duyệt qua các phần tử. PHP cung cấp nhiều hàm hữu ích để làm việc với mảng như count(), array_push(), array_merge(). Xử lý chuỗi cũng rất quan trọng, bao gồm tạo chuỗi, nối chuỗi, so sánh chuỗi, cắt chuỗi và sử dụng biểu thức chính quy. Biểu thức chính quy (Regular Expression) là công cụ mạnh mẽ để tìm kiếm, so sánh và thay thế mô hình trong chuỗi. Hiểu sâu về mảng và xử lý chuỗi giúp lập trình viên xử lý dữ liệu phức tạp một cách hiệu quả.

3.1. Các Loại Mảng và Thao tác Cơ bản

Mảng PHP có hai loại chính: mảng số và mảng kết hợp (associative array). Mảng đa chiều cho phép lưu trữ mảng bên trong mảng, rất hữu ích cho dữ liệu phức tạp. Các hàm mảng như count() để đếm phần tử, array_push() để thêm phần tử cuối cùng, array_merge() để gộp mảng. Vòng lặp foreach là cách tốt nhất để duyệt qua mảng PHP. Nắm vững các loại mảng và các hàm liên quan là nền tảng cho xử lý dữ liệu trong lập trình web.

3.2. Xử lý Chuỗi và Biểu thức Chính quy

Chuỗi PHP có thể được tạo bằng ba cách: dấu ngoặc kép, ngoặc đơn hoặc heredoc syntax. Nối chuỗi sử dụng toán tử ., so sánh chuỗi dùng == hoặc ===. Các hàm chuỗi như strlen(), substr(), strpos() giúp thao tác chuỗi. Biểu thức chính quy trong PHP được sử dụng qua các hàm preg_match(), preg_replace() để tìm kiếm và thay thế mô hình phức tạp trong chuỗi.

IV. Cơ sở Dữ liệu MySQL và Kết nối với PHP

MySQL là hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở, phổ biến và độ tin cậy cao. Để làm việc với MySQL trong PHP, cần thực hiện các bước theo trình tự: kết nối tới cơ sở dữ liệu, viết truy vấn SQL, thực thi truy vấn, xử lý kết quả và đóng kết nối. Lập trình hướng đối tượng (OOP) trong PHP cung cấp cách tiếp cận hiện đại với PDO (PHP Data Object), giúp làm việc với MySQL an toàn và linh hoạt hơn. PDO hỗ trợ nhiều loại cơ sở dữ liệu khác nhau, không chỉ MySQL. Việc sử dụng PDO giúp tránh lỗ hổng bảo mật như SQL injection và cung cấp giao diện thống nhất cho việc truy cập dữ liệu. Kết nối MySQL với PHP là yếu tố thiết yếu để xây dựng ứng dụng web động hoàn chỉnh và an toàn.

4.1. Các Bước Làm việc với MySQL trong PHP

Để thao tác MySQL trong PHP, trước tiên phải kết nối tới MySQL bằng cách cung cấp thông tin máy chủ, tên đăng nhập, mật khẩu. Tiếp theo viết truy vấn SQL phù hợp (SELECT, INSERT, UPDATE, DELETE). Sau đó thực thi truy vấnxử lý kết quả trả về. Cuối cùng đóng kết nối để giải phóng tài nguyên. Quy trình này được lặp lại cho mỗi tương tác với cơ sở dữ liệu.

4.2. Sử dụng PHP Data Object PDO cho Bảo mật

PDO (PHP Data Object) là một lớp trừu tượng của PHP để truy cập cơ sở dữ liệu. PDO cung cấp prepared statements ngăn chặn SQL injection. Lớp PDO định nghĩa các phương thức kết nối, lớp PDOStatement quản lý truy vấn đã chuẩn bị. Sử dụng PDO là cách tốt nhất để kết nối MySQL với PHP an toàn. Ưu điểm PDO bao gồm hỗ trợ nhiều cơ sở dữ liệu, bảo mật cao, và dễ sử dụng.

18/12/2025
2020 nhập môn lập trình web

Trích đoạn nội dung tài liệu

Chương 1: NGÔN NGỮ LẬP TRÌNH PHP 10 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Các mô hình lập trình ứng dụng client-server • Mô hình 2 lớp – Ưu điểm Dữ liệu tập trung: đảm bảo dữ liệu được nhất quán. Dữ liệu được chia sẻ cho nhiều người dùng. – Khuyết điểm Các xử lý tra cứu và cập nhật dữ liệu được thực hiện ở Database Server, việc nhận kết quả và hiển thị phải được thực hiện ở Client. Khó khăn trong vấn đề bảo trì và nâng cấp.

ƒ Khối lượng dữ liệu truyền trên mạng lớn chiếm dụng đường truyền, thêm gánh nặng cho Database Server. Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Các mô hình lập trình ứng dụng client-server • Mô hình 3 lớp – Thêm Server giữ nhiệm vụ tương tác giữa Client và Database server, giảm bớt các xử lý trên Database server, tập trung các xử lý nhận và hiển thị dữ liệu tại Application serve. – Ưu điểm • ƒ Hỗ trợ nhiều người dùng • ƒ Giảm bớt xửlý cho Client ->Không yêu cầu máy tính ở Client có cấu hình mạnh. • ƒ Xử lý nhậnvà hiển thị dữ liệu tập trung tại Application Server <-> dễ quản lý, bảo trì và nâng cấp.

• ƒ Xử lý truy cập dữ liệutập trung tại Database Server. – Khuyết điểm • ƒ Phải sửdụng thêm một Application Server ->Tăng chi phí Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mô hình ứng dụng web • Ứng dụng web – Dựa trên mô hình Client-Server 3 lớp. Đây là một hệ thống phức tạp, dựa trên nhiều yếu tố: phần cứng, phần mềm, giao thức, ngôn ngữ và thành phần giao diện. – Loại ứng dụng Internet cho phép cho phép các máy (Client) sử dụng trình duyệt Web (Internet Explorer, firefox.) để truy cập và xem thông tin được cung cấp bởi trình chủ Web (Web Server).

– Server : Một máy tính trung tâm lưu trữ trong ổ cứng ở thư mục mạng các tập tin làm việc. Server còn là phần mềm mà được cài đặt trên máy tính đó và cho phép xử lý truy vấn của các máy tính khác ở xa văn phòng, cũng như phản hồi các truy vấn đó. Sự tương tác này được thực hiện theo những qui tắc nhất định, các giao thức. – Máy chủ webserver là các máy chủ có cài các phần mềm web server : Phần mềm chuyên xử lý các thông tin về web của client.

Có nhiều phần mềm webserver: IIS, Apache. – Client là máy tính khởi xướng truy vấn cho Server. Đây là máy có cài các phần mềm yêu cầu xử lý từ server như trình duyệt Web. – Những ứng dụng web động: là các ứng dụng web có nội dung chứa trong các cơ sở dữ liệu và được truy xuất bởi webserver.

Tùy thuộc vào yêu cầu của client, server sẽ lấy dữ liệu phù hợp trả về cho client hiển thị lên trình duyệt web. Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Ứng dụng web và giao thức http Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Giao thức HTTP • Giao thức HTTP (Hypertext Transfer Protocol). Trình duyệt web liên lạc với webserver thông qua một giao thức riêng: giao thức HTTP. • HTTP được xác định qua URLs (Uniform Resource Locators), với cấu trúc chuỗi có định dạng như sau: http: // <host> [: <port>] [ <path> [? <query>]] • Ví dụ: 1.

http://localhost:8080/myweb/index.php?a=1&b=2 Host: localhost. Port: 8080, path: myweb/index.vn/pages/default.aspx Trang web default.aspx được lưu trữ trong thư mục /page tại Web Server với host là www. Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Các ngôn ngữ lập trình web • Có 2 nhóm ngôn ngữ lập trình web: Ngôn ngữ lập trình phía client và ngôn ngữ lập trình phía server. • Client side: – Code chạy trên trình duyệt web.

– Ngôn ngữ tiêu biểu: javascript, vbscript, actionScript. • Server side: là các ngôn ngữ mà mã được dịch và chạy trên máy chủ.net: • là môi trường lập trình của microsoft, sử dụng C#, VB. • Webserver: IIS – Java: Ngôn ngữ java,máy chủ web IIS, apache,… – Php: Ngôn ngữ mã nguồn mở, sử dụng webserver IIS, Apache,. Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Ứng dụng web với PHP • Giới thiệu: – Mã nguồn mở miễn phí đang được phát triển nhanh trong những năm gần đây.

– Php được chạy trên web sever IIS hoặc Apache. – Php có thể thao tác với mọi CSDL, nhưng thông thường đi với Mysql- một hệ quản trị CSDL miễn phí. – Code chạy nhanh, ổn định. – Php hỗ trợ rất nhiều hàm giúp lập trình web ngày càng thuận lợi hơn.

– Có nhiều framework, CMS mã nguồn mở và ngày càng được sử dụng nhiều. Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Ứng dụng web với PHP • Số liệu: Tham khảo http://w3techs.com/ Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cài đặt môi trường • Hệ thống: Windows, Apache, php, mysql, phpMyAdmin – Webserver: Apache: • Download miễn phí tại: http://httpd.cgi • Cài đặt: • Kiểm thử: http://localhost – Php: • Download miễn phí tại: http://php.php • Cài đặt: • Kiểm thử: – Mysql: hệ quản trị CSDL • Download miễn phí tại: http://dev.com/downloads/windows/ – PhpMyAdmin: Công cụ quản trị CSDL mysql • Download miễn phí tại: http://www.net/home_page/downloads.php • Cài đặt. Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cài đặt thay thế - Để dễ dàng cho nười sử dụng khi cài đặt hệ thống web php, thay vì phải cài đặt và cấu hình từng thành phần Apache + Php+Mysql và PhpMyadmin, ta có thể sử dụng một số phần mềm thay thế miễn phí khác. - Khi cài đặt một phần mềm này, tức là chúng ta đã cài đặt và cấu hình xong để chạy apache, php, mysql và phpmyadmin.

- Các phần mềm này tích hợp toàn bộ hệ thống web và tự cấu hình để chúng có thể chạy thông suốt. - Ta chỉ nên cài một trong những phần mềm kể trên (không nên cài đặt cùng lúc 2 phần mềm) Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cài đặt thay thế Wamp Appserv Apache Xampp Php Mysql EasyPhp PhpMyAd Vetrigo min …… Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cài đặt wamp server • Wamp (Windows Apache Mysql Php) server: là phần mềm miễn phí tích hợp các thành phần của môi trường web php. Cài đặt thành công wamp, ta đã cài đặt và cấu hình thành công apache, php, mysql và phpmyadmin. • Download miễn phí tại: http://www.com/en/ • Chú ý: Phiên bản hiện tại của wamp server (12/2014) là 2.49): – Phiên bản không thích hợp với windows XP (không dùng sp3), Windows Server 2003.

– Có 2 bản cho windows 32 và 64 bit. – Máy cài đặt cần cài: Visual C++ Redistributable for Visual Studio 2012. – Tải và cài đặt Visual C++ 2012 tại: http://www.com/en- us/download/details.aspx?id=30679 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cài đặt wamp server Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cài đặt wamp server • Cài đặt: mặc định tại c:\wamp – Click vào file vừa tải về: wampserver2.exe – Chọn Next,… – … – finish • Khởi động wamp. • Kết quả: – Mở trình duyệt web và chay thử :http://localhost – http://localhost/?phpinfo=1 để kiểm tra chi tiết các kết quả cài đặt Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cài đặt wamp server Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cấu hình wamp server • Kết quả thư mục cài đặt của wamp – C:\wamp\bin\apche: Chứa máy chủ apache – C:\wamp\bin\mysql: chứa hệ quản trị CSDL Mysql – C:\wamp\bin\php: Chứa trình dịch php – C:\wamp\apps\phpmyadmin4.14: Chứa công cụ quản trị csdl mysql thông dụng trên web là phpMyadmin.

– C:\wamp\www: Là thư mục chứa source code của các ứng dụng php, đường dẫn này được ánh xạ thông qua apache là http://localhost hay http://127.1 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cấu hình Wamp server • Sau khi cài đặt xong, có thể chạy được các ứng dụng php mà không cần cấu hình. Tuy nhiên, để chạy được các chức năng khác, và để thuận lợi hơn khi cài và chạy ứng dụng web, ta nên cấu hình lại các thành phần này. • Mỗi thành phần apache, php, mysql và phpmyadmin có các file cấu hình riêng và được lưu trong các thư mục tương ứng. Đây là các file text, có thể sử dụng notepad++, dreamweaver để mở và sửa dễ dàng.

• Vị trí các file cấu hình như sau – Apache: C:\wamp\bin\apache\apache2.conf – Php: C:\wamp\bin\apache\apache2.ini – Mysql: C:\wamp\bin\mysql\mysql5.ini – Phpmyadmin: C:\wamp\apps\phpmyadmin4.php Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cấu hình wamp sever • Ta cũng có thể mở và sửa nhanh các file cấu hình từ wamp manager • Sau khi sửa xong nên bấm vào: restart All Servises trên wamp manager để cập nhật và load cấu hình mới. Cấu hình apache Cấu hình php Cấu hình mysql Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cấu hình Server Apache • Cấu hình apache: config/httpd.conf – Dòng lệnh, chú thích? – Restart lại apache mỗi khi cần update sự thay đổi. – Ví dụ: Listen 80 LoadModule rewrite_module modules/mod_rewrite.so DocumentRoot <IfModule dir_module> DirectoryIndex index.htm </IfModule> AddType application/x-httpd-php .php Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cấu hình website • Một máy chủ có thể có nhiều website. Mỗi website có thể được cấu hình riêng dựa vào file.

• Cấu hình cho website, thư mục: ta đặt file văn bản có tên .htaccess trong thư mục đó.htaccess: chỉ có tác dụng nếu thuộc tính AllowOverride trong httpd.conf của apache là all • Mỗi thư mục có thể được config dựa vào file .htaccess • Thư mục chứa file .htaccess sẽ có cấu hình chung kết hợp của httpd.htaccess • Cấu trúc file .htaccess giống file httpf.conf • Cần thiết lập chế độ bảo vệ cho. • Ví dụ: RewriteRule ^gioi-thieu.php?p=gioithieu RewriteRule ^gio-hang.php?p=giohang RewriteRule ^tin-tuc/(.php?p=chitiettin&matin=$1 RewriteRule ^tin-tuc.php?p=tintuc&page=$1 RewriteRule ^tin-tuc.php?p=tintuc RewriteRule ^san-pham/(.php?p=sanpham&loai=$1&page=1&%{QUERY_STRING} [L] RewriteRule ^chi-tiet-san-pham/(.php?p=chitietsp&loai=$1&masp=$2 [L] ErrorDocument 404 /Doanweb/quanly/su-co.html Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cấu hình php • Mỗi máy chủ chạy php có một file văn bản để cấu hình cho trình dịch php. File có tên: php.ini, (vị trí C:\wamp\bin\apache\apache2.9\bin) • Nội dung: – Mỗi dòng trong file cấu hình này có thể là chú thích hoặc câu lệnh. – Dòng chú thích: bắt đầu bằng dấu chấm phẩy (;) – Dòng lệnh: không có dấu ; – Restart lại apache để load cấu hình mới • Ví dụ short_open_tag = On display_errors = On post_max_size = 2M file_uploads = On upload_tmp_dir = "c:/wamp/tmp " upload_max_filesize = 2M extension=php_mysql.dll extension=php_gd2.dll Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Cấu hình database mysql • Cấu hình Mysql – File cấu hình: my.ini (hoặc my.cnf trong hệ linux) trong thư mục cài đặt mysql – Dòng chú thích: bắt đầu bằng # – Dòng lệnh: – Restart lại mysql để load cấu hình mới – Ví dụ: datadir=c:/wamp/bin/mysql/mysql5.30/data skip-innodb • Cấu hình phpMyAdmin – File config.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ