Tham khảo tài liệu ''lập trình web động với ph mysql phần mở đầu'', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
LẬP TRÌNH WEB ĐỘNG VỚI PHP / MySQL GUESTBOOK CATALOG FORUM SHOPPING CART PHẦN Tống Phước Khải (tổng hợp& biên dịch) Giới thiệu Chúng ta thực chuyến thần thoại, chuyến khám phá ngoại nội MySQL PHP cách thật tỉ mỉ Đây hành trình đầy thú vị bất ngờ Okie, có lẽ lạc quan phải không bạn Nếu bạn đồng quan điểm với phương diện đó, hành trình bạn có giúp đỡ gặp phải nhàm chán Hãy đối mặt thật nhé: Trò chơi lập trình ứng dụng lúc dễ nuốt đâu Trong thám hiểm chắn bạn phải có giây phút nản lòng, lúc gặp phải cố lỗi cú pháp đoạn mã không cho kết mong muốn Nhưng việc ra, nghó có lý thật đáng đến bạn đến với Lập trình Web chơi đầy hứa hẹn tương lai Bất kể bạn có kiến thức sở lập trình cho loại ngôn ngữ Visual Basic, Cobol, hay bạn biết HTML JavaScript, hôm bạn có hội để nắm bắt kinh nghiệm mẻ lập trình ứng dụng Web Tôi nghó kết hợp tốt PHP MySQL Số lượng người sử dụng ngôn ngữ gia tăng, PHP MySQL trở thành thông dụng, đòi hỏi lượng người biết công cụ lập trình tăng theo Một chút xíu nói rõ cho bạn biết lại phải sử dụng PHP MySQL Nhưng trước hết muốn bạn khảo sát qua kiến trúc sơ ứng dụng Web Vì bạn nắm bắt điều tiếp tục trình bày chi tiết PHP MySQL trung tâm môi trường phát triển ứng dụng Web Trước tiếp tục, nghó bạn đọc giới thiệu hiểu Chúng ta tiếp tục thôi! Kiến trúc Kiến trúc để trang Dynamic Web hoạt động phải làm việc mô hình client/server Nôm na thứ client hay server đảm đương chức riêng để hoàn thành công việc chung cho trang Web động Các bạn 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 hoá việc xử lý liệu Còn client, hiểu nôm na 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 (người Việt tạm đọc klai-ờn) Các ứng dụng mà bạn 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 Đối với ứng dụng phức tạp đòi hỏi multi-client cần tính bảo trì (chúng ta bàn tính sau), ứng dụng Java applet hữu dụng cho việc Chỉ trừ trường hợp bạn cần sử dụng ứng dụng thời gian thực ứng dụng chat chẳng hạn, bạn Java Applet cần thiết Ở không bàn tới lập ứng dụng cho chuyện tán gẫu mà tập trung vào ứng dụng duyệt Web nên không đụng chạm tới Java Applet Như bạn biết ngôn ngữ khởi thuỷ cho việc duyệt Web HTML HTML cung cấp hàng tá thẻ lệnh (Tag) cho phép thể trang Web theo nhiều kiểu cách khác Nếu bạn chưa có kiến thức sở HTML chạy mua sách download internet xuống học hướng dẫn Bạn không nên bỏ nhiều thời gian để học HTML Ngoài HTML trình duyệt Web cho phép add-in hỗ trợ nhiều thứ khác RealPlayer, Flash, Shockwave, hỗ trợ Javascript XML Nhưng tập trung cần thiết cho hội nhập bạn – HTML Server (người Việt tạm đọc sơ-vơ) 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, bạn cần phải có ngôn ngữ làm vai trò "chú bé 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 WEB SERVER (Apache, IIS) MIDDLE WARE (PHP, ASP, JSP) DATABASE SERVER (MySQL, SQLserver ) INTERNET WEB BROWSER (Internet Explorer, Netscape) Và dó 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 Hệ điều hành Có nhiều chủng loại HĐH Windows 98/XP Linux có lẽ phổ biến với tất người Có trường hợp bạn làm việc HĐH mà biết tới bạn có ấn tượng thích sử dụng mà Hãy gác qua ý tưởng bạn thật muốn đường thiết kế web Hãy trang bị cho kiến thức HĐH WinNT /2000 /2003 Unix Việc làm có ích chuyện bảo người nên học khoá AS/400 Bạn sử dụng loại thứ nói đây? Okie, câu hỏi rắc rối Câu trả lời tuỳ thuộc bạn "tín đồ" HĐH Nếu bạn chưa rõ ràng điều này, để nói cho bạn nghe "chiến tranh giáo phái HĐH" Nếu bạn chưa hiểu nói gì, kiến thức bản: PHP MySQL thuộc nhóm phần mềm ứng dụng có tên gọi open source (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ọ bạn chẳng hạn Phương pháp nguồn mở ban đầu vòng lẩn quẩn mà thôi, sau trở thành đầy tiềm lực có đời trở nên phổ biến nguồn mở Linux Hầu nguồn mở miễn phí, bạn download, cài đặt sử dụng chúng mà không cần phải đợi cho phép hay phải trả tiền cho Phương thức Microsoft, Oracle hay số công ty lập trình khác đáp ứng Nếu bạn tín đồ phái nguồn mở, chọn công cụ coi béo bở: NT/2000/2003 Nếu công ty bạn sử dụng sản phẩm Microsoft nhiều năm việc trở nên dễ dàng bạn muốn trì làm việc với môi trường Nếu bạn thành viên nhóm lập trình Visual Basic, có lẽ bạn gắn bó với NT/2000/2003 Ngay trường hợp này, trở lực ngăn cản bạn công việc phát triển với công cụ PHP MySQL Bạn thử nghiệm PHP/MySQL HĐH Windows 95, 98, XP Web Server Chức Web Server không phức tạp Nó chỗ, chạy HĐH, lắng nghe yêu cầu Web gởi đến, sau trả lời yêu cầu này, cấp phát trang Web thích ứng Thực tế không đơn giản vậy, nhiệm vụ Web Server phải cung cấp tính ổn định cho môi trường Web đòi hỏi phải đáp ứng cách nghiêm túc Có nhiều loại Web Server khác nhau, chủ yếu thị trường thường sử dụng Apache IIS (Internet Information Server Microsoft) INTERNET INFORMATION SERVER (IIS) gắn liền với môi trường Windows thành phần thiếu Active Server Pages (ASP) Nếu bạn chọn đường Microsoft có lẽ bạn hiểu rõ IIS Có tích hợp định ngôn ngữ lập trình Web Server Cũng vậy, PHP4 tích hợp tối IIS Trước đây, có số vấn đề cần phải bàn tính ổn định PHP/IIS với việc truyền tải lớn, PHP IIS cải thiện liên tục nên việc không đáng phải bận tâm APACHE kiểu mẫu Web Server phổ biến Giống Linux, PHP, MySQL dự án nguồn mở Không có ngạc nhiên người ta thấy Apache hỗ trợ tốt môi trường Unix, tốt Windows Apache tận dụng tính third-party Bởi nguồn mở nên có khả viết chương trình mở rộng tính Apache PHP hoạt động với tư cách phần mở rộng Apache, người ta gọi module Apache Apache có tính ổn định tốc độ đáng phải nói Tuy nhiên, có số phàn nàn không hỗ trợ công cụ đồ hoạ trực quan, điều giúp người ta làm việc cách dễ dàng Bạn phải thực thay đổi Apache cách sử dụng dòng lệnh, sử tập tin text folder chương trình Apache Nếu lần đầu đến với Apache bạn gặp chút lạ lẫm Mặc dù Apache làm việc tốt Unix, có phiên chạy tốt hệ Windows Không ai, kể nhà phát triển Apache đề nghị Viết lệnh PHP Bạn dùng chương trình soạn thảo văn đơn giản Notepad chẳng hạn Đặt tên cho tập tin php, tập tin lưu trữ thư mục gốc web local máy bạn (nên tham khảo CD cài Apache để rõ hơn) Cú pháp Điều thú vị PHP cho phép bạn xen kẽ lệnh HTML lệnh PHP Do đó, PHP xem script giống Javascript hay Vbscript Các lệnh PHP gói thẻ mở: Bây bạn thử chạy tập tin hi.php sau: mom Khi chạy bạn gõ vào: localhost/hi.php Kết cho "Hi, mom" Ta thấy chữ "Hi," nằm tag lệnh PHP chữ "mom" thuộc HTML Tuy nhiên, PHP làm nhiều điều khác nữa, giống ngôn ngữ lập trình khác, làm việc với loại biến, kiểu liệu, chứa nhiều hàm chức Hãy tìm hiểu ví dụ sau: Nếu bạn thấy khó hiểu không Chúng ta biết tường tận phần sau Trang kết hiển thị lời chào tuỳ thuộc vào giấc Tôi dùng hàm date PHP để lấy giấc Giá trị đem gán cho biến $var Kế đến chọn lựa sử dụng để đưa lời chào thích hợp Các bạn để ý chút, lệnh PHP kết thúc với dấu chấm phẩy (;) Trong phát biểu IF thấy dấu ngoặc nhọn { } chứa lệnh tuỳ thi hành tuỳ thuộc vào điều kiện Các điều kiện bao dấu ngoặc đơn ( ) Hàm date() lệnh echo hàng trăm hàm lệnh có PHP mà bạn học số cần thiết chúng chương sau Bây bạn tìm hiểu thêm số lệnh CSDL Lệnh PHP để kết nối Database (quan trọng) Bởi PHP MySQL máy bạn hai giới tách biệt Do đó, muốn dùng PHP để làm việc với CSDL bạn cần phải tạo sợi dây liên kết hai chiến hữu Vì có nhiều database MySQL, bạn cần phải bạn muốn sử dụng database MySQL Chúng ta thực sau: Dòng thực việc kết nối với Database Server nằm máy localhost, có username khai, password kkk Nếu kết nối thành công, thực bước kết nối với database nằm guestbook lệnh mysql_select_db() Các bạn nên lưu ý lệnh bạn sử dụng thường xuyên cho kết nối CSDL bạn, khuyên bạn nên lưu vào tập tin (dbconnect.php chẳng hạn), sau cần việc dùng lệnh include(‘dbconnect.php’); Nhập liệu vào Database Bởi database bạn chưa có user nào, hướng dẫn bạn viết lệnh để thực việc Nhưng trước tiên, bạn cần phải biết thêm chút biến PHP Ở phần trước bạn xem qua ví dụ có chứa biến, nhiên môi trường client/server, bạn cần phải làm việc với biến data từ client Bạn thường xuyên làm việc với form HTML (bạn tìm hiểu kỹ phần Phục lục A Chúng ta nên biết phần tử form có tên, bạn submit form tên phần tử trở thành biến script PHP form submit đến Với form sau, submit, biến $surname $submit tạo myscript.php Giá trị $surname mang giá trị mà user nhập vào Giá trị $submit chuỗi "submit" Tôi xin lưu ý với bạn lập trình Web không giống dạng lập trình khác chỗ không trạng thái tónh Để thể trang, Web Server phải trước hết nhận thỉnh cầu từ trình duyệt Giao thức sử dụng chúng HTTP, Hypertext Transfer Protocol Các yêu cầu bao gồm: trang web mà trình duyệt thấy, form data, loại trình duyệt sử dụng, địa IP mà trình duyệt sử dụng Dựa vào thông tin mà Web Server định phục vụ Một server phục vụ yêu cầu trang web, trì kết nối với trình duyệt Thông thường, bạn cần biết cách thức để chuyển biến từ trang sang trang khác Bạn tìm thấy thao tác ứng dụng Ứng dụng giải vấn đề dựa theo cách thức: chuyển giao theo phẩn tử form ẩn, sử dụng cookies, sử dụng session Bây trở lại script sau: Bạn định cho hiển thị site dựa vào biến thông tin từ form HTML Thông thường, bạn kiểm tra form submit hay chưa cách kiểm tra biến $submit có chứa giá trị "submit" hay không Hãy bắt tay vào công việc Trang ứng dụng gọi sign.php có chứa form HTML Action create_entry.php Sau chi tiết dòng lệnh: Sign my Guest Book!!! Name: Location: Email: Home Page URL: Comments: Khi bạn điền đầy đủ thông tin form, thông tin chuyển đổi tới create_entry.php Chuyện phải làm trang kiểm tra xem form submit chưa Nếu rồi, nhận lấy giá trị nhập vào form sử dụng chúng để tạo query đồng thời gởi đến MySQL Bạn đừng lo lắng lệnh SQL, điều trước tiên cần biết thực việc chèn liệu vào table guestbook Tập tin create_entry.php sau: Thanks!! View My Guest Book!!! Trong lần create_entry.php gọi, form sign.php hiển thị Kế tiếp, liệu cập nhật vào CSDL Hình sau minh hoạ form hiển thị: sign.php create_entry.php Hiển thị liệu Database lên hình Bây liệu ghi vào CSDL guestbook Bạn cần thực việc xem liệu Nên nhớ lại phải sử dụng dbconnect.php nói với bạn trước Bạn cần phải cho hiển thị tất record table thông tin khách viếng thăm nhập vào Chúng ta thực script sau đặt tên view.php: View My Guest Book!! Sign My Guest Book!! Như thấy query MySQL truy cập tất hàng database Script thực việc cách sử dụng vòng lập thông qua biến $row Trong vòng lặp field record hiển thị Vd: print $row["email"] ghi hình record truy cập Khi chạy chương trình, tất field record hiển thị: view.php Chương trình upload lên internet chưa? Bây ứng dụng bạn hoàn tất Nếu bạn muốn upload web vừa tạo lên Server để thử nghiệm Nhưng muốn để trở thành site guestbook nghóa chưa đâu! Bạn cần phải làm nhiều thứ để liệu bạn không bị hacker quấy phá… (Còn tiếp) Lưu ý: Bạn tìm thấy CD thiết kế web PHP cửa hàng CD (Tôn Thất Tùng, tp.HCM chẳng hạn) Trên CD có trình cài đặt Apache, PHP, MySQL thông dụng FOX Ngoài có Website PHP mẫu CÁC LỆNH Ở BÀI HỌC TRÊN TỐT NHẤT BẠN NÊN GÕ LẠI, KHÔNG NÊN COPY! tongphuockhai@mail15.com - Kiến thức kho báu riêng Vì bạn đừng ngần ngại chia sẻ cho người ... lên ph? ??n mềm Linux, Apache, PHP tất miễn ph? ? Free! Nói MySQL Mặc dù MySQL ph? ?? biến nhiều có đối thủ đáng gờm cạnh tranh với Những đối thủ trội ph? ?ơng diện đặc thù Trong ph? ??n trên, bàn sơ qua MySQL. .. dụng PHP MySQL Tại có nhiều chọn lựa mà lại ph? ??i lấy cặp trùng PHP /MySQL mà thôi? Tôi giải thích điều naỳ ph? ??n sau Nói PHP Các ngôn ngữ lập trình xem giống loại giày dép Có loại bắt mắt với số... nguồn mở nên có khả viết chương trình mở rộng tính Apache PHP hoạt động với tư cách ph? ??n mở rộng Apache, người ta gọi module Apache Apache có tính ổn định tốc độ đáng ph? ??i nói Tuy nhiên, có số ph? ?n