Baocaodoanhocphan vanquocthinh_11253321_ncth5b

50 %
50 %
Information about Baocaodoanhocphan vanquocthinh_11253321_ncth5b
Education

Published on March 15, 2014

Author: quocthinh072

Source: slideshare.net

Description

Báo cáo đồ án học phần của Văn Quốc Thịnh
MSSV: 11253321
Lớp: NCTH5B
SĐT: 0904407796
Email: thinhvanquocthinh@gmail.com

Trường Đại Học Công Nghiệp TP. Hồ Chí Minh ===o0o=== Đồ Án Học Phần I Đề Tài: Viết Ứng Dụng Trên Ngôn Ngữ PHP & My SQL Giáo Viên Hướng Dẫn: Nguyễn Văn Thắng Sinh Viên Thực Hiện: Văn Quốc Thịnh _ 11253321 _ NCTH5B

2 Mục Lục Mở Đầu ........................................................................................................................................................4 Chương I: Tổng Quan Về Web Và Những Ngôn Ngữ Hỗ Trợ Viết Web..............................................5 I. Tổng Quan Về Web...........................................................................................................................5 1. Web là gì.......................................................................................................................................5 2. Web có mấy loại ...........................................................................................................................5 3. Cấu tạo của 1 trang Web...............................................................................................................6 4. Cấu trúc cơ bản của trang web.....................................................................................................6 5. Mô hình hoạt của website .............................................................................................................8 II. Những Ngôn Ngữ Hỗ Trợ Viết Web ..................................................................................................8 1. Tổng quan về ASP..........................................................................................................................8 2. Tổng quan về PHP .......................................................................................................................12 3. Tổng quan về CGI........................................................................................................................14 4. Tổng quan về Perl .......................................................................................................................14 5. Tổng quan về JSP.........................................................................................................................15 6. Tổng quan về ColdFusion............................................................................................................16 7. Tổng quan về Tcl hay Tcl/Tk (Tool Command Language/Toolkit)...............................................16 8. Tổng quan về Python ..................................................................................................................17 Chương II: Nói Về Ngôn Ngữ PHP Và MySQL.....................................................................................17 I. Ngôn Ngữ PHP.................................................................................................................................17 1. Các khái niệm cơ bản..................................................................................................................17 2. Các đặc điểm của ngôn ngữ PHP................................................................................................20 3. Biến và Hằng...............................................................................................................................21 4. Kiểu Dữ Liệu ..............................................................................................................................25 5. Các toán tử ..................................................................................................................................25 6. Tham chiếu..................................................................................................................................26 7. Các hàm kiểm tra giá trị của biến ...............................................................................................26 8. Các cấu trúc điểu khiển (if, switch, while, for …)......................................................................26 9. Kết nối PHP với MySQL............................................................................................................30 II. Hệ Cơ Sở Dữ Liệu MySQL................................................................................................................35 1. Tổng quan MySQL .....................................................................................................................35 2. Bảng............................................................................................................................................35

3 3. Toán Tử.......................................................................................................................................42 4. Phát biểu SQL.............................................................................................................................44 5. Import và export dữ liệu..............................................................................................................49 Chương III: Nói Về Bài Toán Ứng Dụng................................................................................................53 I. Giới Thiệu Ứng Dụng.......................................................................................................................54 II. Chức Năng Chính.............................................................................................................................54 III. Database Diagram.......................................................................................................................54 IV. Giao Diện Phần Mềm ..................................................................................................................54

4 Mở Đầu Văn Quốc Thịnh _ 11253321 _ NCTH5B Em xin chân thành cảm ơn thầy Nguyễn Văn Thắng đã tận tình giúp đỡ em hoàn thành đồ án này. Do kiến thức còn hạn chế nên bài này còn nhiều thiếu xót, em mong nhận được nhiều ý kiến và đánh giá của thầy Văn Quốc Thịnh

5 Chương I: Tổng Quan Về Web Và Những Ngôn Ngữ Hỗ Trợ Viết Web I. Tổng Quan Về Web 1. Web là gì Website là tập hợp của rất nhiều trang web - một loại siêu văn bản (tập tin dạng HTML hoặc XHTML) trình bày thông tin trên mạng Internet- tại một địa chỉ nhất định để người xem có thể truy cập vào xem. Trang web đầu tiên người xem truy cập từ tên miền thường được gọi là trang chủ (homepage), người xem có thể xem các trang khác thông qua các siêu liên kết (hyperlinks) Đặc điểm tiện lợi của website: thông tin dễ dàng cập nhật, thay đổi, khách hàng có thể xem thông tin ngay tức khắc, ở bất kỳ nơi nào, tiết kiệm chi phí in ấn, gửi bưu điện, fax, thông tin không giới hạn (muốn đăng bao nhiêu thông tin cũng được, không giới hạn số lượng thông tin, hình ảnh...) và không giới hạn phạm vi khu vực sử dụng (toàn thế giới có thể truy cập). Một website thông thường được chia làm 2 phần: giao diện người dùng (front-end) và các chương trình được lập trình để website hoạt động (back-end). Giao diện người dùng là định dạng trang web được trình bày trên màn hình của máy tính của người xem (máy khách) được xem bằng các phần mềm trình duyệt web như Internet Explorer, Firefox,... Tuy nhiên ngày nay người xem có thể xem website từ các thiết bị điện tử khác như điện thoại di động, PDA,...Việc trình bày một website phải đảm bảo các yếu tố về thẩm mỹ đẹp, ấn tượng; bố cục đơn giản, dễ hiểu và dễ sử dụng, các chức năng tiện lợi cho người xem. Đặc biệt ngày nay, website trở nên sống động với những hiệu ứng đa dạng của hình ảnh và chữ kết hợp với âm thanh. Nguồn: http://www.v3s.vn/1/84/-website-la-gi 2. Web có mấy loại Thông thường, website được chia thành 2 loại: - Website tĩnh: là website không có Cơ Sở Dữ Liệu mà chỉ là các trang web do người thiết kế tạo thành bằng các phần mềm tạo trang website. Website này thích hợp cho những nội dung trình bày phức tạp, đòi hỏi cao về đồ họa và ít thay đổi về nội dung vì việc cập nhật website này phải do những người có chuyên môn thực hiện và khá tốn công. - Website động: là website có Cơ Sở Dữ Liệu do các công ty thiết kế chuyên nghiệp xây dựng và sẽ bàn giao công cụ quản lý, cập nhật website cho khách hàng. Việc cập nhật website rất đơn giản và tiện lợi. Thông tin trên website thường xuyên được cập nhật và không giới hạn lượng thông tin. Nguồn: http://www.vecvn.com/faq/co-may-loai-website--.aspx

6 3. Cấu tạo của 1 trang Web Cấu trúc cơ bản của trang HTML/XHTML có dạng như sau, thường gồm 3 phần:  <!Doctype>: Phần khai báo chuẩn của html hay xhtml.  <head></head>: Phần khai báo ban đầu, khai báo về meta, title, css, javascript…  <body></body>: Phần chứa nội dung của trang web, nơi hiển thị nội dung. Cấu trúc cơ bản <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Tiêu đề trang web</title> </head> <body> ...Phần thân viết ở đây... </body> </html> 4. Cấu trúc cơ bản của trang web Mỗi trang web đều có cách thể hiện cấu trúc khác nhau, có trang 1 cột, có trang 2 và cũng có trang chứa nhiều cột, bên dưới đây chúng ta tham khảo một trang đơn giản sử dụng 2 cột để layout.  Phần đầu: header, có thể chứa logo, câu slogan, các liên kết, các banner liên kết, các button, đoạn flash, hoặc các form ngắn như form tìm kiếm,...  Phần liên kết toàn cục: global navigation, dùng để chứa các liên kết đến những trang quan trọng trong toàn bộ trang, trong phần này có thể chứa thêm các liên kết con (sub navigation).  Phần thân của trang: page body, phần này chứa phần nội dung chính (content) và phần nội dung phụ (sidebar).  Phần nội dung chính: content, phần này chứa nội dung chính cần thể hiện cho người dùng xem.  Phần nội dung phụ: sidebar, phần này có thể chứa liên kết phụ của từng trang (local navigation), hoặc các banner chứa liên kết liên quan, hoặc có thể dùng để chứa các liên kết quảng cáo,...  Phần cuối trang web: footer, phần này thường chứa phần liên hệ như: tên công ty, địa chỉ, số điện thoại, mail liên hệ,... và đặc biệt là copyright, hoặc có thể chứa các liên kết toàn trang, các banner liên kết,...

7 Nguồn: http://www.hocwebchuan.com/tutorial/tut_html_basic.php

8 5. Mô hình hoạt của website Nguồn: http://www.pcworld.com.vn/pcworld/info/misc/2007/7/A0707_UD_138b.jpg II. Những Ngôn Ngữ Hỗ Trợ Viết Web 1. Tổng quan về ASP Giới thiệu về Asp.net Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows. ASP đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript. Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài. Tuy nhiên, ASP vẫn còn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và trình bày code không trong sáng, hạn chế khả năng sử dụng lại code. Bên cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ bị mất source code. Thêm vào đó, ASP không có hỗ trợ cache, không được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực hiện. Quá trình xử lý Postback khó khăn, … Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới mẻ với tên gọi ban đầu là ASP+, tên chính thức sau này là ASP.Net. Với ASP.Net, không những không cần đòi hỏi bạn phải biết các tag HTML, thiết kế web, mà nó còn hỗ trợ mạnh lập trình hướng đối tượng trong quá trình xây dựng và phát triển ứng dụng Web.

9 ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side) dựa trên nền tảng của Microsoft .Net Framework. Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets). Khi Web browser yêu cầu một trang web (trang web sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu cầu, sau đó gởi về cho Client. Client nhận kết quả trả về từ Server và hiển thị lên màn hình. ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại Web Server. Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động được chuyển sang HTML/JavaScript/CSS và trả về cho Client. Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹ thuật lập trình ở phía server. Ưu điểm của Asp.net - ASP.Net cho phép bạn lựa chọn một trong các ngôn ngữ lập trình mà bạn yêu thích: Visual Basic.Net, J#, C#,… - Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thông dịch mỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả. Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP. ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, … ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng. ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code riêng, giao diện riêng -> Dễ đọc, dễ quản lý và bảo trì. Kiến trúc lập trình giống ứng dụng trên Windows. Hỗ trợ quản lý trạng thái của các control Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser Hỗ trợ nhiều cơ chế cache. Triển khai cài đặt

10 Không cần lock, không cần đăng ký DLL Cho phép nhiều hình thức cấu hình ứng dụng Hỗ trợ quản lý ứng dụng ở mức toàn cục Global.aspx có nhiều sự kiện hơn Quản lý session trên nhiều Server, không cần Cookies ASP.NET là một mô hình thiết kế website thống nhất bao gồm cách dịch vụ cần thiết để xây dựng các ứng dụng website doanh nghiệp lớn. ASP.NET là một phần của NET Framework. Ở chủ đề này chúng tôi sẽ mô tả các tính năng của ASP.NET và Visual Web Developer, môi trường phát triển tạo ra các ứng dụng ASP.NET. Visual Web Developer: Visual Web Developer là một môi trường phát triển đầy đủ tính năng để tạo ra các ứng dụng website ASP.NET. Các tính năng: bố trí trang web phù hợp với các trang tổng thể và sự xuất hiện trang phù hợp với các chủ đề. Chỉnh sửa mã : trình biên tập cho phép bạn viết mã cho các website động trong Visual Basic hoặc C#. Kiểm tra và gỡ rối : Máy chủ web thử nghiệm và gỡ rối giúp bạn tìm thấy lỗi trong chương trình. Triển khai : Công cụ tự động hóa các nhiệm vụ cho việc triển khai một ứng dụng web đến một máy chủ lưu trữ hoặc nhà cung câp lưu trữ. Các website dự án và ứng dụng với ASP.NET Sử dụng Visual 2010, bạn có thể tạo ra các dự án khác nhau với ASP.NET, bao gồm các trang web, các ứng dụng web,các dịch vụ web, và điều khiển máy chủ AJAX. Có một sự khác biệt giữa các dự án website và các dự án ứng dụng website. Một số tính năng chỉ làm việc với các dự án ứng dụng web như công cụ MVC và một số đẻ tự động hóa việc triển khai web. Các tính năng khác như đồng bộ hóa dữ liệu, làm việc với trang web và các dự án ứng dụng web. ASP.NET API Reference Cung cấp một lượng lớn các thư viện dung cho ASP.NET.

11 Trang web và các điều khiển. Trang ASP.NET và điều khiển là một chương trình chạy trên máy chủ tự động đưa ra các trang ASP.NET. Các trang ASP.NET có thể được yêu cầu từ bất kỳ trình duyệt nào hoặc các thiết bị của khách hàng. Theo quy định bạn có thể sử dụng cùng một website cho nhiều trình duyệt.ASP.NET là công cụ thiết kế website hoàn toàn hướng đối tượng. Nó cũng cho phép đóng gói các chức năng giao diện người dung thông thường dễ sử dụng,kiểm soát để có thể tái sử dụng. Ngoài ra các chủ đề cũng giúp bạn xác định trang chủ để tạo ra và bố trí phù hợp cho các website trong ứng dụng của bạn. Khung trang ASP.NET cũng cho phép bạn xác định mô hình các URL sẽ được sử dụng trong website của bạn. Điều này giúp tối ưu hóa công cụ tìm kiếm và làm cho các URL thân thiện với người sử dụng. Biên dịch ASP.NET ASP.NET biên dịch, cho phép tối ưu hóa hiệu xuất,tối ưu hóa ràng buộc và những lợi ích khác. Một khi mã đã được biên dịch, thời gian chạy sẽ được cải thiện. Bảo Mật Ngoài các tính năng bảo mật cung cấp một sơ sở bảo mất tiên tiến để chứng thực và cho phép người dung truy cập vào các nhiệm vụ liên quan đến an ninh.Bạn có thể xác thực bằng cách sử dụng window xác thực được cung cấp bởi IIS hoặc quản lý xác thực bằng cơ sở dữ liệu người dùng riêng. Cấu hình ASP.NET ASP.NET sử dụng một cấu hình hệ thống cho phép bạn xác định và thiết lập cấu hình cho máy chủ web của bạn. ASP.NET thiết lập cấu hình được lưu trữ trong các tập tin XML. Hỗ trợ gỡ lỗi ASP.NET có lợi thế gỡ lỗi trong thời gian chạy để cung cấp quá ngôn ngữ và hỗ trợ gỡ lỗi qua máy tính. Bạn có thể gỡ lỗi cả hai đối tượng quản lý và không được quản lý. Web Service Framework ASP.NET hỗ trợ các dịch vụ web XML cho phép ứng dụng trao đổi thông tin qua bức tường lửa bằng cách sử dụng các tiêu chuẩn như HTTP và XML. Bất cứ ngôn ngữ lập trình web nào cũng có thể trao đổi thông tin và truy cập các dịch vụ web XML. Ứng dụng web dựa trên mô hình MVC ASP.NET MVC giúp các nhà phát triển web xây dựng ứng dụng dựa trên tiêu chuẩn được dễ dàng duy trì bởi nó giảm sự phụ thuộc vào các class.

12 ASP.NET sử dụng dữ liệu động ASP.NET sử dụng dữ liệu động cho phép bạn tạo ra các ứng dụng web hướng dữ liệu một cách dễ dàng.Bạn sẽ tìm thấy rằng bạn có thể nhận được các ứng dụng chạy dễ dàng hơn và với ít mã hơn so với trước đây. Đồng thời bạn có thể thêm các tính năng tùy chỉnh để các dữ liệu ASP.NET động để thích ứng với yêu cầu riêng của bạn. Ở phần đầu tiên này bạn tạo được tiền đề cho việc học các hướng dẫn thiết kế website của chúng tôi. Ở phần tiếp theo chúng tôi sẽ giới thiệu chi tiết hơn về ASP.NET. Nguồn: http://www.ancoti.com/tong-quan-ve-aspnet.html 2. Tổng quan về PHP PHP (viết tắt hồi quy “PHP: Hypertext Preprocessor”) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP. Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp. PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là ‘Personal Home Page Tools’. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn. PHP/FI, viết tắt từ “Personal Home Page/Forms Interpreter”, bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán. Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người. PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.

13 PHP 3 PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên bản này là do nhận họ thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0. Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới. Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0. Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác. Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc. Nó đã được đặt tên ngắn gọn là ‘PHP’, một kiểu viết tắt hồi quy của “PHP: Hypertext Preprocessor”. Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet. PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm. PHP 4 Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả. Một động cơ mới, có tên ‘Zend Engine’ (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới. Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet. Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kĩ thuật cho PHP. PHP 5 Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn.Cộng đồng php đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn

14 Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP. Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, streams. 3. Tổng quan về CGI Ngôn ngữ kịch bản chạy trên môi trường máy chủ nói chung có thể phân thành hai loại cơ bản: Com mon Gateway Interface (CGI, chương trình trả về mã HTML) và ngôn ngữ đánh dấu nhúng trong trang HTML. Những thế hệ máy chủ web (web server hay HTTP server) đầu tiên không tích hợp sẵn mô đun xử lý tạo nội dung động mà dùng các giao tiếp (interface) để gọi các chương trình khác bên ngoài xử lý yêu cầu tạo nội dung động lúc thực thi. Chuẩn giao tiếp đầu tiên được dùng để tạo nội dung web động là CGI. CGI không phải là một ngôn ngữ cụ thể mà là giao thức liên lạc giữa máy chủ web và một chương trình ứng dụng bên ngoài. Nhiều người thường gắn liền CGI với Perl do phần lớn kịch bản CGI thường được viết bằng ngôn ngữ này, nhưng nói chung CGI có thể viết bằng bất kỳ ngôn ngữ nào để được gọi như một chương trình chạy độc lập từ web server, chẳng hạn như Python, Tcl, C/C + + và cả Java. Phương pháp CGI có những hạn chế về hiệu suất. Chương trình CGI chạy bên ngoài web server và mỗi khi có yêu cầu một trang web động thì đều phải khởi tạo tiến trình mới. Việc khởi tạo các tiến trình mới làm hao tốn tài nguyên hệ thống và chậm tốc độ đáp ứng. Để giải quyết hạn chế của CGI, các phần mềm máy chủ web thế hệ sau tích hợp sẵn khả năng xử lý tạo nội dung web động. Cũng có nhiều mô đun bổ sung cung cấp các hàm API tương tác trực tiếp với web server. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/ 4. Tổng quan về Perl Perl (Practical Extraction and Report Language) là ngôn ngữ kịch bản mã nguồn mở có cú pháp tương tự như C. Perl chạy ở chế độ nền phía server tạo nội dung web theo cách thức ẩn đối với người xem. Năm 1987, lrry Wall xây dựng và phát triển Perl như là phiên bản cải tiến của awk với mục đích thực hiện tự động một số tác vụ quản trị hệ thống Unix (awk là một chương trình xử lý văn bản của Unix) . Sau đó Perl được phát triền dần và phổ biến với nhiều dạng ửng dụng. Perl có tính đối tượng, nhờ vậy việc bổ sung thư viện mới rất dễ dàng. Nó thích hợp cho cả ứng dụng web phức tạp lẫn các tác vụ xử lý dữ liệu đơn giản.

15 Đã có thời tất cả những việc tạo trang web động có lập trình đều dùng Perl, trước khi có những công nghệ khác như ASP, JSP, PHP... và hiện Perl vẫn là một trong những ngôn ngữ được dùng phổ biến nhất để viết các ứng dụng web. Hầu hết các máy chủ web hiện nay đều hỗ trợ Perl. Apache có hỗ trợ miễn phí tích hợp trình dịch Perl mod-perl. Điều này không chỉ giúp tăng tốc mã lệnh Perl mà còn cải thiện hiệu suất nhờ mod-perl lưu lại các mã lệnh biên dịch trong bộ nhớ. Mod_perl kết hợp với một số công nghệ khác cho phép xây dựng các website cao cấp, nổi bật nhất là hai công nghệ HTML::Embperl và HTML::Mason. Cá c giải pháp thương mại của Activestate và Binary Evolution cũng giúp tăng tốc Perl theo cách thức tương tự như mod-perl. PerlEx của ActiveState tăng tốc chương trình CGI/PERL cho IIS trong khi sản phẩm của Binary Evolution dùng cho Netscape, Apache, và IIS trên cả nền Windows và Unix. Có rất nhiều tài liệu trên Net về Perl cũng như nhiều thư viện chương trình tiện ích miễn phí. Bạn có thể tìm thấy những mô đun viết sẵn ở website CPAN (Comprehensive Perl Archive Network - www.cpan.org). Ngôn ngữ Perl hiện đang phát triển đi xa hơn thiết kế ban đầu của nó. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/ 5. Tổng quan về JSP Java Server Pages (JSP) là sự mở rộng của công nghệ JavaServlet, một thành phần trong chuẩn J2EE của Sun. Với JavaServlet, bạn phải xử lý đầu vào HTTP và đầu ra HTML trong lớp Java, bạn cần có kiến thức lập trình để xây dựng các ứng dụng phức tạp. Với JSP bạn có thể tách riêng lớp hiển thị HTML ra khỏi lớp Java xử lý nghiệp vụ phức tạp. Điều này có nghĩa là người phát triển có kinh nghiệm ngôn ngữ kịch bản, hay thậm chí người thiết kế web có thể viết mã lệnh hiển thị đơn giản, trong khi người phát triển có kiến thức về Java tập trung viết JavaServlet hay JavaBean đề giải quyết nghiệp vụ phức tạp. Tương tự ASP, JSP cũng thực hiện phép trộn nội dung HTML tĩnh với mã lệnh kịch bản thực thi ở môi trường server để tạo ra kết quả động. JSP dùng ngôn ngữ kịch bản mặc định là Java; tuy nhiên theo đặc tả kỹ thuật thì cũng có thể dùng các ngôn ngữ khác. JSP có ưu điểm so với ASP là sau lần thực thi đầu tiên thì mã biên dịch (Servlet) của trang JSP được lưu lại trong bộ nhớ của máy chủ web và sẵn sàng đáp ứng cho các yêu cầu truy cập sau đó (trang ASP/VBSCRIPT hay Asp/jscript phải được dịch lại với mỗi yêu cầu). Lợi thế của JSP là sử dụng được toàn bộ sức mạnh của ngôn ngữ Java với các tính năng khả chuyển, chạy được trên nhiều nền tảng hệ thống và máy chủ web, mã lệnh hướng đối tượng, bảo mật an toàn... Hiện chưa có nhiều dịch vụ đặt web hỗ trợ JSP. Tuy Java miễn phí nhưng các công cụ phát triển Java và phần mềm máy chủ Java khá đắt. Các công cụ phát triển trang JSP tốt là Borland Jbuilder, IBM WebSphere Studio. Một số phần mềm máy chủ Java hỗ trợ JSP miễn phí như Tomcat, JONAS. Server-side JavaScript (SSJS) là sự mở rộng của JavaScript, ngôn ngữ kịch bản phổ biến chạy ở trình duyệt máy khách có cú pháp giống như C, mặc dù có tên gọi tương tự nhưng nó không phải là Java. SSJS có các tính năng tích hợp hỗ trợ cơ sở dữ liệu và email, quản lý phiên làm việc và khả năng liên tác với các lớp Java dùng công nghệ Livewire của Netscape. SSJS chỉ chạy trên máy chủ web Netscape. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/

16 6. Tổng quan về ColdFusion Đây là ngôn ngữ kịch bản do hãng Allaire phát triể n, hiện đã được Macromedia mua lại. Coldfusion được thiết kế ngay từ đầu chuyên dành cho nền tảng ứng dụng web, nó không bị ràng buộc bởi các mô hình công nghệ trước đây trong việc tìm giải pháp thích hợp cho những vấn đề mà các nhà phát triển web gặp phải. CFML (Cold Fusion Markup Language) là ngôn ngữ rất mạnh và dễ học, dùng tập thẻ lệnh tương tự như thẻ lệnh HTML. Một điểm đặc biệt là mỗi trang Colfusion có thể dùng như một thẻ lệnh: ví dụ bạn có file list.cfm thì một trang khác có thể dùng nó như thẻ Coldfusion cũng có tập hàm API mạnh và có một số chức năng hay như mảng, cấu trúc, xử lý lỗi... Công cụ phát triển Coldfusion Studio là một trong những công cụ phát triến tốt nhất. Công cụ thiết kế web Macromedia Dreamweaver hỗ trợ tạo tự động mã lệnh CFML và cả JSP. Phần mềm máy chủ Coldfusion không miễn phí, do vậy tăng phí dịch vụ web. Các ngôn ngữ như ASP, Coldfusion, JSP và PHP được quan tâm rất nhiều, nhưng các ngôn ngữ giới thiệu dưới đây cũng được dùng để phát triển một số ứng dụng chuyên biệt và được dùng cho số lượng không nhỏ website. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/ 7. Tổng quan về Tcl hay Tcl/Tk (Tool Command Language/Toolkit) Theo John Ousterhout, cha đẻ của ngôn ngữ Tcl, thoạt đầu nó được tạo như là ngôn ngữ lệnh kết nối các chương trình ứng dụng đánh giá sinh viên ở đại học Berkerley. Tcl không được thiết kế để xây dựng các chương trình tính toán lớn và phức tạp. Chương trình Tcl - được gọi là script - thực hiện phân luồng dữ liệu từ một chương trình này đến chương trình khác. Các chương trình lớn và chạy nhanh thực hiện phần công việc nặng nhọc, chương trình Tcl gắn các chương trình lớn này lại với nhau. Tcl là ngôn ngữ hướng đối tượng. Điểm mạnh nhất của Tcl là khả năng điều khiển, liên kết các thiết bị hay chương trình ứng dụng. Hai đặc tính chủ chốt của ngôn ngữ: khả năng nhúng và mở rộng. Phương tiện mở rộng mà Tcl cung cấp (giao diện lập trình) có thể dùng để tạo các tính năng mới trong ngôn ngữ bằng chương trình C, C++ hay Java. Rất nhiều mô đun mở rộng cho Tcl được viết và cung cấp miễn phí trên internet, công cụ GUI hỗ trợ thiết kế giao diện Toolkit (Tk) là một ví dụ điển hình. Các ngôn ngữ khác như Perl, Python cũng dùng Tk. Một điểm mạnh khác của Tcl là khả năng kiểm soát văn bản nhập vào chính khả năng này làm cho Tcl được dùng phổ biến để tạo các trang và hình ảnh lúc thực thi trên web. Với khả năng này, có thể Tcl càng phổ biến hơn trong tương lai nhờ XML (Extensible Markup Language), ngôn ngữ cho phép thể hiện dữ liệu dưới dạng văn bản. Công cụ miễn phí Tclpro của Scriptics cung cấp môi trường phát triển Tcl. Một số mô đun miễn phí tích hợp Tcl với Apache như mod_tcl, Neowebscript. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/

17 8. Tổng quan về Python Được phát triển từ năm 1990, Python là ngôn ngữ có tính đối tượng cao, khả chuyển, cú pháp đơn giản và mã nguồn mở. Python có thể mở rộng về mặt hệ thống bằng cách bổ sung thêm mô đun mới viết bằng ngôn ngữ biên dịch như C hay C++. Mô đun bổ sung có thể định nghĩa hàm mới và biến mới cũng như các kiểu đối tượng mới. Python đặc biệt thích hợp cho lập trình tính toán khoa học. Python chưa phổ biến như PHP, ASP hay Perl, và hiện phần lớn dịch vụ web chưa hỗ trợ ngôn ngữ này. Apache có mô đun miễn phí mod-python hỗ trợ Python. Một chọn lựa khác là Zope - máy chủ ứng dụng Python có mã nguồn mở của Digital Creations. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/ Chương II: Nói Về Ngôn Ngữ PHP Và MySQL I. Ngôn Ngữ PHP 1. Các khái niệm cơ bản A. HTML (Hypertext Markup Language) HTML (hay Hypertext Markup Language-Ngôn ngữ liên kết siêu văn bản) là ngôn ngữ đánh dấu chuẩn dùng lập trình các tài liệu World Wide Web, tài liệu là các tập tin văn bản đơn giản. Ngôn ngữ HTML dùng các tag hoặc các đoạn mã lệnh để chỉ cho các trình duyệt(Web browsers) cách hiển thị các thành phần của trang như text và graghics ,và đáp lại những thao tác của người dùng bởi các thao tác ấn phím và nhắp chuột. Hầu hết các Web browser, đặc biệt là Microsoft Internet Explorer và Netscape Navigator, nhận biết các tag của HTML vượt xa những chuẩn HTML đặt ra. Microsoft FrontPage chỉ dùng để đọc và viết các tập tin HTML mà không hiểu ngôn ngữ HTML yêu cầu phải làm gì. Nguồn: http://thegioiweb.vn/Story/vn/Html_Css/thamkhaoHtml_Css/2008/5/4542.html B. Web Programming Language Web Programming Language (Ngôn ngữ lập trình web): ngôn ngữ viết theo phong cách lập trình (khác so với HTML ngôn ngữ đánh dấu) để hổ trợ và tăng cường các khả năng của web. Cho phép điều khiển các phần tử của trang web dễ dàng hơn.

18 Chúng ta có một số ngôn ngữ lấp trình web như: ASP, ASP.NET, PHP, JSP C. Web Server Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx...; Apache dành cho *.php...; Sun Java System Web Server của SUN dành cho *p... Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia) Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP - giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác. Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name. Giả sử khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng http://www.abc.com sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là www.abc.com. Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của bạn. Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet. Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn. Giống như những phần mềm khác mà bạn đã từng cài đặt trên máy tính của mình, Web Server Software cũng chỉ là một ứng dụng phần mềm. Nó được cài đặt, và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet). Web Server Software còn có thể được tích hợp với CSDL (Database), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người dùng. Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến. Vị trí đặt server đóng vai trò quan trọng trong chất lượng và tốc độ lưu chuyển thông tin từ server và máy tính truy cập. Nguồn: http://www.citd.edu.vn/Vietnam/Home/index.php/quantrimang/dch-v-mng/195-web-server-la-gi- ?lang=

19 D. Database Server Một dịch vụ cơ sở dữ liệu là một ứng dụng cơ bản trên mô hình kiến trúc máy chủ / máy khách. Ứng dụng được chia làm hai phần : một phần chạy trên một máy khách(nơi mà người sử dụng tích luỹ và hiển thị thông tin cơ sở dữ liệu) và phần còn lại chạy trên máy chủ cơ sở dữ liệu, nơi có nhiệm vụ kết nối, xử lý và lưu trữ dữ liệu. - Máy chủ cơ sở dữ liệu – Database Server (máy chủ phục vụ Cơ sở dữ liệu) là Máy tính chủ mà trên đó có cài đặt phần mềm Hệ quản trị Cơ sở dữ liệu (HQTCSDL). Chúng ta có một số HQTCSDL chẳng hạn như: SQL Server, MySQL, Oracle… - Một máy chủ cơ sở dữ liệu là một chương trình máy tính cung cấp các dịch vụ cơ sở dữ liệu cho các chương trình máy tính hoặc máy tính khác, như được định nghĩa bởi mô hình client-server. Thuật ngữ cũng có thể tham khảo với một máy tính dành riêng để chạy một chương trình như vậy. Hệ thống quản lý cơ sở dữ liệu thường xuyên cung cấp chức năng máy chủ cơ sở dữ liệu, và một số DBMSs (ví dụ, MySQL) hoàn toàn dựa trên mô hình client-server để truy cập cơ sở dữ liệu. Nguồn: http://vdo.vn/ung-dung-may-chu-co-so-du-lieu-database-server E. Web Browser Một web browser là một phần mềm ứng dụng để truy xuất, trình diễn và chuyển các nguồn thông tin (information resource) trên mạng hệ thống mạng toàn cầu (World Wide Web). Một nguồn thông tin được nhận dạng bởi một Uniform Resource Identifier (URI) và có thể là một trang web, phim - video, hình ảnh (images) hoặc các mẫu thông tin khác. Mặc dù các trình duyệt với mục đích là để truy cập vào hệ thống mạng toàn cầu, các trình duyệt còn được sử dụng để truy cập các thông tin được cung cấp bởi các web servers (máy chủ web) trong hệ thống mạng riêng hoặc các tài liệu (files) đến các hệ thống file (file system). Hoặc cũng được dùng để tiết kiệm tài nguyên thông tin cho các hệ thống lưu trữ file. Nguồn: http://esvn.com.vn/108/Kien-thuc-web/Web-browser---trinh-duyet-web-la-gi.html F. URL (Uniform Resource Locator) URL (Uniform Resource Locator) là địa chỉ của 1 tài nguyên trên Internet. Nó có thể là 1 website, 1 trang web, 1 hình ảnh,… Nó có cấu trúc phân cấp giống như folder và file trên máy tính. Nguồn: http://inet.edu.vn/tin-tuc/2993/url-la-gi.html G. HTTP (Hypertext Transfer Protocol)

20 HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu văn bản). Nó là giao thức cơ bản mà World Wide Web sử dụng. HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia khác) được định dạng và truyền tải ra sao, và những hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các lệnh rất đa dạng. Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình duyệt Web. Nói nôm na hơn, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet.HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet). Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức năng quản lý cách thức mà các trang Web được định dạng và hiển thị. người ta gọi HTTP là một giao thức “phi trạng thái” (stateless) bởi vì mỗi lệnh đều được thực thi một cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh đã đến trước mình. Đây chính là một hạn chế, khiếm khuyết của HTTP. Nó là nguyên nhân chính của tình trạng rất khó thực thi các trang Web có khả năng phản ứng thông minh đối với lệnh mà người dùng nạp vào. Và sự hạn chế này đang được các nhà phát triển khắc phục trong các công nghệ mới như ActiveX, Java, JavaScript và cookies. Nguồn: http://tin01brvt.forumvi.com/t70-http-la-gi 2. Các đặc điểm của ngôn ngữ PHP –PHP đượcchạytrênhệthốngchủ(Server) –PHP rấtđơngiản –Tốcđộxửlý nhanh, dễsửdụng –Luônđượccảitiếnvàcậpnhật(mãnguồnmở) –Cónhiềuhướngdẫnsửdụngtrên mạng –Hoàn toàn miễn phí –PHP cóthểthực thi trên bất cứhệ điều hành (Operator System) nào, chỉ cần cómột HTML Browser thích ứng là được. –PHP không chỉ làm việc với HTML mà còn cóthểlàm việc được với hình ảnh, PDF, Flash movie,… –PHP cóthểdễdàngnốikếtvớicáccơsởdữliệunhưmySQL,

21 mSQL, FrontBase, dBase, Solid, ODBC, Oracle, FilePro… Nguồn: 3. Biến và Hằng 1. Hằng và biến Nếu các bạn chưa từng học lập trình, chắc các bạn đang còn xa lạ với hằng và biến. OK, No Star where - Giống như trong toán học, một hằng số xác định một giá trị duy nhất thông qua tên của hằng số, trong Tin học cũng vậy. Môt hằng số xác định một giá trị duy nhất trong toàn bộ chương trình. Người ta có thể sử dụng giá trị này thông qua tên của hằng số đó trong chương trình - Tương tự đối với biến. Một biến trong lập trình được sử dụng để lưu trữ một giá trị nào đó thông qua tên biến. Sở dĩ người ta gọi nó là biến, vì không như hằng số (giữ nguyên giá trị trong toàn bộ quá trình chạy chương trình), người ta có thể thay đổi giá trị của biến số thông qua các phép gán. Để tạo điều kiện dễ dàng trong quá trình phân tích dữ liệu, PHP quy định bất kỳ từ nào có dấu $ ở trước đều là tên của biến. Ví dụ: $ten xác định một biến có tên là ten $custome_name: xác định một biến có tên là $custome_name Bạn cần biết rằng tên biến là một chuỗi các ký tự chỉ bao gồm các chữ số, chữ cái (a..z) và dấu gạch dưới ( _ ). Và PHP quy định phân biệt các biến chữ hoa và chữ thường là khác nhau. CHẳng hạn $ab và $Ab là 2 biến hoàn toàn khác nhau. Một điểm cần lưu ý khác là không được đặt tên biến bắt đầu bằng các chữ số (0.. 9) Do quy định các chuỗi ký tự có chứa dấu $ ở trước là một tên biến, nên PHP tự động khởi gán giá trị của các biến này là rỗng (đối với kiểu dữ liệu văn bản) hoặc 0 đối với kiểu dữ liệu số. Bạn sẽ được biết đến các kiểu dữ liệu sau này. Để gán giá trị cho các biến, bạn sử dụng câu lệnh gán như sau: $tên_biến = giá trị cần gán; Ví dụ: PHP Code: $nam_sinh=1980; $ho_ten="CMXQ"; Các bạn chú ý đến 2 ví dụ tôi nhập dữ liệu: một cái thì nằm trong cặp dấu ngoặc kép chỉ thị biến đó chứa dữ liệu theo kiểu xâu, còn một cái thì không nằm trong cặp dấu ngoặc kép chỉ thị biến đó chứa dữ liệu kiểu số. Bạn sẽ biết chi tiết hơn ở ngay sau đây: 2. Các kiểu dữ liệu trong PHP PHP có 3 kiểu dữ liệu cơ bản: Integer, double và string. Ngoài ra còn một số kiểu dữ liệu khác, đượ xây dựng dựa trên các kiểu dữ liệu cơ bản trên, như mảng, object, mà chúng ta sẽ đề cập đến

22 sau. Tất cả các biến đều được chỉ định kiểu dữ liệu, và như chúng ta đã nói ở trên, giá trị của chúng có thể bị thay đổi trong quá trình sử dụng. Kiểu giá trị Integer sử dụng 4 byte của bộ nhớ. Đây là kiểu giá trị nguyên (không phải là số thực) và có giá trị nằm trong khoảng từ -2 tỷ đến 2 tỷ. Kiểu dữ liệu double là kiểu dữ liệu số thực, cho phép chứa các số thưc. Kiểu String được sử dụng để chứa các dữ liệu như là các ký tự văn bản, ký tự đặc biệt và các chữ số. Dữ liệu kiểu string được đặt trong cặp dấu ngoặc kép ("") chỉ định một xâu (hay còn gọi là chuỗi ký tự). Ví dụ: 2: Kiểu integer; 2.0: kiểu double "2": Kiểu xâu "2 gio": Kiểu xâu 3.Định nghĩa hằng Hàm define() được sử dụng để tạo một hằng số: Hàm này có cấu trúc sau: PHP Code: define ("tên_hằng","giá trị của hằng"); Ví dụ: PHP Code: define ("COMPANY","NS Co.Ltd");// Định nghĩa hằng COMPANY với giá trị là "NS Co Ltd" define ("diem_so",4.5);// định nghĩa hằng diem_so với giá trị là 4.5 (hic... thi lại ); Sau khi một hằng số được tạo ra, ta có thể sử dụng chúng thay cho giá trị của chúng: PHP Code: echo ("Tên công ty: ".COMPANY); Điều này tương đương với echo ("Tên công ty: NS Co Ltd"); 4. Một số hằng xây dựng sẵn (built in constant) PHP có chứa một số hằng được xây dựng sẵn. TRUE và FALSE là 2 hằng đã được dựng sẵn với chỉ định true (1) và false (=0 hoặc một xâu rỗng) Hằng số PHP_VERSION chỉ định phiên bản của bộ phân tích PHP mà bạn đang dùng hiện tại. Hằng PHP_OS chỉ định hệ điều hành server mà trình phân tích PHP đang chạy. PHP Code: echo (PHP_OS); // in ra màn hình "Linux" (ví dụ) _FILE_and_LINE_ trả về tên của đoạn script (đoạn mã nhúng) đang được phân tích tại dòng hiện thời trong đoạn mã script.

23 PHP còn cung cấp một số hàm để thông báo lỗi như E_ERROR, E_WARNING, E_PARSE và E_NOTICE. Ngoài ra, PHP còn cung cấp một số biến cung cấp thông tin về môi trường PHP đang sử dụng. Để xem các thông tin này,bạn có thể dùng hàm phpinfo() như sau: PHP Code: <HTML> <!-- phpinfo.php--> <BODY> <?php phpinfo(); ?> </BODY> </HTML 5. Lừa kiểu và ép kiểu dữ liệu Như chúng ta đã biết, tất cả các biến PHP đều có kiểu dữ liệu riêng. Kiểu dữ liệu của biến sẽ được tự động xác định bởi giá trị đặt vào biến PHP Code: $a=1 // $a là kiểu integer $a=1.2 // Bây giờ, nó là kiểu double $a="1" // Và bây giờ nó là kiểu string a) Chuyển kiểu chuỗi và lừa kiểu dữ liệu Nếu bạn làm các thao tác tính toán số trên một chuỗi, PHP sẽ tính toán chuỗi như là một số. Điều này được biết đến với cái tên gọi là "chuyển kiểu chuối (String conversion), mặc dù giá trị chuỗi của nó có thể không cần phải thay đổi. Trong đoạn ví dụ sau, biến $str được xác định là một chuỗi: PHP Code: $str="756300 không có"; Nếu chúng ta cố cộng thêm một giá trị nguyên là 3 vào biến $str, biến $str sẽ tự động tính với số nguyên 756300: PHP Code: $x=4+$str;//$x =756304 Nhưng bản thân giá trị của biến $str không thay đổi PHP Code: echo ($str); // In ra màn hình chuỗi "756300 không có" Chuyển kiểu chuỗi phải tuân theo 2 nguyên tắc sau: - Chỉ những chuỗi bắt đầ là một xâu các chữ số. Nếu chuỗi bắt đầu bằng một giá trị số hợp lệ, chuỗi này sẽ được xác định như giá trị của nó, trong trường hợp khác, nó sẽ trả về 0. VD: chuỗi "35 tuổi" sẽ được ước lượng là 35, nhưng chuỗi "tuổi 35" sẽ chỉ xác định giá trị 0.

24 - Một chuỗi sẽ chỉ được xác định như là một giá trị kiểu double nếu giá trị kiểu double được miêu tả bao gồm toàn bộ chuỗi. Chuỗi "3.4", "-4.2" sẽ được ước lượng như giá trị thực 3.4 và - 4.2. Nếu một ký tự không phải là ký tự kiểu số thực được đưa vào chuỗi, giá trị của chuỗi đó sẽ được ước lượng như là một số nguyên. Chuỗi "3.4 dollar" sẽ thành số nguyên 3. Trong việc cộng với chuỗi chuyển kiểu, PHP sẽ thực hiện "lừa kiểu" giữa 2 kiểu số. Nếu bạn thực hiện một phép toán số học giữa kiểu thực và kiểu nguyên, giá trị sẽ là số thực PHP Code: $a=1 //$ a là một số nguyên $b= 1.0 //$b là số thực $c=$a+$b //$c là kiểu số thực , = 2.0 $d = $c+"6th" //$d là kiểu số thực = 8.0 Ép kiểu dữ liệu Ép kiểu dữ liệu cho phép bạn thay đổi kiểu dữ liệu của biến PHP Code: $a=11.2// $a là kiểu thực $a=(int)$a// Bây giờ, $ a là kiểu nguyên, giá trị = 11 $a= (double) $a// Bây giờ $a lại trở về kiểu thực = 11.0 $b= (string)$a// $b là giá trị kiểu chuỗi ="11" Ngoài ra, chúng ta còn được phép ép kiểu (array) và (object) (integer) tương đương với (int); (fload) và (real) tương đương với (double) 6. Một số hàm tiện ích khác PHP có một số hàm hỗ trợ làm việc với các biến - Hàm gettype($ten_bien) xác định kiểu của biến. Nó sẽ trả về một trong các giá trị: "integer", "double", "string", "array", "object", "class", "unknown type" (Chúng ta sẽ tìm hiểu kỹ hơn vể mảng (array) và kiểu đối tượng (object) ở các bài sau. Ví dụ: PHP Code: echo(gettype($name)); - Hàm settype($ten_bien,"kieu_du_lieu") sẽ đặt kiểu dữ liệu cho biến $ten_bien. Kiểu dữ liệu được viết dưới dạng một chuỗi, và có thể có một trong các kiểu sau: "integer", "double", "string", "array", "object". Nếu kiểu dữ liệu không được đặt, giá trị false sẽ được trả về, còn nếu thành công, nó sẽ trả về giá trị true. VD: PHP Code: $a=7.5; //$a là kiểu thực settype($a,"integer"); // bây giờ nó là một số nguyên có giá trị 7

25 - Hàm isset($ten_bien) được sử dụng để xác định xem biến $ten_bien đã đặt một giá trị nào đó hay chưa. Nếu biến đó đã có giá trị, hàm trả về true. Trong truờng hợp ngược lại, hàm trả về giá trị false; - Hàm unset($ten_bien) được sử dụng để huỷ bỏ biến $ten_bien, giải phóng bộ nhớ bị chiếm dụng của biến đó Nguồn: http://sinhvienit.net/@tut/lap-trinh-web-dong/php/90-bai-5-hang-va-bien-trong-php.html 4. Kiểu Dữ Liệu • Boolean • Integer • Float / double • String • Array • Object <?php $don_gia= 7000; $so_luong= 900; $thanh_tien= (double)($so_luong*$don_gia); ?> Nguồn: 5. Các toán tử • Toán tử số học: + - * / %(chialấydư) • Toán tử nối chuỗi: . • Toán tử gán kết hợp: • += $a += $b; $a = $a+ $b; • ++ $a++; $a = $a+ 1; • -= --• *= /= %= .= • Toántửso sánh: • == ===

26 • !=, <> >, >= <, <= • Toántửluậnlý: !And, && Or, | 6. Tham chiếu • Tham chiếu trong PHP cho phép tạo ra hai hay nhiều biến có cùng một nội dung. –Vídụ: <?php $str1 = “laptrinhwebphp”; $str2 = &$str1; echo $str1; →laptrinhwebphp echo $str2; →laptrinhwebphp ?> 7. Các hàm kiểm tra giá trị của biến • Kiểm tra tồn tại isset() • Kiểm tragiá trị rỗn gempty() • Kiểm tra trị kiểu số is_numeric() • Kiểm tra kiểu dữ liệu của biến • Xác định kiểu của biến gettype() 8. Các cấu trúc điểu khiển (if, switch, while, for …) Cấu trúc rẽ nhánh if • Dạng1: if – Cúpháp: if (điềukiện) { khối lệnh }

27 • Dạng2: if … else – Cúpháp: if(điềukiện) { khốilệnh1 } else { khốilệnh2 } Cấu trúc chọn lựa switch • Dạng1: mỗi truờng hợp một cách xử lý khác nhau Cúpháp switch(biếnđiềukiện) { casegiátrị 1: khốilệnh1 break; casegiátrị 2: khốilệnh2 break; ... [default: khốilệnhkhikhôngthỏatấtcảcáccase trên] } Cấu trúc lặp for • Công dụng: –for được sử dụng khi chúng ta biết trước số lần cần;-;-

Add a comment

Related presentations