Tải bản đầy đủ (.docx) (54 trang)

đồ án học phần viết ứng dụng trên ngôn ngữ php & my sql

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.21 MB, 54 trang )

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
Mục Lục
2
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
3
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: />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: aspx
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…
4
• <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"
" /><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,
5
Nguồn: />6
5. Mô hình hoạt của website
Nguồn: />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.

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
7
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
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.

8
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.
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.

9
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.

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: />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.
PHP 3

10
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
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.
11
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: />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.
Đã 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: />lap-trinh-web/
5. Tổng quan về JSP
12
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: />lap-trinh-web/
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: />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ể
13
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: />lap-trinh-web/
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: />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à
14
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: />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.
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
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.
15
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: />lang=
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: />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)
16
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: 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: />G. HTTP (Hypertext Transfer Protocol)
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: />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
17
–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,
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.
18
Để 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
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 C
o Ltd"
define ("diem_so",4.5);// định nghĩa hằng diem_so với giá trị là 4.5 (hic t
hi 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:
19
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.
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:
20
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.
- 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
21
- 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
- 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: />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:
22
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:
• == ===
• !=, <> >, >= <, <=
• 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()
23
• 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
}
• 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;
24
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
lặp, biến đếm chạy trong khoảng giới hạn của vòng
lặp, vàgiátrị lặp.
• Cúpháp:
for($biến_đếm= giátrị khởi đầucủavònglặpfor;
điềukiệngiớihạncủavònglặpfor; giátrị lặpcủa
vònglặpfor)
{
khốilệnh
}
<?php
$tong = 0;
for($i=1; $i<=10;$i++)
{
$tong = $tong+ $i;

}
echo $tong; →55
25

×