Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 132 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
132
Dung lượng
705,74 KB
Nội dung
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) PDF processed with CutePDF evaluation edition www.CutePDF.com CuuDuongThanCong.com https://fb.com/tailieudientucntt 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ử CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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ò CuuDuongThanCong.com https://fb.com/tailieudientucntt Biến sẵn có PHP PHP_SELF Biến nhận giá trò đòa tập tin php duyệt Đòa đòa đầy đủ từ gốc (bắt đầu từ http://) Bạn sử dụng muốn truy cập lại trang web thi thành Xét ví dụ sau, form tương tự form sign.php mà bạn có dòp xét qua Nếu khách thực thao tác khác với submit form thi hành lại: HTTP_POST_VARS Đây mảng chứa tất biến chuyển tiếp thông qua POST method từ form Bạn truy cập biến riêng rẽ phần tử mảng liên hợp (ví dụ: $PHP_POST_VARS["myname"]) HTTP_GET_VARS Đây mảng chứa tất biến chuyển tiếp thông qua GET method Bạn truy cập biến riêng rẽ phần tử mảng liên hợp (ví dụ: $PHP_GET_VARS["myname"]) HTTP_COOKIE_VARS Tất cookie chuyển đến trình duyệt truy xuất mảng liên hợp Nó bao gồm session cookie Nếu bạn thắc mắc cookie thi hành xem hàm phpinfo() để biết trình duyệt bạn chuyển đến server CuuDuongThanCong.com https://fb.com/tailieudientucntt BIẾN CỦA APACHE Apache có sẵn nhiều biến Tôi không trình bày đầy đủ tất biến Các biến bạn sử dụng, chúng tuỳ thuộc vào xác lập bạn Sau số biến mà có lẽ bạn sử dụng thường xuyên chương trình bạn DOCUMENT_ROOT Biến trả đường dẫn Webserver Biến sử dụng xuyên suốt sách Hãy xét ví dụ sau: include"$DOCUMENT_ROOT/book/functions/charset.php"; Bằng cách sử dụng biến DOCUMENT_ROOT thay dùng đường dẫn tuyệt đối, di chuyển toàn thư mục sang Apache Server khác mà không lo lắng đường dẫn bò sai lệch include path Nên nhớ bạn không sử dụng Apache Server biến không sử dụng Nếu bạn sử dụng include_path tập tin php.ini, CuuDuongThanCong.com https://fb.com/tailieudientucntt bạn không cần phải lo lắng phải xác đònh đường dẫn PHP duyệt hết tất thư mục tìm tập tin bạn đònh HTTP_USER_AGENT Bất kỳ thiết kết Web site hiểu tầm quan trọng việc nhận dạng trình duyệt người sử dụng Một số trình duyệt không sử dụng JavaScript, số khác đòi hỏi dạng HTML đơn giản Biến user_agent cung cấp cho bạn khả uyển chuyển trình duyệt khác Một user_agent chuẩn có dạng này: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98) Nếu bạn phân tích chuỗi bạn biết bạn cần tìm Có thể bạn thích hàm get_browser() PHP Về lý thuyết mà nói, hàm đònh nghóa khả cho phép trình duyệt user sử dụng Cho nên bạn biết chương trình bạn phục vụ tốt hay không Các sách PHP có hướng dẫn cách cài đặt sử dụng get_browser(), khuyên bạn không nên sử dụng Bởi sử dụng get_browse bạn bảo IE dùng cho PC Netscape 4.01 dùng cho Mac có hỗ trợ CSS (cascading stylesheets) JavaScript Nhưng người sử dụng biết rằng: viết lệnh DHTML CuuDuongThanCong.com https://fb.com/tailieudientucntt để chạy hai môi trường trình duyệt công việc phức tạp Thông tin bạn nhận từ get_browser() dẫn đến tính giả bảo mật Cách tốt bạn sử dụng HTTP_USER_AGENT thực đònh dựa trình duyệt platform xác đònh REMOTE_ADDR Dùng để lấy đòa IP user Tuy nhiên có user am hiểu chuyện họ thay đổi IP máy Cho nên không lấy để đảm bảo rằng: đòa IP chắn chắn user Bạn sử dụng biến để theo dõi truy nhập user mang tính tương đối REQUEST_URI Biến giống biến PHP_SELF Ngoài chứa thêm tham số đòa truy vấn Nếu bạn truy cập vào đòa chỉ: http://www.mydomain.com/info/products/index.php?id=6 Thì biến REQUEST_URI bạn có giá trò là: info/products/index.php?id=6 SCRIPT_FILENAME Biến chứa toàn đường dẫn tập tin CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiểm tra biến Ở nói nhiều Biến Như bạn biết đó, tên biến không quan trọng giá trò mà chứa Như nói Biến PHP uyển chuyển Điều phát sinh bất lợi bạn thời điểm biến mang giá trò Do bạn cần phải thực thao tác kiểm tra biến isset( ) Hàm thực việc kiểm tra biến có chứa giá trò hay không Nó trả giá trò TRUE FALSE Nếu biến chưa xác lập trò isset() false Bạn xem xét ví dụ sau, thi hành query MySQL Bạn biết field database chứa trò null chuỗi rỗng Với việc sử dụng hàm isset() bạn kiểm tra phân biệt hai giá trò Trong đoạn lệnh PHP bên Trong biến $query phát biểu SELECT lấy liệu submit từ form user $result = mysql_query($query) or die (mysql_error()); $number_cols = mysql_num_fields($result); CuuDuongThanCong.com https://fb.com/tailieudientucntt echo "query: $query\n"; //layout table header echo "\n"; echo "\n"; for ($i=0; $i Khi chạy chương trình, biến sau tạo $bien_ho, $bien_ten ghi hình: Tong Khai Tóm tắt Bạn tìm hiểu biến PHP Bạn thấy PHP xử lý biến linh hoạt nhiều so với ngôn ngữ khác Còn vấn đề quan trọng biến scope bạn biết kỹ phần sau giáo trình (Còn tiếp) CuuDuongThanCong.com https://fb.com/tailieudientucntt ... 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... việc lập trình Đượ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ỹ. .. 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ố