1. Trang chủ
  2. » Luận Văn - Báo Cáo

Website giới thiệu sản phẩm và giao lưu văn hóa cho làng nghề gốm sứ bát tràng

97 496 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 97
Dung lượng 1,5 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cả chiều rộng và sâu. Máy tính điện tử không còn là một thứ phương tiện quý hiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thông dụng của con người, không chỉ ở công sở mà còn ngay cả trong gia đình. Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức và các doanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mình nhằm tin học hóa các hoạt động tác nghiệp của đơn vị. Ở Việt Nam cũng có rất nhiều doanh nghiệp đang tiến hành thương mại hóa trên Internet nhưng do những khó khăn về cơ sở hạ tầng như viễn thông chưa phát triển mạnh, các dịch vụ thanh toán điện tử qua ngân hàng chưa phổ biến nên chỉ dừng lại ở mức độ giới thiệu sản phẩm và tiếp nhận đơn đặt hàng thông qua web. Để tiếp cận và góp phần đẩy mạnh sự phổ biến tin học ở Việt Nam, em đã tìm hiểu và xây dựng “Website giới thiệu sản phẩm và giao lưu văn hóa cho làng nghề gốm sứ bát tràng”. Với sự hướng dẫn tận tình của Thầy Cao Kim Anh em đã hoàn thành cuốn báo cáo đồ án tốt nghiệp này. Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót. Em rất mong nhận được sự thông cảm và góp ý của Thầy. Em xin chân thành cảm ơn.

Trang 1

MỤC LỤC

LỜI NÓI ĐẦU 4

Chương 1: GIỚI THIỆU VỀ ĐỀ TÀI 5

1.1 PHÂN TÍCH YÊU CẦU ĐỀ TÀI 5

1.1.1 NỘI DUNG CỦA WEBSITE 5

1.1.2 CHỨC NĂNG CỦA WEBSITE 5

1.1.3 MỤC TIÊU VÀ YÊU CẦU KHI XÂY DỰNG HỆ THỐNG 6

Chương 2: CÁC CÔNG CỤ XÂY DỰNG WEBSITE 7

2.1 GIỚI THIỆU MÃ NGUỒN MỞ VÀ PHẦN MỀM TỰ DO 7

2.1.1 MÃ NGUỒN MỞ 7

2.1.2 PHẦN MỀM TỰ DO 7

2.1.3 GIỚI THIỆU HỆ ĐIỀU HÀNH UBUNTU (LINUX) 8

2.2 APACHE, PHP & MYSQL 9

2.2.1 APACHE WEB SERVER: 9

2.2.2 GIỚI THIỆU PHP: 22

2.2.3 GIỚI THIỆU MYSQL 41

2.2.4 TRUY CẬP MYSQL TỪ PHP 47

2.2.5 LÝ DO LỰA CHỌN NGÔN NGỮ 50

Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG WEB LÀNG NGHỀ BÁT TRÀNG 52

3.1.YÊU CẦU ĐẶT RA CHO HỆ THỐNG 52

3.1.1 VỀ MẶT THIẾT BỊ VÀ PHẦN MỀM 52

3.1.2 YÊU CẦU CỦA TRANG WEB 52

3.1.3 CHỨC NĂNG CỦA TRANG WEB 53

3.2 SƠ ĐỒ PHÂN CẤP CHỨC NĂNG 54

3.3 Các sơ đồ luồng dữ liệu 55

3.3.1 Sơ đồ luồng dữ liệu mức ngữ cảnh 55

3.3.2 Sơ đồ luồng dữ liệu mức đỉnh 56

3.3.3 Sơ đồ luồng dữ liệu mức dưới đỉnh 57

3.3.4.1 Phân rã chức năng 1 57

3.3.4.2 Phân rã chức năng 2 57

3.3.4.3 Phân rã chức năng 3 59

Trang 2

3.3.4.4 Phân rã chức năng 4 60

Chương 4 THIẾT KẾ CƠ SỞ DỮ LIỆU 61

4.1 CÁC BẢNG CƠ SỞ DỮ LIỆU 61

4.1.1 Bảng Quản Trị 61

4.1.2 Bảng Khách 61

4.1.3.Bảng Sản Phẩm 62

4.1.4 Bảng Đại Lý 62

4.1.5 Bảng Nhà Cung Cấp 63

4.1.6 Bảng Chủng Loại 63

4.1.7 Bảng ý kiến khách hàng 63

4.1.8 Bảng Tintuc 63

4.2 Mô hình thực thể_ quan hệ 64

Chương 5 GIAO DIỆN 65

5.1.Giao diện trang chủ 65

5.2 Giao diện Đăng Nhập của khách 66

5.3 Giao diện Đăng Ký của khách 66

5.4 Giao diện chi tiết sản phẩm 67

5.5 Giao diện đăng nhập của admin 68

5.6 Giao diện trang admin 68

5.7 Giao diện thêm sản phẩm 69

5.8 Giao diện xem chung loại 69

5.9 Giao diện thêm chủng loại 69

5.10 Giao diện xem đại lý 70

5.11 Giao diện thêm đại lý 70

5.12 Giao diện xem nhà cung cấp 70

5.13 Giao diện thêm nhà cung cấp 70

Chương 6 CODE 71

6.1 CODE DÀNH CHO KHÁCH 71

6.1.1 CODE TRANG INDEX 71

6.1.2 CODE TRANG CHI TIẾT SẢN PHẨM 72

6.1.3 CODE TRANG SẢN PHẨM VIEW THEO CHỦNG LOẠI 74

6.2 CODE DÀNH CHO ADMIN 79

6.2.1 CODE TRANG HOME 79

Trang 3

6.2.2 CODE TRANG VIEW 83

Chương 7 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 93

7.1 Kết Luận 93

7.2 Hướng phát triển 93

Tài liệu tham khảo 96

Trang 4

LỜI NÓI ĐẦU

0 0 0

Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cả chiều rộng và sâu Máy tính điện tử không còn là một thứ phương tiện quý hiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thông dụng của con người, không chỉ ở công sở mà còn ngay cả trong gia đình.

Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức và các doanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mình nhằm tin học hóa các hoạt động tác nghiệp của đơn vị.

Ở Việt Nam cũng có rất nhiều doanh nghiệp đang tiến hành thương mại hóa trên Internet nhưng do những khó khăn về cơ sở hạ tầng như viễn thông chưa phát triển mạnh, các dịch vụ thanh toán điện tử qua ngân hàng chưa phổ biến nên chỉ dừng lại ở mức độ giới thiệu sản phẩm và tiếp nhận đơn đặt hàng thông qua web.

Để tiếp cận và góp phần đẩy mạnh sự phổ biến tin học ở Việt Nam, em đã tìm hiểu và xây dựng “Website giới thiệu sản phẩm và giao lưu văn hóa cho làng nghề gốm sứ bát tràng”

Với sự hướng dẫn tận tình của Thầy Cao Kim Anh em đã hoàn thành cuốn báo cáo đồ án tốt nghiệp này Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm và góp ý của Thầy Em xin chân thành cảm ơn.

Sinh viên thực hiện

Trang 5

Chương 1: GIỚI THIỆU VỀ ĐỀ TÀI 1.1 PHÂN TÍCH YÊU CẦU ĐỀ TÀI

1.1.1 NỘI DUNG CỦA WEBSITE

- Giới thiệu về làng nghề, con người và lịch sử phát triển

- Văn hóa làng nghề cũng như các lễ hội và các triển lãm sản phẩm

- Giới thiệu sản phẩm, tiếp nhận các đơn đặt hàng theo yêu cầu

- Diễn đàn danh cho các doanh nghiệp, khác hàng và những người yêu gốm sứ

- Tổ chức các cuộc thi về thiết kế sản phẩm cũng như nghệ thuật trên chất liệu gốm sứ

- Phần liên hệ khách hàng, hỗ trợ trực tuyến hoặc qua điện thoại

1.1.2 CHỨC NĂNG CỦA WEBSITE

Đây là một website nhằm giới thiệu và quảng bá hình ảnh của làng nghềgốm sứ bát tràng đến người tiêu dùng với các chi tiết mặt hàng, giá cả và nhữnghình ảnh xinh động về làng nghè này Ngoài ra còn có thêm những chức năngsau:

- Cho phép nhập hàng vào CSDL

- Hiển thị danh sách các mặt hàng theo từng loại ( bao gồm: hình ảnh, giá

cả, thời gian bảo hành, mô tả chức năng)

- Hiển thị hàng hóa mà khách hàng đã chọn để mua

- Hiển thị đơn đặt hàng của khách hàng

- Cung cấp khả năng tìm kiếm, khách hàng có thể truy cập từ xa để tìmkiếm xem mặt hàng đặt mua

- Tiếp nhận các mẫu thiết kế sản phẩm của khách hàng

- Cho phép quản lý đơn đặt hàng

- Cập nhập mặt hàng, loại mặt hàng, khách hàng, nhà cung cấp

- Thống kê mặt hàng, khách hàng, đơn dặt hàng, doanh thu

Trang 6

- Cho phép hệ thống quản trị mạng từ xa.

1.1.3 MỤC TIÊU VÀ YÊU CẦU KHI XÂY DỰNG WEBSITE

+ Nhằm đáp ứng được nhu cầu mở rộng thị trường tiêu thụ hàng hóa.+ Thông tin luôn được cập nhật mới và luôn đáp ứng được nhu cầu tìm kiếm thông tin của khách hàng Bên cạnh đó còn tiết kiệm được thời gian và chi phí đi lại cho khách hàng

Những yêu cầu đặt ra cho một hệ thống

+ Hỗ trợ cho khách hàng :

- An toàn khi mua hàng, quản lý một khách hàng

- Truy xuất cơ sở dữ liệu thông qua Internet

- An toàn trên đường truyền

+ Hỗ trợ cho người quản trị :

Để an toàn cho hệ thống, hệ thống sẽ cấp cho người quản trị một mật khẩu

để người quản trị có thể truy cập vào hệ thống, thao tác trên cơ sở dữ liệu (như

bổ sung, cập nhật dữ liệu,…)

Trang 7

Chương 2: CÁC CÔNG CỤ XÂY DỰNG WEBSITE

2.1 GIỚI THIỆU MÃ NGUỒN MỞ VÀ PHẦN MỀM TỰ DO.

2.1.1 MÃ NGUỒN MỞ.

Thuật ngữ “mã nguồn mở” được dùng để chỉ một phần mềm được pháthành kèm theo mã nguồn tạo ra nó Người dùng có thể tự do sử dụng, sửa đổi vàhoàn thiện nó mà không phải lo lắng về các vấn đề pháp lý Phần mềm nguồn

mở cho phép người dùng phân phối lại, tái tạo, sửa đổi nội dung để phù hợp vớiyêu cầu công việc đồng thời cải tiến phần mềm

Tư tưởng phân phối mã nguồn kèm theo chương trình là nhằm khuyếnkhích sự hợp tác làm việc và những đóng góp tình nguyện trong việc sửa đổi, cảitiến phần mềm, phát triển thêm những tính năng mới và chia sẻ thông tin vớimọi người

Nhờ có sự hợp tác làm việc của các lập trình viên, cũng như sự đóng gópcủa những người tình nguyện, phần mềm đến với người dùng ngày càng hoànthiện thêm về mặt chất lượng và trở nên tốt hơn các phần mềm nguồn đóngtương ứng Người dùng được khuyến khích tùy biến chương trình theo nhu cầucủa bản thân, đây thực sự là một tư tưởng tốt đẹp

Các dự án mã nguồn mở đã huy động được tài năng của rất nhiều người,với rất nhiều kỹ năng khác nhau, ngoài kỹ năng lập trình Rất nhiều dự án mãnguồn mở đã được xây dựng nhờ các họa sỹ, nhạc sỹ, nhà thiết kế và nhữngngười biên soạn tài liệu nhờ đó đã tạo ra những sản phẩm hoàn chỉnh

2.1.2 PHẦN MỀM TỰ DO.

Trong những năm 1960 các phần mềm thường được phân phối tự do bởicác công ty như IBM hoặc được chia sẻ giữa những người sử dụng phần mềmvới nhau Phần mềm này được cung cấp kèm theo mã nguồn để có thể sửa đổi

và cải tiến; đây chính là hạt giống đầu tiên cho phần mềm nguồn mở Tuy nhiên,theo thời gian các thiết bị phần cứng trở nên rẻ hơn và lợi nhuận của các công ty

Trang 8

giảm xuống trong những năm 1970 khiến các nhà sản xuất coi phần mềm là sảnphẩm kinh doanh.

Vào thang 9, năm 1983 Richard Matthew Stallman, lập trình viên củaphòng thí nghiệm MIT Artiffical Intelligence đã sáng lập ra dự án GNU để tạo

ra một hệ điều hành miễn phí giống như UNIX Stallman quan tâm đến sự pháttriển nhanh chóng của các phần mềm sở hữu và việc người dùng không có khảnăng xem và sửa đổi các phần mềm nằm trên máy họ Những nhà phát triểncũng bị hạn chế và điều này trái ngược với sự tự do về mã nguồn có trước đó.Bằng việc sáng lập ra dự án GNU, Stallman đã phát động phong trào phần mềm

tự do và đến tháng 10 năm 1985 ông sáng lập ra Tổ chức phần mềm tự do

Stallman đã đặt nền móng cho những định nghĩa và tính chất cho phầnmềm nguồn mở, cũng như những khái niệm về “copyleft” Ông là tác giả chínhcho một số giấy phép “copyleft”, bao gồm GNU/GPL (General Public License),giấy phép phần mềm tự do được sử dụng rộng rãi nhất hiện nay

2.1.3 GIỚI THIỆU HỆ ĐIỀU HÀNH UBUNTU (LINUX).

Ubuntu là một hệ điều hành hoàn toàn mở, được xây dựng dựa trên nhân

(kernel) Linux Cộng đồng người dùng Ubuntu được hình thành bởi những tư

tưởng đã gắn kèm theo triết lý Ubuntu (Ubuntu Philosophy) là : người dùngđược sử dụng phần mềm miễn phí, mỗi một phần mềm đều có thể sử dụng dướigiao diện ngôn ngữ bản địa của người dùng và quan trọng nhất là người dùnghoàn toàn tự do chỉnh sửa và thay đổi phần mềm để phù hợp với nhu cầu sửdụng của mình Vì những lý do đã nêu trên đây :

 Ubuntu sẽ được luôn luôn phân phối miễn phí và cũng chẳng thêm phí

nào cho phiên bản dành cho các công ty, Enterprise edition.

 Ubuntu sẽ luôn luôn bao gồm các bản phiên dịch tốt nhất và sẽ luôn

luôn tạo ra một cơ cấu truy cập (accessibility infrastructure) tốt nhất theo khả

năng cung cấp của cộng đồng lập trình phần mềm tự do, nhằm mục đích chophép càng nhiều người càng có thể sử dụng Ubuntu

Trang 9

 Các phiên bản Ubuntu được công bố đều đặn, với tần xuất định trước;mỗi 6 tháng sẽ ra một phiên bản mới Bạn có thể dùng phiên bản Ubuntu ổnđịnh hoặc dùng phiên bản đang phát triển, tùy ý của bạn Mỗi phiên bản sẽ được

hỗ trợ tối thiểu trong vòng 18 tháng

 Ubuntu hoàn toàn tuân theo những nguyên tắc phát triển phần mềm mãnguồn mở và khuyến khích mọi người dùng phần mềm mã nguồn mở, cải thiệnchúng và phân phối lại cho những người khác

Cộng đồng Ubuntu bao gồm người phát triển, lập trình viên, người thửnghiệm, người soạn tài liệu kỹ thuật, người dùng thử các tài liệu kỹ thuật, ngườidịch và, quan trọng nhất, những người dùng Ubuntu hằng ngày

2.2 APACHE, PHP & MYSQL.

2.2.1 APACHE WEB SERVER:

a Giới thiệu về Apache Web Server:

Apache là một phần mềm Web server được cung cấp bởi tập đoàn ApacheGroup Đây là một Web server được hỗ trợ để chạy chủ yếu trên UNIX vaLINUX và rất được phổ biến bởi tính chặt chẽ, uyển chuyển và linh hoạt Hiệnnay Apache là một Web server đang quản lý hơn 50% số Web site đang có trênthế giới

b Tổ chức Web site:

Trước khi bắt đầu xây dựng một Web site, người sử dụng có thể muốn tìmhiểu tổ chức của nó Khi có nhiều hơn các khả năng suy nghĩ về các cách tổchức cấu trúc một Web site, người sử dụng có thể suy nghĩ về nó như một viễncảnh đi lại Trong những suy nghĩ thêm của nó về khía cạnh này, sẽ nảy sinh ranhững câu hỏi: Người sử dụng có thể làm gì để dễ dàng giữ gìn Web site củamình? Các quy ước nào sẽ làm đơn giản Web site của họ?

c Cài đặt Apache.

Để cài đặt Apache trên Ubuntu, từ giao diện Terminal gõ:

Trang 10

$sudo apt-get install apache2

Hệ thống sẽ tự động kết nối đến kho phần mềm, download về và cài đặt Sau khi cài đặt thông thường Apache sẽ được cấu hình tự động kết nối qua cổng

80 và tiến hành chạy như một dịch vụ mặc định của hệ điều hành

Trường hợp Apache chưa được khởi động, bạn có thể khởi động Apache bằng lệnh sau trong giao diện Terminal:

$ sudo /etc/init.d/apache2 start

Để kiểm tra xem Apache đã hoạt động hay chưa, bạn mở trình duyệt lên

và gõ vào địa chỉ URL: http://localhost

Nếu thành công, bạn sẽ nhận được lời chào từ Apache như sau:

Nếu không người sử dụng sẽ nhận được một thông báo lỗi, có thể xem lạifile error.log trong thư mục log Một khi các cài đặt cơ sở đang làm việc, người

sử dụng phải cấu hình các thuộc tính của nó bằng cách sửa đổi nội dung các filetrong thư mục conf

d Virtual Host:

Trang 11

Vitual Host là một sức mạnh thật sự của Apache Virtual Host cho phépApache Web Server chạy cùng lúc nhiều Web site Apache là một HHTP serverđầu tiên cung cấp các hỗ trợ cho việc xây dựng một virtual site Trong khi cácserver của NCSA và các server khác cũng cung cấp sự hỗ trợ virtual site nhưngApache cung cấp một khả năng thi hành tốt hơn và có nhiều điểm đặc trưng hơncác server khác.

Chỉ mới nhìn qua, dường như sự thuận lợi chính của virtual site là chỉ để

tô điểm, nó cho phép nhiều Web site được đánh địa chỉ tên miền của nó trên cácmáy đơn đã được chia sẻ Tuy nhiên sự thuận lợi của nó nhiều kết quả rõ ràngnằm trong cách quản trị Web site và cách những máy khác sử dụng nó MộtVirtual host thường được tạo ra nhằm mục đích như sau:

- Khách hàng có thể dễ dàng truy cập các Web site của mình trên cácserver cho thuê Từ khi người thuê server có thể sử dụng tên miền của chínhmình, các địa chỉ có khuynh hướng ngắn đi Điều này đã giúp đỡ việc đưa ratính chuyên nghiệp đồng nhất trên thế giới Những người sử dụng thích nhớnhững địa chỉ ngắn hơn từ khi tên miền có một vài sự thích hợp với tên của cáctập đoàn công ty

- Rút gọn tối đa các máy tính và phần cứng mạng, nhiều site tốc độchậm có thể nằm ở tại một máy đơn, điều này làm giảm bớt giá thành của việcđưa một site lên mạng

- Giảm bớt giá thành về con người kết hợp với các hệ thống quản trị.Thay cho việc quản lý và cấu hình một server chuyên dụng cho các tên miền.Một Web server chỉ cần duy trị vài file cấu hình và một số các box Điều này sẽdẫn đến việc giảm một số hệ thống cần để duy tu nó, như vậy việc duy trị mộtmảng sẽ đơn giản hơn và ít tốn kém hơn

Bởi vì hầu hết các Web site khi tạo ra đều không đủ đường truyền lưuthông để sử dụng hết các tài nguyên trên một máy đơn, điều đó là sự khát khao

từ một người quản trị cá nhân cho phép một server đơn giản trên mạng và chạynhư nhiều máy khác nhau thay vì dành cho phần cứng và tiền bạc để mỗi site

Trang 12

được đưa lên, một vài server cấu hình các lệnh để đưa ra các kết quả như nhau:một virtual site Bởi vì phí tổn để cài đặt một server có thể chia xẻ cho nhiềusite, thời gian để cấu hình và quản lý Web site được giảm đi rất nhiều.

Virtual host đã đem lại một khía cạnh chắc chắn của việc tạo ra một trangWeb di động Khi một site là ảo, nó dễ dàng di chuyển đến một Web serverkhác trong cùng một mạng hoặc ở một nơi nào khác Đây chính là vấn đề củaviệc chuyển chỗ các trang HTML của các site đến một máy mới và điều chỉnhcác thông tin DNS (Domain Name Server) của site đưa lên một server mới Đểviệc thích nghi với DNS được cập nhật, đơn giản chỉ cần tạo ra sự đổi hướngtrên server cu? Điều này cho phép sự lưu thông được trôi chảy mà không có sựsai sót, đó là một vấn đề quan trọng với các site đang lớn mạnh đang được lưuthông để tạo ra kinh doanh

Về mặt lịch sử, khi người sử dụng muốn một site đang host sử dụng tênmiền của họ, sự lựa chọn có thể được là mua hoặc thuê một máy tính và dùng nó

để cấu hình như một Web server Phải chịu các phí tổn để tiêu tốn cho việc quản

lý server này Các phí tổn này dễ thường là rất lớn, việc này đã thúc đẩy các nhàcung cấp dịch vụ Internet (ISP) thêm vào các cách để hỗ trợ nhiều Web site trênmột host, điều này dẫn đến một vài giải pháp gần đây, chẳng hạn như HomePage Approach

Home Page Approach tạo ra một địa chỉ giống như:

http://www.isp.dom/~name

Home Page Approach là một cách thích hợp để phục vụ các trang ngườidùng cục bộ Nhưng khi dùng nó để phục vụ cung cấp thông tin lớn và đangđược truy cập thường xuyên bởi một số lớn người sử dụng thì việc này sẽ tạo ramột địa chỉ tồi mà rất khó nhớ, tên nhập vào dài, dễ xảy ra sai sót phía người sửdụng và trông không được chuyên nghiệp lắm

Xây dựng một virtual host:

Trang 13

Các phạm vi liên quan của virtual host, virtual site và multihomed serverthông thường được sử dụng thay thế cho nhau Để dễ hie?u hơn, chỉ cần suynghĩ chúng như sau:

Để tạo một virtual site, thì cần phải cấu hình một virtual host, để virtualhost làm việc cần phải tạo một mutihomed server, như vậy rõ ràng là có sự khácnhau giữa chúng

Một máy tính multihomed là môt máy tính có thể trả lời cùng một lúc đếnnhiều địa chỉ IP Một máy tính mày có thể được truy cập bởi nhiều tên (chẳnghạn như www.mailhost.foo.com và www.foo.com) mà nó thi hành cho các địachỉ IP như nhau không thể là một máy tính Multihomed

Việc đặt bí danh, một khả năng cung cấp bởi DNS trong một bảng ghi tàinguyên CNAME , hoặc liệt kê các tên máy tính trên etc/host/file đằng sau cácđịa chỉ IP thị chỉ tiện lợi cho người sử dụng đang truy cập vào một tài nguyêntrên mạng Thông thường người ta mất nhiều thời gian để nhớ tên, và một vàitên chẳng hạn như WWW hoặc FTP thì là tiêu chuẩn đặc trưng cho các máy tính

mà nó đưa lên mạng các dịch vụ với tên tương tự Người sử dụng chỉ cần nhớtên miền nơi các tài nguyên nơi các tài nguyên đó sử dụng tên truyền thống(chẳng hạn www.aple.com, www.mailhost.com hoặc ftp.aple.com ) Một máyMultihomed cần nhiều hơn thế, nó phải trả lời cho cùng lúc hai hoặc nhiều địachỉ IP chẳng hạn địa chỉ IP 1.2.3.4 là địa chỉ được ấn định bởi mạng làm việcInternet của người sử dụng cung cấp khi họ sign up với chúng

e Virtual site:

Virtual site là một Web site mà nó cùng nằm trên một server với các Website khác Mỗi Web site thị được truy cập bằng tên của chúng và chia xẻ tất cảtài nguyên phần cứng với các virtual site khác Mặc dù tất các yêu cầu đều đượctrả lời bằng các xử lý như nhau trên HTTP server, nhưng các trang chủ khácnhau được trả về cho mỗi site phụ thuộc vào tên hoặc địa chỉ IP sử dụng khi truycập các thông tin

Trang 14

Một vấn đề về mạng khác là việc phải đánh địa chỉ trước khi có thểmultihome là DNS DNS cung cấp một tên máy đến dịch vụ chuyển sang IP.Khi tên máy được đánh số, con người thích sử dụng tên máy hơn DNS chuyểncác tên sang số và các số sang tên Sự thay đổi này có ý nghĩa là nếu người sửdụng kết nối với Internet, và đang chạy với một tên server Nếu không thịngược lại không một ai khác chạy nó Nếu người sử dụng không phải đang chạyvới DNS của chính mình, họ sẽ cần phải ngang hàng với quyền quản trị mạngcủa chính mình để thi hành bất kỳ sự thêm vào hoặc thay đổi DNS.

Conf/access.conf: Chứa các chỉ thị mà nó điều khiển sự truy cậpcác tài liệu Tên file có thể được bỏ qua với chỉ thị AccessConfig

g Apache và các dịch vụ hỗ trợ:

Tên dòng lệnh:

httpd [ -X ] [ -R libexecdir ] [ -d serverroot ] [ -f config]

[ -C directive ] [ -c directive ] [ -D parameter ]

Mô tả:

Là một chương trình HTTP server Nó được thiết kế để chạy như một tiếntrình deamon một mình Khi dùng đến dịch vụ này, nó sẽ tạo ra một nhóm cáctiến trịnh con để đáp ứng các yêu cầu Để ngừng dịch vụ này, nó sẽ gửi một tín

Trang 15

hiệu TERM đến tiến trình cha PIG của tiến trình này sẽ ghi lên một file và dưavào file cấu hình HTTPD sẽ được gọi bởi Internet deamon inetd mỗi khi có mộtkết nối đến dịch vụ HTTP đã được thiết lập.

Các đối số cụ thể của dòng lệnh

-R libexecdir: Tham số này chỉ có hiệu lực nếu Apache được cài đặt với tập

SHARED_CORE cho phép, nó tác động đến nhân nhị phân của Apache để thaythế vào trong một file đối tượng chia xẻ động (DSO) File này được dò tìm trênmột đường dẫn hardcoded bên dưới ServerRoot mặc định

-d serverroot: Thiết lập giá trị ban đầu của chỉ thị ServerRoot đến serverroot.

Chức năng này có thể bị bỏ qua bởi dòng lệnh ServerRoot trong file cấu hình.Mặc định server root là usr/local/apache

-f : Thực thi các lệnh trong file config khi Startup Nếu file config không bắt đầu

với a/, lúc đó nó sẽ lấy một một đường dẫn có liên quan đến ServerRoot Mặcđịnh của nó là conf/httpd.conf

-C directive: Thực hiện cấu hình các chỉ thị trước khi đọc file config.

-c directive: Thực hiện cấu hình các chỉ thị sau khi đọc file config.

-D parameter: Thiết lập một thông số cấu hình mà nó có thể sử dụng với cặp thẻ

<IfDefine> … </IfDefine> trong các file cấu hình để bỏ qua có điều kiện hoặcthực hiện các lệnh

Trang 16

Với các lệnh:

Start: Khởi động Apache deamon Đưa ra một thông báo lỗi nếu chương trình

đang chạy

Stop: Ngừng dịch vụ Apache deamon.

Restart: Khởi động lại Apache deamon bằng cách gửi cho nó một SIGHUP.

Lệnh này tự động kiểm tra các file cấu hình qua văn bản cấu hình trước khi bắtđầu khởi động lại để chắc chắn rằng Apache vẫn còn đang hiện diện trong máy

Fullstatus: Hiển thị đầy đủ các báo cáo trạng thái từ mod_status Để lệnh này

được thi hành, cần phải cho phép mod_status trên server và một trịnh duyệttext_based chẳng hạn như Lynx có sẵn trong hệ thống URL sử dụng nó để truycập bản báo cáo trạng thái có thể được thiết lập bằng giá trị STATUSURL cósẵn trong script

Status: Hiển thị ngắn gọn bảng trạng thái giống như chức năng fullstatus trừ phi

danh sách các yêu cầu phục vụ thời bị bỏ quên

Configtest: Chạy một đoạn văn bản các cụ pháp của file cấu hình Nó phân tích

các file cấu hình và các bảng Syntax Ok hoặc thông tin chi tiết về các lỗi cúpháp đặt biệt

Help: Hiển thị các thông báo lỗi được sắp xếp.

APXS

Tên dòng lệnh:

apxs -g [ -S variable=value ] -n name

apxs -q [ -S variable=value ] query

apxs -i [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dsofile

apxs -e [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dsofile

Mô tả:

Là một công cụ để xây dựng và các đặt các mô đun mở rộng cho ApacheHTTP server Được thực hiện bằng cách cài đặt một DSO từ một hay nhiều

Trang 17

nguồn hoặc đối tượng file mà sau đó nó có thể nạp vào Apache trong thời gianchương trịnh đang chạy qua chỉ thị LoadModule từ mod_so.

Để sử dụng kỹ thuật mở rộng này, máy tính của người sử dụng phải hỗ trợDSO và Apache HTTPD nh? phân phải được xây dựng với mô đun mod_so.Công cụ apxs sẽ tự động nhắc nhở nếu là các trường hợp ngược lại Ta cần phảikiểm tra việc này bằng dòng lệnh:

$ httpd -l

mô đun mod_so phải có trong danh sách được hiển thị Nếu các yêu cầu nàyđược thỏa mãn, thị có thể dễ dàng mở rộng các chức năng của Apache serverbằng cách cài đặt các mô đun của mình với kỹ thuật DSO bằng công cụ apxsnày

Ví dụ:

$ apxs -i -a -c mod_foo.c

gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c

ld -Bshareable -o mod_foo.so mod_foo.o

cp mod_foo.so /path/to/apache/libexec/mod_foo.so

chmod 755 /path/to/apache/libexec/mod_foo.so

[activating module `foo' in /path/to/apache/etc/httpd.conf]

$ apachectl restart

/path/to/apache/sbin/apachectl restart: httpd not running, trying to start

[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded modulefoo_module

/path/to/apache/sbin/apachectl restart: httpd started

Các đối số File có thể là bất kỳ một file nguồn c (.c), file đối tượng (.o)hoặc ngay cả một thư việc lưu trữ (.a) Công cụ apxs tự động công nhận cácphần mở rộng này và tử động sử dụng các file nguồn C cho việc biên dịch trong

Trang 18

khi nó chỉ sử dụng các file đối tượng và lưu trữ cho giai đoạn liên kết Nhưngkhi sử dụng nhiều đối tượng trước biên dịch , phải chắc chắn rằng chứng đượcliên kết cho PIC để có thể sử dụng chúng cho một DSO Cho ví dụ với GCC,người sử dụng luôn chỉ phải sử dụng -fpic Đối với các các biên dịch C khác yêucầu phải tham khảo tài liệu hướng dẫn của nó hoặc chờ đợi các cờ apxs, để biêndịch các file đối tượng.

Các đối số cụ thể của dòng lệnh:

- n name: Thiết lập tên mô đun cho chức năng -i (cài đặt) và -g (tạo khuôn mẫu).

Sử dụng nó để chỉ ra tên mô đun Chức năng -g là bắt buộc, chức năng -I thị cótác dụng khiến công cụ apxs cố gắng xác định tên từ nguồn hoặc ít nhất cũngđoán được từ tên file

-q : Thực hiện truy vấn cho apxs về các cài đặt nào đó Tham số truy vấn có thể

là một hoặc nhiều các giá trị:

Sử dụng các chức năng này để hướng dẫn xác định các thông số cài đặt:

INC = I 'apxs -q INCLUDEDIR'

bên trong các Makefile nếu cần hướng dẫn các truy cập đến các file tiêu đề củaApache

-S variable = value: Chức năng này thay đổi các cài đặt apx đi kèm với các giá

trị đặc biệt theo sau như:

" Chức năng tạo ra một khuôn mẫu:

-q: chức năng tạo ra một thư mục con và 2 file trong đó: Một file nguồn ví dụ

mô đun tên là mod_name.c mà nó có thể sử dụng như một khuôn mẫu cho việc

Trang 19

nhanh cho việc chạy các kỹ thuật apxs Và một mẫu thư Makefile với mục đích

là dễ tạo và cài đặt các mô đun này

" Chức năng biên dịch DSO:

-c : Chức năng này chỉ ra thao tác biên dịch Đầu tiên nó biên dịch các file

nguồn C (.c) của files vào trong các file đối tượng tương ứng (.o) và sau đó càiđặt một DSO vào trong dsofile bằng cách liên kết các file đối tượng này cùngvới các file đối tượng còn lại (.o và a) của files

-o dsofile: Chỉ ra tên file của file DSO đã tạo Nếu không có sự chỉ định và tên

file không thể đoán được từ bảng liệt kê các file, tên dự phòng mod_unknow.sođược sử dụng

" Chức năng cài đặt và định dạng DSO:

-i : Chức năng này để chỉ thao tác cài đặt và cài đặt một hoặc nhiều hơn các

DSO vào trong thư mục libexec của server

-a : Chức năng này để chỉ thao tác kích hoạt đến mô đun bằng cách tự động

thêm vào một dòng LoadModule đến file cấu hình httpd.conf của Apache hoặccho phép nó thực thi nếu đã tồn tại

-A : Chức năng này cũng giống như -a nhưng nó tạo một chỉ thị LoadModule

được đặt thêm vào một dấu (#), có nghĩa là mô đun chỉ cho phép cho các thihành ngay sau đó còn lúc đầu thị bị cấm

-e : Chức năng này dành cho thao tác hiệu chỉnh, có thể sử dụng kèm với chức

năng -a và -A, cũng giống như chức năng -I: Thao tác hiệu chỉnh file cấu hìnhhttpd.conf của Apache mà không cố găng cài đặt các mô đun

Ví dụ:

Giả sử người sử dụng đã có sẵn một mô đun Apache tên là mod_foo.c mà nó sẽ

mở rộng chức năng server của Apache Để làm việc đó, trước hết cần phải biêndịch một nguồn C vào trong một DSO phù hợp cho việc nạp vào trong Apacheserver Có thể sử dụng lệnh sau:

Trang 20

$ apxs -c mod_foo.c

gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c

ld -Bshareable -o mod_foo.so mod_foo.o

$ _

Sau đó tiến hành cập nhật cấu hình Apache bằng cách chắc chắn rằng mộtchỉ thị LoadModule được đưa ra để nạp DSO này Để đơn giản bước này, apxscung cấp một cách tự động cách cài đặt DSO vào trong thư mục libexec và cậpnhật file httpd.conf

LoadModule foo_module libexec/mod_foo.so

được thêm vào để cấu hình file nếu vẫn chưa được đưa ra Nếu muốn cấm thaotác này sử dụng thêm vào chức năng -A

$ apxs -i -A mod_foo.c

Để kiểm tra nhanh apxs, người sử dụng tạo ra một mẫu ví dụ mô đunApache cùng với một thư từ Makefile bằng cách:

Trang 21

$ apxs -g -n foo

Creating [DIR] foo

Creating [FILE] foo/Makefile

Creating [FILE] foo/mod_foo.c

gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c

ld -Bshareable -o mod_foo.so mod_foo.o

apxs -i -a -n "foo" mod_foo.so

Trang 22

2.2.2 GIỚI THIỆU PHP:

Cùng với Apache, PHP và MySQL đã trở thành chuẩn trên các máy chủWeb Rất nhiều phần mềm Web mạnh sử dụng PHP và MySQL (PHP Nuke,Post Nuke, vBulletin…)

PHP là ngôn ngữ có cú pháp gần giống Perl nhưng tốc độ dịch của nó được cácchuyên gia đánh giá là nhanh hơn ASP 5 lần, chạy trên nhiều hệ điều hành nhưUnix, Window, Linux nó hỗ trợ kết nối các hệ cơ sở dữ liệu lớn như MySQL,ngoài ra nó còn được Apache hỗ trợ như là một modul cơ bản

a PHP là gì?

PHP (Personal Home Page hay PHP Hypertext Preprocessor) được giớithiệu năm 1994 bởi R.Lerdoft, như một bộ sưu tập của một ngôn ngữ chưa chặtchẽ dựa vào Perl và các công cụ của trang chủ Vì quá trình xử lý dựa trên máychủ nên các trang Web được viết bằng PHP sẽ dễ nhìn hơn ở bất cứ hệ điềuhành nào Nói một cách ngắn gọn: PHP là một ngôn ngữ lập trịnh kiểu script,chạy trên Server và trả về mã HTML cho trịnh duyệt Xu hướng sử dụng PHPtrong việc thiết kế Web đang ngày càng phát triển trong giai đọan hiện nay vàtrong tương lai

Tới năm 1998, việc công bố phiên bản 3 thị PHP mới chính thức pháttriển theo hướng tách riêng của mình Giống như C và Perl, lúc này nó đã làmột ngôn ngữ lập trịnh có cấu trúc và tính năng đa dạng, chính vì thế đã khuyếnkhích các nhà thiết kế Web sử dụng PHP Nó có thể cung cấp một lượng cơ sở

dữ liệu khá đồ sộ gồm cả MySQL, mSQL, dbm, Hyperwave, Informix, Ocracle,

nó cũng có thể làm việc với các hình ảnh, các file dữ liệu, FTP, XML, và hostcủa các kỹ thuật ứng dụng khác

Mã PHP được đặt trong một kiểu tag đặc biệt cho phép ta có thể vào họăc

ra khỏi chế độ PHP, cú pháp của PHP cơ bản cũng giống như một số ngôn ngữlập trịnh khác, đặc biệt là C và Perl

Trang 23

PHP được nhận dạng dưới 4 dạng phiên bản:

Trang 24

$ sudo apt-get install php5

Tất cả chỉ có vậy, hệ thống sẽ tự động kết nối với kho phần mềm và tựđộng cài đặt và cấu hình cho bạn

Chú ý: Khi sử dụng các số thực tế để tính toán, có thể làm mất giá trị của

nó Vì vậy, nên sử dụng các hàm toán học trong thư viện chuẩn để tính toán

Có 2 cách để xác đinh 1 xâu: Đặt giữa 2 dấu nháy kép("") hoặc giữa 2 dấunháy đơn ('').Chú ý là các biến giá trị sẽ không được khai triển trong xâu giữa 2dấu ngoặc đơn

Mảng thực chất là gồm 2 bảng: Bảng chỉ số và bảng liên kết

Trang 25

a Mảng 1 chiều: Có thể dùng hàm list(), array() để liệt kê ca(c giá trị của từngphần tử trong mảng để tạo mảng Có thể thêm các giá trị vào mảng để tạo thành

1 mảng > Dùng giống trong C

Có thể dùng các hàm asort(), arsort(), ksort(), rsort(), sort(), uasort(),usort(), and uksort() để sắp xếp mảng Tùy thuộc vào việc sắp xếp theo kiểu gì.b.Mảng nhiều chiều: Tương tự như C, có thể dùng như VD sau:

$foo = "0"; // $foo là ký tự ASCII 48

$foo++; // $foo là xâu "1" (ASCII 49)

$foo += 1; // $foo là số nguyên (2)

$foo = $foo + 1.3; // $foo là số thực (3.3)

$foo = 5 + "10 Little Piggies"; // $foo là số nguyên (15)

d Biến - giá trị

PHP quy định một biến được bắt đầu bằng dấu $, sau đó là một chữ cáihoặc dấu gạch dưới

Trang 26

Một số biến đã được tạo sẵn.

ARGV: Mảng tham số truyền cho Script Khi đọan Script chạy bằng dònglệnh, tham số này sẽ được dùng giống như C để truy nhập các tham số dònglệnh

ARGC: Số các tham số được truyền, dùng chung với ARGV

PHP_SELF: Tên của đoạn mã Script đang thực hiện Nếu PHP đang đượcchạy từ dòng lệnh thị tham số này không có giá trị

HTTP_COOKIE_VARS: Một mảng các giá trị được truyền tới Script hiệntại bằng HTTP COOKIE Chỉ có tác dụng nếu "track_vars" trong cấu hìnhđược đặt hoặc chỉ dẫn <?php_track_vars?>

HTTP_GET_VARS: Một mảng các giá trị được truyền tới Script hiện tạibằng HTTP GET Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặthoặc chỉ dẫn <?php_track_vars?>

HTTP_POST_VARS: Một mảng các giá trị được truyền tới Script hiện tạibằng HTTP POST Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặthoặc chỉ dẫn <?php_track_vars?>

PHP coi 1 biến có một giới hạn Để xác định một biến toàn cục (global)

có tác dụng trong một hàm, ta cần khai báo la? Nếu không giá trị của biến sẽđược coi như là cục bộ trong hàm

Trang 28

Với khai báo như trên, $a sẽ không mất đi giá trị sau khi thực hiện lời gọihàm Test() mà $a sẽ được tăng lên 1 sau mỗi lần gọi hàm Test().

echo "$a ${$a}";  echo "$a $hello";

Kết quả là : hello world

Chú ý: Có thể gặp phải trường hợp không rõ ràng khi sử dụng cách này với mảng VD: $$a[1] sẽ hiểu là dùng $a[1] như 1 biến hay dùng $$a như 1 biến

với [1] là chỉ số? Để tránh trường hợp này, cần có sự phân biệt rõ bằng dấu {}

VD: ${$a[1]}hoặc ${$a}[1].

HTML Form: Khi 1 form gắn với 1 file php qua phương thức POST

Trang 29

VD:

<form action="foo.php3" method="post">

Name: <input type="text" name="name"><br>

<input type="submit">

</form>

PHP sẽ tạo 1 biến $name bao gồm mọi giá trị trong trường Name cuảForm

PHP có thể hiểu được một mảng một chiều gồm các giá trị trong 1 Form

Vì vậy, bạn có thể nhóm những giá trị liên quan lại với nhau hoặc sử dụng đặctính này để nhận các giá trị từ 1 đầu vào tuỳ chọn

Khi tính chất track_vars được đặt trong cấu hình hoặc có chỉ dẫn <?php_track_vars?>, các giá trị được submit được lấy ra qua phương thức GET vàPOST có thể lấy từ 2 mảng toàn cục $HTTP_POST_VARS và

$HTTP_GET_VARS

IMAGE SUBMIT:

Khi dùng 1 image để thực hiện submit, có thể dùng tag như sau:

<INPUT TYPE=IMAGE SRC="IMAGE.GIF" NAME="SUB">

Khi người dùng click chuột trên ảnh, form tương ứng sẽ được gởi tớiserver kèm theo 2 giá trị thêm vào: sub_x và sub_y Những biến này sẽ lưu giữtọa độ mà người dùng đã click chuột trên ảnh Người lập trịnh có kinh nghiệm sẽthấy rằng trên thực tế, trịnh duyệt gửi các giá trị có chu kỳ thời gian nhưng PHP

đã tạo cảm giác gần như việc gửi các giá trị đó liên tục

HTTP COOKIES

Trang 30

PHP hỗ trợ HTTP Cookies theo định dạng của Netscape Cookies file lưutrữ thông tin của các trịnh duyệt từ xa và qua đó có thể theo do?i hay nhận biếtngười sử dụng Có thể dùng Cookies bằng hàm SetCookie() Hàm này cần đượcgọi trước khi thông tin được gửi tới trịnh duyệt Bất kỳ cookie nào gửi tới bạn từmáy khách (client) sẽ tự động chuyển thành dữ liệu của phương thức GET vàPOST.

Nếu muốn có nhiều giá trị trong 1 cookie, chỉ cần thêm vào dấu [ ] với têncookie

VD:

SetCookie ("MyCookie[]", "Testing", time()+3600);

Chú ý rằng cookie sẽ thay thế cho cookie cùng tên, trừ trường hợp khác đườngdẫn hoặc miền

BIẾN MÔI TRƯỜNG:

PHP tự động tạo biến cho các biến môi trường như 1 biến bịnh thườngcủa PHP

VD :

echo $HOME; /* Shows the HOME environment variable, if set */

Vì thông tin tới qua các phương thức GET và POST, Cookie cũng tựdộng tạo các biến PHP, thỉnh thoảng bạn nên đọc 1 biến từ môi trường để chắcchắn rằng bạn có đúng version Hàm GETENV() và PUTENV() giúp bạn đọc vàghi với các biến môi trường

Trang 31

DẤU CHẤM TRONG TÊN BIẾN

Bình thường, PHP không thay đổi tên biến khi biến đó được truyền vàođoạn Script Tuy nhiên, nên chú ý rằng dấu chấm (.) không phải là một ký hiệuhợp lệ trong tên biến đối với PHP VÌ vậy, PHP sẽ tự động thay thế các dấuchấm bằng dấu gạch dưới.(_)

e Hằng Số:

PHP định nghĩa sẳn một vài hằng số:

_FILE_ : Tên của script file đang được thực hiện

_LINE_ : Số dòng của mã script đang được thực hiện trong script file hiện tại._PHP_VERSION_ : version của PHP

TRUE

FALSE

E_ERROR : Báo hiệu có lỗi

E_PARSE : Báo lỗi sai khi biên dịch

E_NOTICE : Một vài sự kiện có thể là lỗi hoặc không

E_ALL :

Có thể định nghĩa một hằng số bằng hàm define()

VD :

<?php

define("CONSTANT", "Hello world.");

echo CONSTANT; // outputs "Hello world."

?>

Trang 32

f Biểu Thức

Biểu thức là một phần quan trọng trong PHP Phần lớn mọi thứ bạn viếtđều được coi như là một biểu thức Điều này có nghĩa là mọi thứ đều có một giátrị

Một dạng cơ bản nhất của biểu thức là bao gồm các biến và hằng số

PHP hổ trợ 3 kiều giá trị cơ bản nhất: Số nguyên, số thực, và xâu Ngoài ra còn

có mảng và đối tượng Mỗi kiểu giá trị này đều có thẻ gán cho các biến hay làmgiá trị trả ra khỏi các hàm

Có thể thao tác với các biến trong PHP giống như trong C

if (điều kiện) { các lệnh thực thi; }

elseif ( điều kiện) { các lệnh thực thi;}

else {các lệnh thực thi;}

Trang 33

foreach(array_expression as $value) statement

foreach(array_expression as $key => $value) statement

 Break và continue:

Break: Thoát khỏi vòng lặp hiện thời

Continue: Bỏ qua vòng lặp hiện tại, tiếp tục vòng tiếp theo

 Switch

switch (tên biến) {

case trường hợp 1: break;

case trường hợp 2: break;

case trường hợp 3: break;

Có hai loại cấu trúc điều khiển trong PHP: Ngôn ngữ điều kiện và Điềukhiển theo một vòng khép kin

Hai loại cấu trúc trên chỉ có các lệnh không dùng dấu ngoặc, tuy nhiêncác nhà lập trịnh thường sử dụng chúng để tạo mã dễ hiêủ hơn Các lệnh nàythường được ứng dụng với cùng một lý do

Trang 34

Break: Có thể được dùng để kết thúc lệnh hiện thời Nó cũng có thể được

sử dụng để xoá bỏ For Loops và While Loops, Exit, xoá bỏ toàn bộ nhiệm vụcủa ngôn ngữ lập trịnh Break còn được dùng ở bất kỳ đâu trong ngôn ngữ lậptrịnh

function makecoffee ($type = "cappucino") {

return "Making a cup of $type.\n";

}

Chú ý: Khi sử dụng hàm có đối số có giá trị mặc định, các biến này sẽphải nằm về phía phải nhất trong danh sách các đối số

Trang 35

VD : Sai

function makeyogurt ($type = "acidophilus", $flavour) {

return "Making a bowl of $type $flavour.\n";

}

Đúng:

function makeyogurt ($flavour, $type = "acidophilus") {

return "Making a bowl of $type $flavour.\n";

}

 Gía trị trả lại của hàm:

Có thể là bất kỳ giá trị nào Tuy vậy, không thể trả lại nhiều giá trị riêng lẻnhưng có thể trả lại một mảng các giá trị

Trang 36

 Hàm biến:

PHP cho phép sử dụng hàm giá trị Nghĩa là khi một biến được gọi cókèm theo dấu ngoặc đơn, PHP sẽ tìm hàm có cùng tên với giá trị biến đó và thựchiện

function bar( $arg = '' ) {

echo "In bar(); argument was '$arg'.<br>\n";

Các toán tử logic: And, Or, Xor ! && ||

Toán tử thao tác với bit: & | ^ ~ << >>

Trang 37

Toán tử so sánh: = =,!=, <, >, <=, >=,= = = = (bằng và cùng kiểu-Chỉ cótrong PHP4), != = (khác hoặc khác kiểu-Chỉ có trong PHP 4).

Toán tử điều khiển lỗi: @ - Khi đứng trước 1 biểu thức thị các lỗi củabiểu thức sẽ bị bỏ qua và lưu trong $php_errormsg

VD:

<?php

/* Intentional SQL error (extra quote): */

$res = @mysql_query ("select name, code from 'namelist") or

die ("Query failed: error was '$php_errormsg'");

var $items; // Items in our shopping cart

// Add $num articles of $artnr to the cart

Trang 38

function add_item ($artnr, $num) {

$this->items[$artnr] += $num;

}

// Take $num articles of $artnr out of the cart

function remove_item ($artnr, $num) {

Lớp có thể được mở rộng bằng những lớp khác Lớp mới thu được có tất

cả những biến và hàm của các lớp thành phần Thực hiện việc thừa kế này bằng

từ khoá "extends" Chú ý: Kế thừa nhiều lớp một lúc không được chấp nhận

VD :

Trang 39

class Named_Cart extends Cart {

Các hàm khởi tạo của lớp được gọi tự động khi bạn gọi toán từ new

Tuy nhiên, các hàm khởi tạo của lớp cha sẽ không được gọi khi hàm khởitạo của lớp con được gọi Hàm khởi tạo có thể có đối số hoặc không

k Tham chiếu:

Tham chiếu trong PHP có nghĩa là lấy cùng một giá trị bằng nhiều tênbiến khác nhau Khác với con trỏ C, tham chiếu là một bảng các bí danh Chú ý:Trong PHP, tên biến và nội dung của biến là khác nhau VÌ vậy, cùng 1 nội dung

có thể có nhiều tên khác nhau

Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nội dung

VD :

$a = & $b; > $a, $btrỏ tới cùng một giá tri

Tham chiếu truyền giá trị bằng tham chiếu Thực hiện việc này bằng cáchtạo một hàm cục bộ và truyền giá trị được tham chiếu

VD:

Trang 40

function foo (&$var) {

$foo =& find_var ($bar);

Khi bạn muốn loại bỏ mối liên kết giữa tên biến và giá trị của biến, sửdụng hàm unset()

Ngày đăng: 01/10/2015, 16:21

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[01] Nguyễn Trường Sinh: Thực hành JavaScript (cho web), NXB Thống Kê, 2003 (215 trang) Khác
[02] Phạm Thị Nhung: Giáo Trình Lập Trình Web Với HTML Và JavaScript, Đại Học Quốc Gia TP.HCM, 2008, (168 trang) Khác
[03] Tiêu Đông Nhơn: Giáo Trình Hệ Điều Hành Linux, Đại Học Quốc Gia TP.HCM, 06/2008 (196 trang).b) Tài liệu nước ngoài Khác
[01] PHP Manual, Copyright © 1997 - 2009 by the PHP Documentation Group Khác
[02] MySql Manual, Copyright 1997-2008 MySQL AB, 2008 Sun Microsystems, Inc Khác

HÌNH ẢNH LIÊN QUAN

3.3.1. Sơ đồ luồng dữ liệu mức ngữ cảnh - Website giới thiệu sản phẩm  và giao lưu văn hóa cho làng nghề gốm sứ bát tràng
3.3.1. Sơ đồ luồng dữ liệu mức ngữ cảnh (Trang 54)
3.3.2. Sơ đồ luồng dữ liệu mức đỉnh - Website giới thiệu sản phẩm  và giao lưu văn hóa cho làng nghề gốm sứ bát tràng
3.3.2. Sơ đồ luồng dữ liệu mức đỉnh (Trang 55)
3.3.3. Sơ đồ luồng dữ liệu mức dưới đỉnh - Website giới thiệu sản phẩm  và giao lưu văn hóa cho làng nghề gốm sứ bát tràng
3.3.3. Sơ đồ luồng dữ liệu mức dưới đỉnh (Trang 56)
4.1.4. Bảng Đại Lý - Website giới thiệu sản phẩm  và giao lưu văn hóa cho làng nghề gốm sứ bát tràng
4.1.4. Bảng Đại Lý (Trang 61)
4.1.5. Bảng Nhà Cung Cấp - Website giới thiệu sản phẩm  và giao lưu văn hóa cho làng nghề gốm sứ bát tràng
4.1.5. Bảng Nhà Cung Cấp (Trang 62)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w