1. Trang chủ
  2. » Công Nghệ Thông Tin

LẬP TRÌNH WEB ĐỘNG VỚI PHP and MySQL

54 4 0

Đ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

Kiến trúc căn bản nhất để trang Dynamic Web hoạt động được là nó phải làm việc trên mô hình client/server. Nôm na là mỗi thứ client hay server đều đảm đương một chức năng riêng để hoàn thành công việc chung đó là cho ra một 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, nó có thể hoạt động độc lập trên bất kỳ máy tính nào chẳng cần quan tâm tới cái gì là client hay cái gì là server. Ứng dụng Web thì khác hẳn, phải có...

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 Lap trinh Web dong voi PHP / MySQL Page 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 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 Lap trinh Web dong voi PHP / MySQL Page 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 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 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 Lap trinh Web dong voi PHP / MySQL Page 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 Lap trinh Web dong voi PHP / MySQL Page 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 Lap trinh Web dong voi PHP / MySQL Page độ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ị Apache nên chạy server Windows bận rộn Nếu bạn định chọn HĐH Windows cho server bạn nên sử dụng IIS Nếu bạn thử nghiệm ứng dụng Windows sau đem upload chạy Unix/Apache nhà cung cấp host không hấn gì, ứng dụng bạn chạy ngon lành Middleware PHP thuộc lớp ngôn ngữ lập trình gọi middleware Các ngôn ngữ hoạt động cận kề với Web Server để thông dịch yêu cầu từ World Wide Web, sau nhận trả lời từ Web Server chuyển tải đến trình duyệt Web nhằm đáp ứng yêu cầu Middleware nơi mà bạn thực khối lượng lớn công việc yếu bạn Với hỗ trợ Web Server bạn cán đáng nhiều khối lượng công việc Nhưng bạn phát triển ứng dụng bạn, bạn tốn nhiều thời gian viết mã chương trình chương trình bạn hoạt động Ngoài PHP có số ngôn ngữ khác có chức tương đương ASP, Perl, ColdFusion Hệ CSDL quan hệ Relational Database Management Systems (Hệ Quản trị Cơ Sở Dữ Liệu Quan hệ - RDBMSs) cung cấp phương thức tuyệt vời để lưu trữ truy xuất lượng thông tin lớn phức tạp Nó đời lâu Thực tế, có trước Web, Linux WindowsNT, ngạc nhiên có nhiều hệ CSDL để chọn lựa Tất CSDL đề dựa sở SQL (Structure Query Language) Lap trinh Web dong voi PHP / MySQL Page Một số hệ phổ biến Oracle, Sysbase, Informix, Ms SQL Server, IBM's DB2 Hệ nguồn mở thông dụng MySQL mà sách đề cập đến, có hai hệ nguồn mở khác PostgresSQL thời thay MySQL Interbase nguồn mở Borland giới thiệu vào tháng 8/1999 Tại sử 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ố người này, lại khó ưa với người khác ngược lại Một số người thích sử dụng hiệu giày quen thuộc ngôn ngữ lập trình tương tự Ở muốn ngụ ý với bạn lập trình Web, ngôn ngữ lập trình cho kết gần giống Câu hỏi ngôn ngữ tốt vấn đề khả thực số chức mà thường có làm cho bạn thực công việc cách nhanh chóng đỡ nhọc công hay không? Tốc độ nhanh, dễ sử dụng Chúng ta bàn tốc độ Có thứ mà chắn bàn việc so sánh tốc độ ngôn ngữ lập trình Web Thứ nhất, ứng dụng viết C chạy nhanh Thứ hai, công việc lập trình C phức tạp, ngốn nhiều thời gian Thứ ba, việc so sánh ngôn ngữ điều khó khăn Tất biết cảm thấy yên tâm nói PHP nhanh ngôn ngữ khác Trở lại ví dụ so sánh với loại giày dép: Vina, Đông Hải, Kiến Hoa, Hồng Thạnh, Italy v.v., chắn chắn bạn chọn loại tiện dụng nhất? Nếu bạn giống tôi, bạn cảm thấy PHP có đầy đủ đặc tính khả năng, cấu trúc dễ sử dụng Xin nói thêm, cách nhìn riêng tôi tin cú pháp PHP tuyệt ASP hay JSP Và theo việc gõ lệnh PHP nhanh ColdFusion không khó học Perl Tóm Lap trinh Web dong voi PHP / MySQL Page lại, cho PHP cung cấp tính mạnh mẽ để thực ứng dụng Web cách nhanh chóng Chạy nhiều hệ điều hành Như trình bày phần kiến trúc web, có nói PHP chạy WindowsNT/2000/2003 Unix với hỗ trợ IIS Apache Nhưng chạy số platform khác Netscape, Roxen, hay vài thứ khác Như biết ASP chạy Unix, ColdFusion chạy Solaris Linux, JSP chạy nhiều loại platform Đối với PHP, chạy tốt platform hỗ trợ chủng loại Truy cập loại CSDL Ứng dụng bạn dự định truy cập loại liệu dịch vụ nào? LDAP, IMAP mail server, DB2, hay XML parser hay WDDX Bất kể bạn cần đến thứ PHP sẵn sàng hỗ trợ thông qua hàm xây dựng sẵn làm công việc bạn trở nên dễ dàng tiện lợi Nhưng có số thứ chưa xây dựng sẵn sao? Ta tiếp tục sang phần sau rõ Luôn cải tiến & cập nhật Nếu bạn cảm thấy bỡ ngỡ việc phát triển nguồn mở, bạn có lẽ ngạc nhiên chất lượng loại phần mềm Có hàng ngàn chuyên gia lập trình xuất sắc đợi sẵn họ sẵn sàng bỏ thời gian để tạo phần mềm tuyệt vời miễn phí Đối với ngôn ngữ thịnh hành PHP nhiều nhà lập trình thực phát triển ngày Sự thật có việc ấn tượng bạn có cố kỹ thuật, bạn gởi email đến nhà phát triển PHP chi tiết cố Chỉ vòng vài bạn nhận trả lời thoả đáng Khi PHP4 phổ biến, trở thành tượng ngôn ngữ lập trình Nó giúp cho việc bổ sung số lượng lớn hàm chức cách dễ dàng Nếu ngôn ngữ có sẵn nhiều hàm đặc thù cho công việc bạn đỡ tốn công cho việc lập trình Lap trinh Web dong voi PHP / MySQL Page Được hướng dẫn kỹ thuật lúc Hầu hết ngôn ngữ hỗ trợ active mailing list (hiểu nôm na danh sách mail thành viên trực chiến hỗ trợ kỹ thuật) development site (trang web hỗ trợ giải kỹ thuật) PHP không ngoại lệ Nếu bạn gặp phải cố - gặp lỗi chương trình không tìm cách khắc phục - có hàng trăm người có tên danh sách mail sẵn lòng kiểm tra khắc phục cố cho bạn Bộ nguồn mở PHP thật tạo tình cảm cộng đồng Khi bạn gặp phải khó khăn lúc có đồng môn chia sẻ nỗi lòng giúp bạn khắc phục nhằm đem lại niềm vui cho bạn Hoàn toàn miễn phi$ Bạn không ngại vấn đề quyền bạn sắm máy vi tính cà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 Trong phần này, bạn biết đặc điểm Hệ quản trị CSDL khác mà MySQL không hỗ trợ Với hạn chế làm cho MySQL không chọn để chạy số môi trường Nếu bạn có kế hoạch bắt đầu cho ngân hàng chẳng hạn, khuyên bạn MySQL không thích hợp cho bạn Nhưng phần đông người phần lớn ứng dụng, MySQL chọn lựa họ thích hợp cho ứng dụng Web Lap trinh Web dong voi PHP / MySQL Page Vừa túi tiền Hãy nghó bạn cần cài đặt Oracle Hãy chuẩn bị hầu bao khoảng 30.000 đến 100.000 USD chí Điều hiển nhiên Oracle, Sysbase Informix Hệ Quản trị CSDL tuyệt vời, giá thành cao, không hợp với túi tiền phần đông người MySQL hoàn toàn miễn phí Bạn sử dụng mà không cần chuẩn bị khoản tiền Nhanh mạnh MySQL đầy đủ sở vật chất cho Hệ Quản trị CSDL tông, công việc thường nhật phần đông người cung cấp nhiều thứ Nếu công việc bạn lưu trữ liệu Web làm trang Thương mại Điện tử cỡ vừa, MySQL có đủ thứ bạn cần Đối với CSDL cỡ trung bình MySQL hỗ trợ tuyệt vời tốc độ Các nhà phát triển MySQL tự hào tốc độ sản phẩm họ Với ứng dụng mà giới thiệu phần III IV sách này, bạn khó kiếm Hệ Quản trị CSDL đạt tốc độ nhanh Cải tiến liên tục MySQL cải thiện liên tục với tần số không ngờ Các nhà phát triển cập nhật thường xuyên, bổ sung tính ấn tượng cho lúc nơi Hiện tại, MySQL bổ sung thêm hỗ trợ transaction Như MySQL thực thụ trở thành Hệ Quản trị CSDL chuyên nghiệp Good! Thực hành ứng dụng Phần mở đầu tạm đủ Bây tiếp tục sang phần viết ứng dụng thử nghiệm để biết cách thức hoạt động ngôn ngữ Lap trinh Web dong voi PHP / MySQL Page 10 hoán chuyển sang trị nguyên thực phép toán cộng cho kết $e = Ngoài ra, PHP hiểu chuỗi vừa số vừa chữ ví dụ sau: $a = 2; $b = "2 con heo con"; $c = $a + $b; Kết cho $c = Nếu số nguyên hay thập phân đứng vị trí đầu chuỗi PHP hiểu ví dụ Tương tự, PHP thực tương tự kiểu số khác nhau: $f = 2; //$f la mot so nguyen $g = 1.444; // $g la mot so thuc $f = $f + $g; //$f tu bien doi thanh so thuc Việc xử lý thật hay, dẫn đến số rắc rối có lúc bạn thời điểm bạn làm việc với kiểu biến kiểu Tôi trình bày phần Kiểm Tra Biến Qui định chuỗi Trong ví dụ trên, bạn thấy tất chuỗi bao dấu nháy đôi Có hai cách khác để bạn thể cho PHP hiểu chuỗi Trong chuỗi mà bạn bao lại cặp nháy đôi " ", xong bạn chèn biến vào giữa, PHP hiểu biến Ví dụ: $my_name = "Jay"; $phrase = "Hello, my name is, $my_name"; echo $phrase; Kết cho là: Hello, my name is, Jay Thật khác thường phải không bạn?! (Đáng lẽ dấu nháy " thứ hai phải sau chữ is đặt dấu cộng chuỗi với biến $my_name) Trong trường hợp sau đây, muốn xuất chuỗi: Tôi đăng ký hosting hết $20 phải làm sao? Bởi chuỗi có chứa $, điều làm cho PHP hiểu biến Chúng ta xem cách giải sau: Nếu chuỗi bạn muốn có chứa ký tự đặc biệt như: dấu nháy đôi "", dấu slash \, dấu đô la $ , bạn phải sử dụng đến ký tự chuyển (gọi dấu escape) dấu slash (\) Tôi quen đọc dấu / "dấu suyệt trái" \ "dấu suyệt phải" Giả sử, để xuất hình dòng chữ: , bạn thấy chứa tới dấu nháy đôi - thuộc dạng ký tự đặc biệt Ta phải sử dụng tới dấu suyệt phải sau: echo ""; Thì đến chạy chương trình mong cho kết mong muốn Tác dụng dấu nháy đơn PHP: Bạn thấy dấu nháy đơn PHP có tác dụng dấu nháy đôi nào! Nếu chuỗi bạn có chứa biến (bắt đầu $), bạn bao lại dấu nháy đơn biến bị biến thành chuỗi luôn, không hiểu biến cách bao dấu nháy đôi: $my_name = "Jay"; echo ‘Hello, my name is, $my_name’; Kết cho Hello, my name is, $my_name Hello, my name is Jay Cuối cùng, PHP4 bạn sử dụng dấu Here Documents Đây loại ký hiệu tương tợ hai loại nháy đơn nháy đôi Trong số trường hợp sử dụng bạn cảm thấy tiện lợi Here Docs xác định giới hạn đầu chuỗi với dấu nhỏ

Ngày đăng: 11/05/2021, 03:16

Xem thêm:

w