Sau khi hoàn thành chương này, chúng ta sẽ có thể: Trình bày được kiến trúc cơ bản client/server, cài đặt, cấu hình được web server và PHP, phân tích được các ưu điểm của PHP so với HTML, viết được một trang PHP đơn giản và chạy trên trình duyệt.
CHƯƠNG Tổng quan PHP MYSQL Các chủ đề Mục tiêu Câu hỏi kiểm tra mở đầu 1.Giới thiệu 2.Kiến trúc client/server Client Server 3.Công cụ cần thiết 3.1 Download PHP/Apache/MySQL 3.2 Cài đặt cấu hình 3.3 Một số công cụ thông dụng thay 14 4.Lập trình mơi trường Web 19 Tại sử dụng PHP? 19 Những thiếu sót HTML 19 Điều xảy với trang HTML? 20 Điều xảy với trang PHP? 20 Vậy mà PHP làm HTML khơng thể? 21 Viết trang PHP đơn giản 22 5.Tổng kết 23 Câu hỏi trắc nghiệm kết chương 24 Mục tiêu Sau hoàn thành chương này, có thể: Trình bày kiến trúc client/server Cài đặt, cấu hình web server PHP Phân tích ưu điểm PHP so với HTML Viết trang PHP đơn giản chạy trình duyệt Câu hỏi kiểm tra mở đầu Trả lời câu hỏi sau: Muốn hiển thị trang web tĩnh cần có? a Trình soạn thảo web b Trình duyệt web c Web server d Web server trình duyệt web Về chất trang VBScript, JavaScript trang web? a Động b Động phía client c Động phía Server d Tĩnh Để chạy trang web động cần có? a Trình soạn thảo web b Trình duyệt web c Web server d Web server trình duyệt web 4 Trang Web gồm HTML + JavaScript trang web? a Động b Tĩnh c Động phía client d Động phía server Ngơn ngữ để viết web là? a ASP b JavaScript c HTML d PHP Giới thiệu PHP (PHP Hypertext Preprocessor) ngơn ngữ kịch nhúng phía server Điều có nghĩa làm việc bên tài liệu HTML để trao cho khả tạo nội dung theo yêu cầu Chúng ta chuyển đổi site vào ứng dụng web, không tập trang web tĩnh với thơng tin mà khơng cập nhật thơng tin thường xun Nó tạm coi tốt web site “cá nhân” không tốt cho số trường hợp khác chẳng hạn web site kinh doanh giáo dục Chúng ta hỏi “Nhưng, lại PHP?” Có nhiều lựa chọn khác giống ASP, Cold Fusion, Perl, Java câu trả lời là: Tính đơn giản, sử dụng hầu hết sở liệu độc lập tảng PHP thiết kế để làm việc web phạm vi đó, trội số ngơn ngữ khác: Kết nối truy vấn sở liệu nhiệm vụ đơn giản mà thực thi dòng mã Máy kịch PHP tối ưu hóa cho lần phản hồi cần thiết ứng dụng web, chí phần máy web server thông qua việc cải thiện Và nói mã nguồn mở? Việc có nghĩa người dùng xem mã nguồn ứng dụng sử dụng PHP MySQL Chúng tận dụng mơ hình phát triển dựa vào nguồn mở, cho phép người cảm thấy thích góp phần vào việc phát triển dự án Trong trường hợp PHP, lập trình viên toàn giới tham gia vào việc phát triển ngôn ngữ không trông chờ khoản lợi nhuận Phần lớn người tham gia công việc có niềm đam mê việc tạo sản phẩm phần mềm tốt, họ cảm thấy thích thú thấy người khác sử dụng công cụ họ chẳng hạn 2 Kiến trúc client/server Kiến trúc để trang Web động hoạt động phải làm việc mơ hình client/server Nghĩa thứ client hay server đảm đương chức riêng để hồn thành cơng việc chung cho trang Web động Chúng ta có lẽ quen thuộc với chương trình WinWord để soạn văn bản, hoạt động độc lập máy tính chẳng cần quan tâm tới client server Ứng dụng Web khác hẳn, phải có mơ hình server máy tính làm server thơi, nhằm tập trung hố việc xử lý liệu Còn client, hiểu máy tính người sử dụng phải nối mạng với server, giả sử máy truy cập vào Website chẳng hạn, có nghĩa họ truy cập vào server, sau lấy liệu từ server thể lên máy Cùng lúc có hàng trăm người (client) truy cập vào Website xử lý tập trung server, tương tự đám trẻ xúm giành phần từ bánh Client Các ứng dụng mà phát triển MySQL PHP sử dụng tính single client trình duyệt Web Tuy nhiên, ngôn ngữ để phát triển ứng dụng Web Như biết ngôn ngữ ban đầu cho việc duyệt Web HTML HTML cung cấp nhiều thẻ lệnh (Tag) cho phép thể trang Web theo nhiều kiểu cách khác Ngồi HTML trình duyệt Web cịn cho phép add-in hỗ trợ nhiều thứ khác RealPlayer, Flash, Shockwave, hỗ trợ Javascript XML Server Hầu hết ứng dựng Web hoạt động tập trung Server Một ứng dụng đặc trưng gọi Web Server đảm trách việc giao tiếp với trình duyệt Một Cơ sở liệu (CSDL) Server lưu trữ tất thông tin đáp ứng yêu cầu cho công việc ứng dụng Web Kế tiếp, cần phải có ngơn ngữ làm vai trò "liên lạc" Web Server CSDL server Ngôn ngữ thực công việc xử lý thông tin đến từ Web Server Và tất nhiên thứ chẳng hoạt động không chạy Hệ Điều Hành (HĐH) Các thứ Web Server, Ngôn ngữ lập trình, CSDL phải hoạt động tốt HĐH 3 Cơng cụ cần thiết Để hồn thành tốt khóa học này, cần phải có Web server (Apache IIS) Một trình biên dịch PHP Hệ quản tri CSDL MySQL 3.1 Download PHP/Apache/MySQL Apache Apache WEB Server miễn phí phát triển theo chuẩn mã nguồn mở Apache chạy hai mơi trường Linux Windows Có thể download phiên Apache địa chỉ: http://www.apache.org Các phiên 1.x 2.x (mới nhất) khác kiến trúc Chi tiết xin xem feature log Download phiên PHP PHP chạy hai mơi trường Linux Windows Có thể download phiên PHP địa chỉ: http://www.php.net Các phiên 4x 5.x (mới nhất) khác kiến trúc Chi tiết xin xem feature log Download phiên MySQL Download phiên 3.2 Cài đặt cấu hình Cài đặt PHP Cài đặt PHP Windows sử dụng php-4.0.6Win32.zip, sau cài đặt ứng dụng đĩa cứng xuất thư mục PHP, thự mục có tập tin php4ts.dll php.exe với thư mục sessiondata Ngoài ra, thư mục WINDOW WINNT xuất tập tin php.ini, tập tin cho phép cấu hình cho ứng dụng PHP Chẳng hạn, sử dụng session, PHP cần nơi để lưu trữ chúng, tập tin mặc định session.save_path = C:\PHP\sessiondata, cài đặt PHP với thư mục PHP đĩa D cần thay đổi đường dẫn khai báo Tương tự vậy, có lỗi trang PHP lỗi thường xuất triệu gọi chúng, để che dấu lỗi cần khai báo display_errors = Off thay chúng trạng thái display_errors = On Ngồi ra, trang PHP trình bày số warning chúng phát cú pháp không hợp lý, để che dấu warning cần khai báo trạng thái Off thay On assert.warning = Off Cài đặt Apache Để cài đặt Apache Windows chương trình cài đặt tự động, cần download chương trình từ website Apache Thơng thường chương trình dạng khơng hỗ trợ giao thức https Q trình cài đặt tự động chép tất file cần thiết vào thư mục định Có thể sử dụng chương trình quản lý mức dịch vụ để start, stop, restart, reload Apache khởi động tay Để cài đặt Apache Web Server, làm theo bước sau: Chép tập tin apache_1.3.22-win32-x86.exe xuống đĩa cứng Chạy tập tin cài lên đĩa C:\Program Files\ Cài đặt MySQL Giáo trình hướng dẫn cài đặt cấu hình mysql 4.0 window Trước tiên cần download chép tập tin mysql4.0.0a-alpha-win.zip vào đĩa cứng Chạy tập tin Setup.exe, chọn đĩa C hay D Sau cài đặt thành công, kiểm tra Windows Services xuất dịch vụ mySQL hay không? Để sử dụng MySQL trạng thái dịch vụ phải chế độ Started Lưu ý rằng, trường hợp MySQL chạy được, dịch vụ MySQL chưa Started , để chạy MySQL cần số thay đổi tập tin my.ini thư mục WINNT #This File was made using the WinMySQLAdmin 1.3 #Tool #9/11/2003 10:50:13 AM #Uncomment or Add only the keys that you know how works #Read the MySQL Manual for instructions [mysqld-nt] basedir=C:/mysql #bind-address=127.0.0.1 datadir=C:/mysql/data #language=C:/mysql/share/your language directory #slow query log#= #tmpdir#= #port=3306 #set-variable=key_buffer=16M [WinMySQLadmin] Server=C:/mysql/bin/mysqld-nt.exe user=root password= QueryInterval=10 Cấu hình IIS Sau cài đặt hệ điều hành Windows NT hay 2000 trở sau, cách khai báo web site hay virtual site site có theo bước sau: Tạo thư mục có tên myPHP đề lưu trữ tập tin PHP Khởi động IIS (tự động khởi động Windows NT/2000) Chọn Start | Programs | Administrative Tools | Internet Information Server Nếu tạo virtual site chọn Default Web Ste | RClick | New | Virtual Site Trong trường hợp tạo Site Default Web Ste | RClick | New | Site Nếu chọn trường hợp cung tấp diễn giải site hình sau: Chọn Next, chọn thư mục ứng dụng, trường hợp chọn vào thư mục myPHP, chẳng hạn trường hợp chọn htư mục myPHP hình sau Kế đến chọn quyền truy cập web site, trường hợp thiết kế chọn vào Browse Ngoài ra, cho phép người sử dụng internet thực thi tập tin thực thi từ xa chọn vào tuỳ chọn execute 9 Chọn Next Finish, cửa sổ IIS xuất ứng dụng có tên myPHP (khai báo phần diễn giải) hình sau 10 Sau tạo ứng dụng xong, chọn tên ứng dụng myPHP | R-Click | Properties | cửa sổ xuất hình sau 11 Bằng cách chọn vào nút Configuration, cửa sổ xuất sau 12 Chọn nút Add, khai báo hình sau 13 Để kiểm tra ứng dụng, mở cửa sổ trình duyệt gõ địa chuỗi sau: http://localhost/myPHP, kết xuất hình sau Cấu hình Apache Web Server Sau kết thúc thành công phần cài đặt Apache, bắt đầu cấu hình ứng dụng PHP Chép ba dòng lệnh từ tập tin install.txt thư mục C:\PHP ScriptAlias /php/ "c:/php/" AddType application/x-httpd-php php Action application/x-httpd-php "/php/php.exe" Paste vào tập tin httpd.conf thư mục C:\Program Files\Apache Group\Apache\Conf\ Chon Start | Programs | Apache HTTP Server | Control Apache Server | Start Viết trang test.php với nội dung Chép tập tin test.php vào thư mục C:\Program Files\Apache Group\Apache\htdocs\ Sau gõ trình duyệt http://localhost/test.php Lưu ý: IIS Apache webserver vậy, sử dụng hai webserver máy tính 3.3 Một số công cụ thông dụng thay Một khó khăn ban đầu người thiết kế Web nói chung cài đặt Web Server Đa phần cảm thấy chật vật việc cài đặt Apache (Web Server) + MySQL (Database Server) + PHP cấu hình cho chúng làm việc tốt với Tuy nhiên có giải pháp đơn giản tiện lợi, sử dụng gói cài đặt tích hợp gồm Apache + MySQL + PHP + PHPMyAdmin (một công cụ quản trị CSDL) Mọi việc cần làm download cài đặt tiến hành cài đặt bước theo dẫn Chúng ta có sản phẩm tiếng XAMP WAMP Tuy nhiên với mục đích cài đặt localhost để chạy thử WAMP lựa chọn dễ dàng Tiếp theo tìm hiểu cơng cụ hữu ích việc tạo lập quản lý sở liệu Navicat WAMP gì? WAMP: Một gói phần mềm Web Server tất (All-inOne) gồm: Apache, MySQL, PHP chạy Windows Giao diện quản trị Webserver WAMP (Windows + Apache + MySQL + PHP) Các đặc điểm trội WAMP Có thể cài đặt WAMP dễ dàng WAMP cập nhật đặn Cho phép lựa chọn phiên PHP, MySQL khác Rất tốt cho việc tạo máy chủ Web để chạy thử, thiết kế Website PHP Hỗ trợ tốt cho Joomla 1.5, Joomla 1.0 Hỗ trợ phiên PHP5 Tương thích Windows XP / Windows Vista / Windows Hoàn toàn miễn phí Download cài đặt WAMP Download WAMP địa http://www.wampserver.com/en/download.php Các bước cài đặt WAMP Nếu trước cài đặt WAMP 5.1.x tốt gỡ sau cài WAMP Server 2.0 Nhấn [Next] thực bước Nếu máy có cài trình duyệt Firefox muốn chọn Firefox làm trình duyệt mặc định mở http://localhost nhấn [Yes] Điền thơng số để gửi/nhận mail thông qua SMTP server Nếu để mặc định nhấn [Next] Nhấn nút [Finish] để hồn tất q trình cài đặt Hồn tất việc cài đặt chạy thử Sau cài đặt thành công, thấy biểu tượng WAMP góc đây: Để chạy thử, nhấn vào mục "localhost" mở trình duyệt gõ địa http://localhost (hoặc http://127.0.0.1) Để quản lý sở liệu (database) nhấn vào mục "phpMyAdmin" mở trình duyệt gõ vào địa http://localhost/phpMyAdmin Hoặc http://127.0.0.1/phpMyAdmin Các ý khác Thư mục đặt website theo mặc định "C:\wamp\www" Để truy cập từ máy tính khác nhấn vào mục "Put Online" Navicat gì? Chúng ta thường sử dụng phpmyadmin cho việc tương tác với MySQL, Navicat có chức tương tự phpmyadmin , nhiên cịn có nhiều tính mà phpmyadmin ko thể có Về mặt xử lý thao tác với sở liệu, thấy navicat giống với Access hay SQL Server Chúng ta download chương trình navicat for mysql địa chỉ: http://www.navicat.com/download/download.html Quá trình cài đặt giống phần mềm thơng dụng khác Chúng ta tìm hiểu việc sử dụng Navicat chương 4 Lập trình mơi trường Web Tại sử dụng PHP? Trong phần biết cách cài đặt PHP nào, có đáng giá hỏi lý cần PHP Chúng ta đặt với HTML, cố gắng tin tưởng phương pháp xây dựng trang web; chí cần "trang web động"? Chắc chắn đơn giản nhiều để làm chủ HTML để tìm hiểu cơng nghệ hồn tồn Những thiếu sót HTML Rất nhiều trang web chứa nội dung tĩnh, giấy tờ học tập viết Các trang web tài liệu gồm văn đơn giản, hình ảnh, siêu liên kết đến tài liệu khác Đối với loại trang web này, Chỉ cần cơng nghệ phía client đủ để đáp ứng HTML Cascading Style Sheets (CSS) cung cấp phương tiện để cấu trúc trình bày nội dung trang JavaScript phép hấp dẫn lên chút (nếu muốn) Ngày nhiều mạng Internet mạng intranet sử dụng cho ứng dụng, hầu hết kết hợp sở liệu Những trang web ứng dụng động, nội dung chúng thay đổi tùy theo liệu gọi hành động người dùng Đây nơi PHP xử lý.Bằng việc chạy chương trình PHP máy server, tạo ứng dụng mạnh mẽ tương tác với sở liệu nội dung cách động Sự khác biệt PHP trang trang HTML cách web server giải chúng Điều xảy với trang HTML? Khi yêu cầu cho trang đến từ trình duyệt, web server thực ba bước: Đọc yêu cầu từ trình duyệt Tìm trang server Gửi trang trở lại thơng qua mạng Internet (hoặc Intranet) tới trình duyệt Điều xảy với trang PHP? Trong phần này, sử dụng PHP để bổ sung thêm bước Thay đưa trang HTML tĩnh cho người dùng, muốn server có số hành động theo mã PHP chúng ta: PHP thực số định tạo trang phù hợp với tình hình yêu cầu Vì vậy, sử dụng PHP hành động server thực bước sau: Đọc yêu cầu từ trình duyệt Tìm trang server Thực lệnh cung cấp PHP để sửa đổi trang Gửi trang trở lại thông qua mạng Internet (hoặc Intranet) tới trình duyệt Vậy mà PHP làm HTML không thể? Sự khác quan trọng HTML biên dịch trình duyệt, khơng phải thực server Bằng việc viết mã mà thực thi web server, chúng đạt nhiều điều mong muốn Ví dụ, muốn viết mã cho trang để server đưa thông báo tin tức Thứ tư trang yêu cầu ngày thứ tư, sau hiển thị tin tức thứ năm ngày thứ Năm Ví dụ khác, muốn viết trang để phát loại trình duyệt mà người dùng sử dụng, sau tối ưu hóa thơng tin u cầu cho trình duyệt Với PHP, hành động loại thực máy chủ web bước thứ ba mục 3.4 Sau số ví dụ mà PHP làm mà HTML khơng thể: Để dễ dàng sửa nội dung trang web, cách cập nhật nội dung sở liệu Tạo trang web tùy chỉnh để hiển thị thứ mà quan tâm đến người dùng cụ thể Hiển thị cập nhật sở liệu chứa trang web có khả thao tác liệu việc để xếp vào mục theo thứ tự xem tập hợp chúng Tạo trang xoay qua loạt hình ảnh khác Lấy phản hồi từ người dùng sau trả thông tin cho người sử dụng dựa phản hồi Danh sách phần nhỏ phần giao diện: PHP cho phép làm nhiều Viết trang PHP đơn giản Bây thấy lợi ích việc sử dụng PHP, bắt đầu tạo trang PHP Chúng ta viết trang PHP trình soạn tháo Dreamweaver, Edit plus, Zend studio Windows Nodepad Trong giới lập trình, dù có học ngơn ngữ nữa, “hello world” mà học Phần hướng dẫn làm để tạo file PHP làm để sử dụng PHP để in từ “hello world” hình việc thực bước sau: Mở chương trình soạn thảo Trên Windows, sử dụng chương trình có tên “Notepad” Trên Mac, sử dụng chương trình có tên “TextEdit” Bây đánh vài dòng mã giống sau: Bây đánh văn vào cửa số chúng ta, cần phải lưu file Phía hình click > Save As… chọn đường dẫn để lưu file Chúng ta cần đánh tên cho file PHP Tên file hello.php Mở trình duyệt đánh http://localhost/hello.php Tổng kết PHP ngôn ngữ để tạo trang web động phía server phổ biến Ngồi tính đơn giản, sử dụng hầu hết sở liệu độc lập tảng, PHP ngơn ngữ mã nguồn mở Điều có nghĩa dự án viết public để toàn cộng đồng người làm PHP giới sử dụng tham gia vào trình phát triển dự án để tốt Để chạy file PHP cần phải có web server (IIS Apache), trình biên dịch PHP hệ quản trị sở liệu MySQL (Chúng ta sử dụng web server WAMP để thay thế) Để viết đoạn mã PHP phải bắt đầu từ khóa Kết thúc câu lệnh PHP dấu chấm phẩy (;) Để hiển thị nội dung PHP ta dùng câu lệnh echo Câu hỏi trắc nghiệm kết chương Trả lời câu hỏi sau: PHP tên viết tắt của? a Personal Hypertext Processor b Private Home Page c Personal Home Page d PHP: Hypertext Preprocessor Làm để hiển thị dòng chữ “Hello world” PHP? a echo "Hello World"; b "Hello World"; c Document.Write("Hello World"); Cách xác để kết thúc câu lệnh PHP? a ; b c Newline d Cú pháp PHP giống với a VBScript b Perl and C c JavaScript Để chạy file PHP (Khơng kết nối csdl) cần phải có? a IIS + PHP Apache + PHP b Cả IIS Apache với PHP c Khơng cần ... ứng dụng PHP Chép ba dòng lệnh từ tập tin install.txt thư mục C: PHP ScriptAlias /php/ "c: /php/ " AddType application/x-httpd -php php Action application/x-httpd -php " /php/ php.exe" Paste vào tập... keys that you know how works #Read the MySQL Manual for instructions [mysqld-nt] basedir=C: /mysql #bind-address=127.0.0.1 datadir=C: /mysql/ data #language=C: /mysql/ share/your language directory #slow... phiên 3.2 Cài đặt cấu hình Cài đặt PHP Cài đặt PHP Windows sử dụng php- 4.0.6Win32.zip, sau cài đặt ứng dụng đĩa cứng xuất thư mục PHP, thự mục có tập tin php4 ts.dll php. exe với thư mục sessiondata