Đồ án Thiết kế website bảo hiểm trực tuyến

MỤC LỤC

LỜI NÓI ĐẦU 5

CHƯƠNG I: GIỚI THIỆU 6

CHƯƠNG II: KHẢO SÁT HỆ THỐNG BÁN HÀNG 7

I. ĐỐI TƯỢNG KHAI THÁC (Đối tượng khách hàng) 7

1. Doanh Nghiệp 7

2. Tư Nhân 7

II. CÁC LOẠI HÌNH BẢO HIỂM 8

1. Bảo hiểm dành cho người 8

2. Bảo hiểm dành cho tài sản 9

III. HÌNH THỨC BÁN HÀNG 10

1. Bán hàng trực tuyến 10

2. Bán hàng qua dịch vụ 11

CHƯƠNG III: GIỚI THIỆU MỘT SỐ NGÔN NGỮ & CÔNG CỤ XÂY DỰNG HỆ THỐNG 12

I. GIỚI THIỆU & CÔNG NGHỆ ASP.NET 12

1. Giới thiệu 12

2. Thiết lập ứng dụng ASP.NET 13

2.1. Thành phần giao diện người dùng (UI) 13

2.2. Thành phần tiến trình người dùng (User Process Components) 14

2.3 Dòng nghiệp vụ (Business Workflows) 14

2.4 Thành phần nghiệp vụ (Business Components) 15

2.5 Đại lý dịch vụ (Service Agents) 15

2.6 Giao diện dịch vụ (Service interfaces) 15

2.7 Thành phần logic xử lý dữ liệu: (Data access logic components) 15

2.8 Thành phần thực thể nghiệp vụ (Business entity components) 15

2.9 Thành phần dành cho bảo mật, vận hành và giải pháp (Components forsecurity, operational management and communication ) 16

3. Ưu điểm của ASP.NET 16

II. CÔNG CỤ LÀM WEB 17

1. Giới thiệu cơ sở dữ liệu My SQL 17

2. Tổng quan ORACLE 18

2.1. Oracle là gì ? 18

2.2. Kiến trúc client / server 19

2.3. Các yếu tố của một client / server data based system 19

2.4. SQL 21

2.5. PL/SQL 21

3.Một số công cụ của Oracle 21

3.1. Giới thiệu vế lớp vật lý và lớp Logic của CSDL Oracle 22

3.2. Tablespace và các tập tin dữ liệu 23

3.3. Schame cơ sở dữ liệu 24

4. View 25

5. Cluster 26

6. Index 26

7. Sequence 27

8. Trigger 27

9. Stored procedure và function 27

10. Ngôn ngữ lập trình PHP 28

10.1. PHP có thể là gì 29

11. Các kiểu dữ liệu 30

11.1. Kiểu Boolean 30

11.2. Kiểu số nguyên (Interger) 30

11.3. Kiểu số thực (FLOAT POINT NUMBERS) 31

11.4. Kiểu Ký tự (STRINGS) 31

11.5. Kiểu mảng (ARRAY) 32

11.6.Biến 33

12. Một số biến toàn cục được tạo sẵn trong PHP 34

12.1. Phạm vi biến 35

12.2. Các biến bên ngoài phạm vi PHP 36

12.3. Hằng số 37

12.4. Biểu thức 38

13. Cấu trúc điều khiển 38

13.1. Câu lệnh IF 38

13.2. Câu lệnh IF ELSE 39

13.3. Câu lệnh IF ELSEIF 39

14. Vòng lặp 39

14.1. Vòng lặp WHILE 39

14.2. Vòng lặp DO . WHILE 39

14.3. Vòng lặp FOR 40

14.4. Vòng lặp FOREACH 40

15. Break và Continue 40

16. Câu lệnh Switch 40

17. Hàm 41

18. Truyền theo tham trị 41

CHƯƠNG IV: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 45

I. PHÂN TÍCH HỆ THỐNG 45

Mô tả hệ quản trị cơ sở dữ liệu 45

II. THIẾT KẾ HỆ THỐNG 46

1.Mô tả một số modul 46

1.1. Modul About_us 46

1.2. Modul Content 48

CHƯƠNG V: CÀI ĐẶT HỆ THỐNG 59

I. CÀI TRÊN CLIENT 59

1. Điều kiện 59

2. Yêu cầu 59

CHƯƠNG VI: SƠ ĐỒ WEBSITE &GIAO DIỆN 63

I. SƠ ĐỒ WEBSITE 63

II. GIAO DIỆN WEBSITE 64

1. Trang Chủ 64

2. Trang giới thiệu 65

3. Trang thành viên 66

4. Trang đăng nhập 67

5. Trang Liên hệ 68

6. Trang bảo hiểm xe cơ giới 69

7. Trang các dịch vụ khác 70

8. Trang mạng lưới 71

9. Cam kết 72

10. Giao diện trang Admin 73

CHƯƠNG VII: ỨNG DỤNG VÀ PHÁT TRIỂN 74

I. ỨNG DỤNG 74

1. Quảng bá thương hiệu 74

2. Kinh doanh 74

II. PHÁT TRIỂN 74

III. ƯU ĐIỂM CỦA WEBSITE 75

IV. NHƯỢC ĐIỂM 76

CHƯƠNG VIII: TỔNG KẾT 77

 

 

doc77 trang | Chia sẻ: maiphuongdc | Lượt xem: 1717 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế website bảo hiểm trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
trong trường hợp hệ thống có sự cố. 2.2. Kiến trúc client / server - Client là một thành phần của hệ thống yêu cầu dịch vụ hoặc tài nguyên từ những thành phần hệ thống khác. - Server là một thành phần của hệ thống cung cấp dịch vụ hoặc tài nguyên cho những thành phần hệ thống khác. 2.3. Các yếu tố của một client / server data based system Server: Một tập hợp các mục dữ liệu và đối tượng trợ giúp được tổ chức và trình bày để thuận tiện phục vụ như: tìm kiếm, sắp thứ tự, khôi phục, cập nhật và phân tích dữ liệu. CSDL bao gồm bộ nhớ dữ liệu vật lý và các dịch vụ CSDL. Mọi dữ liệu đều được truy cập qua hệ phục vụ, không bao giờ được truy xuất trực tiếp. Client: Một chương trình có thể tác động qua lại với con người hoặc một quá trình tự động. Nó bao gồm tất cả những phần mềm có liên quan đến server, yêu cầu dữ liệu từ CSDL hoặc gửi dữ liệu đến CSDL. Truyền nhận giữa client và server: Sự truyền nhận này phụ thuộc nhiều vào client và server thực thi như thế nào. Mọi sự thực thi hệ thống CSDL đều thuộc một trong ba loại sau: File_based system: Các hệ thống này dùng ứng dụng truy xuất trực tiếp các file dữ liệu trên một đĩa cứng cục bộ hoặc một hệ phục vụ file mạng. Các hệ thống này thực hiện các dịch vụ CSDL và truyền nhận logic như một phần của ứng dụng client. Trong việc thực thi này, ứng dụng client đóng vai trò client và vai trò hệ phục vụ. Host_based system: Hệ thống này thường dùng trong các mainframe và mini_computer. Những hệ thống này thực thi tất cả hoặc hầu hết dịch vụ CSDL và chức năng của client trên một máy tính trung tâm lớn. Người dùng xem và tác động đến ứng dụng client bằng cách dùng một thiết bị đầu cuối từ xa. Truyền nhận giữa client và CSDL thực thi thực hiện trên một host computer và host computer đóng vai trò của client và server. Client / server system: Hệ thống này được thiết kế từ dịch vụ CSDL riêng lẻ đến client bằng cách cho phép truyền nhận giữa chúng là mở và linh hoạt hơn. Dịch vụ CSDL được thực thi trên một máy tính mạnh, cho phép quản trị tập trung, bảo mật và dùng chung tài nguyên. Do đó, hệ phục vụ trong client / server là CSDL và hệ phục vụ của chính nó. Những ứng dụng client được thực thi trên các nền khác nhau bằng cách dùng nhiều công cụ khác nhau. Quá trình này cho phép linh hoạt hơn và các ứng dụng của người sử dụng có tính chất rất cao. Hiện nay, nhiều tổ chức kết hợp sử dụng cả ba hệ thống này. Ưu, nhược điểm của chúng có thể được tóm tắt qua bảng sau: Đặc điểm File_based Host_based Client / Server Giá cả Rẻ Đắt Biến động Độ tin cậy Kém Cao Từ trung bình đến tốt Tính bảo mật Kém Tốt Từ trung bình đến tốt Phát triển ứng dụng Đòi hỏi kỷ năng Phải có nhân viên lành nghề Phải có nhân viên lành nghề CSDL Trung bình(~ 50MB) Rất lớn(hàng GB) Rất lớn (hàng GB) Quản trị tập trung Minimal Excellent Excellent Giao diện với người sử dụng Rất linh hoạt Không linh hoạt Linh hoạt Sử dụng mạng Không hiệu quả Hiệu quả Có thể hiệu quả Vendor look_in Từ thấp đến trung bình Cao Trung bình 2.4. SQL SQL (Structured Query Language) - Ngôn ngữ truy vấn có cấu trúc là phương tiện chính để làm việc với cơ sở dữ liệu Oracle. 2.5. PL/SQL Trong Oracle có một ngôn ngữ đặc biệt cho phép kết hợp ngôn ngữ thủ tục truyền thống với sự truy xuất các đối tượng cơ sở dữ liệu thông qua ngôn ngữ SQL, đó là ngôn ngữ PL/SQL. 3.Một số công cụ của Oracle Oracle cung cấp cho các nhà lập trình rất nhiều công cụ lập trình phát triển ứng dụng liên quan đến cơ sở dữ liệu và phát triển Internet. Trong phiên bản Oracle 8i có khoảng 150 công cụ chạy trên các môi trường hệ điều hành khác nhau, các công cụ hỗ trợ giao tiếp cho các CSDL từ xa, phát triển ứng dụng CSDL từ xa thông qua môi trường Internet,…Một số công cụ dùng để phát triển thông dụng nhất như: Oracle8i Enterprise Edition 8i. SQL * Plus 8.0: Một phần mềm giao tiếp kiểu dòng lệnh, cho phép tương tác với Oracle thông qua hai ngôn ngữ SQL và PL/SQL. Oracle Net8 : Một phần mềm kết nối CSDL dùng để cung cấp các thông tin CSDL xác thực, tối ưu trên mọi thủ tục mạng thông dụng. Oracle Enterprise Manager: Một phần mềm có giao diện rất tốt hỗ trợ cho việc quản lý các đối tượng của cơ sở dữ liệu Oracle. Develper 6.0, Developer/2000, Jdeveloper for Oracle 8i: gồm Oracle Form Builder, Oracle Report Builder, Oracle Procedure Builder, Oracle Project Builder được tích hợp vào môi trường phát triển. Designer 2000: phát triển các ứng dụng Oracle. Power Object: cung cấp môi trường phát triển ứng dụng nhanh với các đặc trưng kéo thả và quản lý CSDL. Oracle Names: Tạo các liên kết CSDL chứa các thông tin nút mạng trên một mạng bằng cách sử dụng từ điển toàn cục chung Oracle Names. Multi-protocol Interchange: cung cấp một nhu cầu giao tiếp trên các thủ tục khác biệt bằng cách gửi thông điệp SQL* Net từ thủ tục này sang thủ tục khác. Oracle Network Manager: Quản lý cấu hình và quản lý mạng CSDL phân tán được thực hiện dễ dàng với Network Manager. Network Manager được sử dụng không chỉ để quản lý từ điển Oracle Names mà còn tạo ra các file cấu hình cho các thành phần Client/Server của SQL*Net và định nghĩa cho các đường kết nối cho các nút Multi-Protocol Interchange. 3.1. Giới thiệu vế lớp vật lý và lớp Logic của CSDL Oracle CSDL Oracle gồm có hai lớp: lớp vật lý và lớp logic. a. Lớp vật lý Lớp vật lý của CSDL Oracle là một số tập tin nằm trên đĩa. Vị trí vật lý của những tập tin này không liên quan đến chức năng của CSDL nhưng có thể liên quan đến hiệu năng của CSDL. Dữ liệu trong những tập tin này thường được truy xuất bởi các công cụ của Oracle thông qua ngôn ngữ truy vấn có cấu trúc SQL. Lớp vật lý bao gồm ba loại tập tin: các tập tin dữ liệu (data file), các tập tin điều khiển (control file) và các tập tin phuc hồi (Redo log files). Data files: đây là các tập tin quan trọng nhất trong ba loại tập tin và là nơi chứa dữ liệu thật sự của CSDL. Các tập tin dữ liệu có kích thước lớn từ vài megabytes đến hàng gigabytes. Chúng lưu trữ các thông tin chứa trong CSDL. Một CSDL nhỏ có thể có vài tập tin dữ liệu và có hàng trăm tập tin dữ liệu cho những CSDL lớn. Phân bố lưu trữ thông tin trên nhiều tập tin dữ liệu có thể làm tăng hiệu năng cho CSDL. Số tập tin dữ liệu có thể được giới hạn bằng tham số MAXDATAFILES khi tạo ra một CSDL mới. Control files: một CSDL cần có một hay nhiều tập tin điều khiển, các tập tin điều khiển lưu trữ thông tin cấu trúc của CSDL. Redo log files: là các tập tin được sử dụng để lưu giữ các thông tin ban đầu và toàn bộ quá trình thay đổi của CSDL sau khi nó được tạo ra, phục vụ cho mục đích phục hồi lại CSDL trong trường hợp hệ thống bị sự cố. b. Lớp logic Lớp logic của Oracle gồm các nguyên tố sau: Một hay nhiều không gian bảng (tablespace). Các schame cơ sở dữ liệu gồm các đối tượng như table, view, index, cluster, stored procedure, trigger, sequence, … Mỗi schame CSDL thuộc sở hữu một user được xác định bởi một username và password duy nhất đối với CSDL. Sau khi đăng nhập vào CSDL với username và password hợp lệ user có thể thao tác trên CSDL với quyền được cấp phát cho user đó ở cấp độ nào. Không gian bảng là một khái niệm trừu tượng, vậy không gian bảng có liên quan như thế nào đến CSDL và các tập tin dữ liệu. 3.2. Tablespace và các tập tin dữ liệu CSDL được chia thành một hay nhiều mẩu logic gọi là không gian bảng (tablespace). Một tablespace bao gồm một hay nhiều tập tin dữ liệu vật lý, việc phân bố nhiều hơn một tập tin dữ liệu trên một tablespace, có thể phân bổ dữ liệu trên nhiều đĩa vật lý khác nhau để phân tán truy xuất vào ra và cải thiện khả năng thi hành. Khi tạo ra một CSDL, Oracle tự động tạo ra một tablespace SYSTEM, tablespace này là nơi chứa tự điển dữ liệu. Tự điển dữ liệu chứa thông tin về các table, index, cluster,…Tablespace SYSTEM là vị trí mặc định của tất cả các đối tượng khi một CSDL được tạo ra. Thông thường, người ta tạo nhiều tablespace để phân hóa các đối tượng khác nhau của CSDL đồng thời dành riêng tablespace SYSTEM cho từ điển dữ liệu, đây cũng là một phương pháp hữu hiệu để bảo đảm cơ sở dữ liệu luôn khỏe mạnh. Có thể mở rộng không gian một CSDL theo 3 cách sau: Thêm một tập tin dữ liệu vào một tablespace. Cú pháp: ALTER TABLESPACE TABLESPACE_NAME ADD DATAFILE ‘DATAFILE.ORA’; Thêm một tablespace mới. Cú pháp: CREATE TABLESPACE TABLESPACE_NAME DATAFILE ‘DATAFILE.ORA’; Tăng kích thước tập tin dữ liệu. ALTER DATABASE DATAFILE ‘DATAFILE.ORA’ AUTOEXTENT ON NEXT MIN_NUMBER MB MAXSIZE MAX_NUMBER MB; Kích thước của tablespace là tổng kích thước của các tập tin dữ liệu tạo nên tablespace và kích thước của CSDL là tổng kích thước của các tablespace trong CSDL đó. 3.3. Schame cơ sở dữ liệu Một schame CSDL là một tập hợp các cấu trúc logic các đối tượng hay schame objects. Schame objects này bao gồm tables, indexes, clusters, views, stored procedures, database triggers and sequences. Tạo Table Cú pháp: CREATE TABLE tênbảng (tên_cột kiểu_dữ_liệu(độdài) [,…n]); - Tạo ràng buộc khóa chính cho bảng: Cú pháp: CONSTRAINT PRIMARY KEY ; - Tạo ràng buộc khóa ngoại cho bảng: Cú pháp: CONSTRAINT FOREIGN KEY (tên cột là khóa chính của bảng cha) REFERENCES tên_bảng_cha(tên cột là khóa chính của bảng cha); - Tạo ràng buộc unique cho cột trong bảng: Ràng buộc unique bảo đảm không có hai hàng của một bảng dữ liệu có giá trị trùng nhau trên cột có áp đặt ràng buộc này. Cú pháp: CONSTRAINT UNIQUE (tên_cột); - Tạo ràng buộc Check Condition cho cột trong bảng: Cú pháp: CONSTRAINT CHECK(tên_cột toán_tử_so_sánh giá_trị); - Tạo ràng buộc NOT NULL cho cột trong bảng: Thêm cụm từ NOT NULL theo sau tên cột khi tạo bảng. Ví dụ: TênTỉnh VARCHAR2(20) NOT NULL, Thêm, xóa và bổ sung độ dài dữ liệu một cột - Thêm một cột: Cú pháp: ALTER TABLE tên_bảng ADD (tên_cột kiểu_dữ_liệu (độ dài)); - Xóa một cột: ALTER TABLE tên_bảng DROP COLUMN (tên_cột); - Bổ sung độ dài dữ liệu một cột: ALTER TABLE tên_bảng MODIFY (tên_cột kiểu_dữ_liệu(độ dài)); Xóa bảng Xóa một bảng nghĩa là hủy mọi dữ liệu của bảng và quyền sở hữu đối với bảng đó. Cú pháp: DROP TABLE tên_bảng; Chú ý: Trước khi xóa một bảng, phải hủy bỏ mọi quan hệ phụ thuộc giữa bảng và các đối tượng khác. 4. View View là một đối tượng CSDL nó lưu trữ một query đã định nghĩa trước. Công dụng của view là hiển thị dữ liệu trong một hay nhiều bảng và xử lý như một bảng ảo nghĩa là có thể nhập dữ liệu vào nhiều bảng cùng một lúc thông qua view. Tạo view Cú pháp: CREATE VIEW tên_view AS (SELECT FROM ; Xóa view Ta có thể xóa view với cú pháp: DROP VIEW tên_view; 5. Cluster Cluster là một nhóm các bảng có cùng chung cột lưu trữ vật lý như một bảng để chia sẻ cột chung cho các bảng trong nhóm đã tạo nên cluster. Cluster giúp giảm nhập/xuất đĩa và cải thiện thời gian truy cập nhờ nối các bảng cluster đồng thời cũng làm giảm không gian lưu trữ các bảng góp phần thu gọn không gian cho CSDL. Có thể tạo cluster theo cú pháp: CREATE CLUSTER tên_cluster(); Tương tự như các đối tượng khác của Oracle ta có thể xóa Cluster theo cú pháp: DROP CLUSTER tên_cluster; 6. Index Index là cấu trúc tùy chọn kết hợp với các table và các cluster. Ta có thể tạo ra các index tường minh để tăng tốc độ thực hiện các lệnh SQL trên các bảng. Một index đơn thuần chỉ là một đường truy xuất nhanh đến dữ liệu, nó trỏ trực tiếp vào vị trí của hàng chứa giá trị index đó. Index độc lập về mặt logic và vật lý với dữ liệu trong các bảng kết hợp. Ta có thể tạo ra hay xóa một index bất cứ lúc nào mà không ảnh hưởng đến bảng gốc và các index khác. Khi ta tạo ra các bảng với các ràng buộc khóa chính, khóa ngoại, unique thì Oracle tự động tạo ra index tương ứng cho các bảng đó. Có thể tạo Index theo cú pháp: CREATE INDEX tên_index ON tên_bảng(tên_cột); Xóa Index theo cú pháp: DROP INDEX tên_index; 7. Sequence Sequence là một đối tượng CSDL đặc biệt tạo ra các số nguyên theo quy luật đặc trưng lúc sequence được tạo ra. Các sequence có thể dùng cho nhiều mục đích trong các hệ CSDL, nhưng thường người ta dùng nó để tạo ra các khóa chính của bảng một cách tự động. Có nhiều quy luật tạo ra các sequence theo các từ khóa sẵn có của Oracle: Start with n: sequence được tạo ra với giá trị chỉ định ban đầu trong Start with khi đó cột ảo NEXTVAL của sequence được tham trỏ. Increment by n: Định nghĩa số tăng của sequence mỗi lúc cột ảo NEXTVAL được tham trỏ. Minvalue n: giá trị tối thiểu có thể tạo bởi sequence nếu từ khóa nominvalue chưa được sử dụng. Maxvalue n: giá trị tối đa có thể tạo bởi sequence nếu từ khóa nomaxvalue chưa được sử dụng. Cycle: cho phép sequence tạo lại giá trị ban đầu khi đạt đến maxvalue hay minvalue nếu từ khóa nocycle chưa được sử dụng. Cache n: cho phép sequence dùng bộ nhớ cache để tăng hiệu năng, nếu từ khóa nocache chưa được sử dụng. Order: cho phép gán các giá trị theo thứ tự yêu cầu, nếu không sử dụng order từ khóa nocache có thể sử dụng . 8. Trigger Trigger là một đối tượng CSDL được chạy tự động khi một sự kiện INSERT, UPDATE, DELETE trên bảng hay view có mốc nối với trigger. 9. Stored procedure và function Một stored procedure hay function là một đối tượng CSDL gồm một tập các lệnh SQL hay PL/SQL tạo thành một tập tin thực thi để thực hiện một tác vụ đặc biệt nào đó. Stored procedure và function cho phép ta kết hợp dễ dàng và linh động chức năng có tính thủ tục với một ngôn ngữ lập trình có cấu trúc SQL. Các procedure và các function gần như giống nhau chỉ khác là function luôn trả về một hay nhiều giá trị, còn procedure thì không trả về giá trị nào. 10. Ngôn ngữ lập trình PHP PHP là một ngôn ngữ kịch bản phía máy phục vụ, mã nguồn mở được sử dụng rộng rãi vào các mục đích chung mà đặc biệt thích hợp cho phát triển Web và có thể nhúng vào trang HTML. Khi mới giới thiệu, PHP được viết tắt từ một nhóm từ tiếng Anh là Personal Home Page và bây giờ được tái viết tắt cho cụm từ: PHP Hypertext Preprocessor. PHP được giới thiệu vào năm 1994 bởi Rasmus Lerdorf, như một bộ sưu tập của một ngôn ngữ chưa chặt chẽ dựa vào Perl. Đến năm 1998, phiên bản 3 của PHP được công bố, từ đây PHP mới chính thức phát triển theo hướng tách riêng của mình. PHP trở thành ngôn ngữ lập trình có cấu trúc và tính năng đa dạng, chính vì thế được các nhà lập trình Web ưa dùng. Ngôn ngữ kịch bản PHP có thể nhúng vào HTML nên đây chính là điểm khác của nó với các ngôn ngữ khác như Perl hoặc C, thay vì một chương trình được viết với nhiều dòng lệnh để xuất ra trang HTML, bạn viết một kịch bản HTML trong đó gắn mã nguồn PHP để làm một vài việc. Mã nguồn PHP thực hiện trên máy phục vụ và trả về máy khách yêu cầu nó kết quả dưới dạng các trang HTML. Khối mã nguồn PHP được bao quanh giữa các thẻ đặc biệt mà nó cho phép nhảy vào hay ra khỏi chế độ PHP. Có thể sử dụng bốn cách tổ chức các thẻ để biểu thị các khối của mã nguồn PHP: Ví dụ: Ví dụ: Ví dụ: echo “Cách thứ ba”; Ví dụ: Tuy nhiên cách đầu tiên được ưa chuộng và dùng phổ biến hơn. 10.1. PHP có thể là gì PHP chủ yếu đặt trọng tâm trên kịch bản phía máy phục vụ vì thế bạn có thể làm bất cứ điều gì mà các chương trình CGI khác có thể làm được, như tập hợp dữ liệu hình thức, tạo ra nội dung các trang động hoặc gửi và nhận các cookie. Nhưng PHP có thể làm được nhiều hơn thế. Cụ thể là kịch bản PHP có thể sử dụng trên ba nền chính sau: Kịch bản phía máy phục vụ: đây là nền mục tiêu chính và truyền thống nhất đại diện cho PHP. Bạn cần phải có ba thứ để làm việc ở nền này, đó là bộ phân tích cú pháp PHP (CGI hoặc môđun máy phục vụ), một máy phục vụ Web và một trình duyệt Web. Bạn cần phải chạy máy phục vụ Web với một kết nối đến PHP đã được cài đặt. Bạn có thể truy cập chương trình PHP xuất ra với trình duyệt Web để nhìn trang PHP trả về từ máy phục vụ. Kịch bản dòng lệnh: bạn có thể tạo một kịch bản PHP để chạy nó mà không cần bất cứ máy phục vụ hoặc trình duyệt Web nào. Bạn chỉ cần sử dụng bộ phân tích cú pháp PHP trong cách này. Viết các ứng dụng GUI phía máy khách: PHP thì không có khả năng để viết rất tốt các ứng dụng windows nhưng nếu PHP của bạn tuyệt vời và có thể sử dụng những đặc trưng thuận lợi của PHP trên các ứng dụng phía máy khách bạn cũng có thể sử dụng PHP-GIK để viết các chương trình. PHP có thể sử dụng trên tất cả các hệ điều hành chính, bao gồm Linux, nhiều hệ Unix khác nhau, Microsoft Windows, Mac OS X, RISC OS, …PHP cũng hỗ trợ cho hầu hết các máy phục vụ Web hiện nay như là Apache, Microsoft Internet Information Server, Personal Web Server, … Vì thế với PHP, bạn có thể tự do chọn lựa một hệ điều hành và một máy phục vụ Web. Hơn thế nữa, bạn cũng có thể chọn cách lập trình thủ tục hoặc lập trình hướng đối tượng hoặc trộn lẫn cả hai. PHP không hạn chế trong việc xuất ra trang HTML. PHP có khả năng bao gồm xuất ra các dạng hình ảnh, các tệp PDF và thậm chí cả phim ảnh dưới dạng Flash. Bạn cũng có thể dễ dàng xuất ra mọi kiểu văn bản như là XHTML và bất kỳ tệp XML khác. PHP có thể tự động sinh ra các tệp dạng này và lưu chúng trong hệ thống tệp thay vì in nó ra, nội dung động được định dạng nhanh từ phía máy phục vụ. Một đặc trưng mạnh và quan trọng nhất trong PHP là nó hỗ trợ nhiều hệ cơ sơ dữ liệu. Viết một trang Web cho phép cập nhật cơ sở dữ liệu thì đơn giản đến lạ thường. Các cơ sở dữ liệu được hỗ trợ gồm: MySQL, MS-SQL, Oracle(OCI7 và OCI8), PostgreSQL, mSQL,…PHP hỗ trợ ODBC vì thế bạn có thể kết nối bất kỳ cơ sở dữ liệu nào hổ trợ tiêu chuẩn quốc tế này. PHP còn hỗ trợ cho việc giao tiếp với các dịch vụ sử dụng các giao thức như là POP3, HTTP, COM, SNMP, NNTP,… Khi sử dụng PHP trong nền thương mại điện tử, bạn sẽ tìm thấy nhiều hàm hữu dụng cho các chương trình thanh toán trên mạng. Cuối cùng nhưng không kém phần quan trọng, chúng ta có được nhiều mở rộng thú vị khác, các hàm cho bộ máy tìm kiếm mnoGoSearch, các hàm cổng IRC, nhiều tiện ích nén, chuyển đổi, thông dịch,… 11. Các kiểu dữ liệu 11.1. Kiểu Boolean Đây là kiểu đơn giản nhất, nó có thể có hai giá trị TRUE hoặc FALSE. Ví dụ: <? $foo=True; ?> 11.2. Kiểu số nguyên (Interger) Số nguyên là một số thuộc tập hợp Z = {…,-2,-1,0,1,2,…}. Số nguyên có thể xác định trong hệ thập phân, hệ bát phân, hệ thập lục phân, số có dấu (- hoặc +). Nếu bạn sử dụng hệ bát phân thì phải ký hiệu thêm phía trước số là 0 (zero), hệ thập lục phân thì phải ký hiệu thêm phía trước số là 0x. Ví dụ: <? $a = 1234; //số thập phân. $b = -123; // số âm $c = 0123; // số viết dưới hệ bát phân (giá trị thập phân là 83) $d = 0x1A; // số viết dưới hệ thập lục phân (giá trị thập phân là 26) ?> 11.3. Kiểu số thực (FLOAT POINT NUMBERS) Ví dụ: <? $a = 1.234; $b = 1.2e3; $c = 7E-10; ?> 11.4. Kiểu Ký tự (STRINGS) Một chuỗi là một nhóm các ký tự. Có ba cách khác nhau để xác định một chuỗi trong PHP: - Dùng dấu nháy đơn (single qouted): Đây là cách dễ nhất để xác định một chuỗi là nó bao quanh trong hai dấu nháy đơn (‘’). Ví dụ: <? echo ‘Dấu nháy đơn.’; ?> - Dùng dấu nháy kép (double qouted): Chuỗi được bao quanh trong hai dấu nháy kép (“ ”). Ví dụ: <? echo “Dấu nháy kép.”; ?> - Dùng Heredoc. Một cách khác để giới hạn chuỗi là sử dụng cú pháp Heredoc (“<<<”). Ví dụ: <? $str = <<<EOD Sử dụng Heredoc là cách thứ ba. EOD; echo $str; ?> Các chuỗi có thể được nối với nhau bằng cách sử dụng toán tử chấm ‘.’. 11.5. Kiểu mảng (ARRAY) Có thể tạo mảng trong PHP với hàm array(). Cú pháp: array([Từ khóa =>] giá trị,…) Từ khóa: có thể là một số nguyên hay một chuỗi. Ví dụ: <? $arr = array(“foo” => “bar”, 12 => true); echo $arr[“foo”]; //bar echo $arr[12]; //1 ?> Có thể thêm một phần tử vào mảng đã khai báo với cú pháp: $arr[từ khóa] = giá trị; $arr[] = giá trị; Đồng thời cũng có thể xóa một phần tử ra khỏi mảng hay thậm chí xóa cả mảng đã tạo bằng cách sử dụng hàm unset(). Ví dụ: <? $arr = array(“foo” => “bar”, 12 => true); $arr[] = 56; // sẽ được PHP hiểu như $arr[13] = 56; $arr[“x”] = 24; // thêm một phần tử vào mảng với từ khóa là “x” unset($arr[“foo”]); // xóa phần tử có từ khóa là “foo”. unset($arr); Xóa mảng $arr ?> PHP còn hỗ trợ cả mảng hai chiều và ba chiều. Ví dụ: $two_dimen = array( array(“a”, “b”, 10), array(“c”, “d”, 15), array(“e”, “f”, 20) ); // mảng hai chiều. $three_dimen = array(array(array(“a”, “b”, 10), array(“c”, “d”, 15), array(“e”, “f”, 20) ), array(array(“a”, “b”, 25), array(“c”, “d”, 30), array(“e”, “f”, 35) ), array(array(“a”, “b”, 40), array(“c”, “d”, 45), array(“e”, “f”, 50) ) ); // mảng ba chiều. 11.6.Biến PHP quy định một biến được biểu diễn bắt đầu bằng dấu $, theo sau là tên biến. Tên biến hợp lệ phải bắt đầu bằng một ký tự hoặc dấu gạch dưới ( _ ), theo sau nữa là bất kỳ ký tự hay số. Ví dụ: <? $var = “Dang”; $Var = “Trinh”; echo “$var, $Var”; // Dang, Trinh ?> 12. Một số biến toàn cục được tạo sẵn trong PHP $GLOBALS: chứa một tham chiếu đến mỗi biến mà nó có giá trị hiện hành trong phạm vi toàn cục của kịch bản. Các từ khóa của mảng này là tên của các biến toàn cục. $GLOBALS tồn tại từ PHP 3. $_SERVER: tập hợp các biến bởi máy phục vụ Web. Giống như mảng $HTTP_SERVER_VARS cũ. $_GET: các biến cung cấp đến kịch bản hiện tại bằng HTTP GET. Giống như mảng $HTTP_GET_VARS cũ. $_POST: các biến cung cấp đến kịch bản hiện tại bằng HTTP POST. Giống như mảng $HTTP_POST_VARS cũ. $_COOKIE: các biến cung cấp đến kịch bản hiện tại bằng HTTP cookies. Giống như mảng $HTTP_COOKIE_VARS cũ. $_FILES: các biến cung cấp đến kịch bản hiện tại bằng HTTP post file uploads. Giống như mảng $HTTP_POST_FILES cũ. $_ENV: các biến cung cấp đến kịch bản môi trường hiện tại. Giống như mảng $HTTP_ENV_VARS cũ. $_REQUEST: các biến cung cấp đến kịch bản hiện tại của bất kỳ người sử dụng nhập vào máy, mà bởi vậy không thể tín nhiệm nó. Giống như mảng $HTTP_ENV_VARS cũ. $_SESSION: các biến mà nó được đăng ký phiên làm việc của kịch bản hiện hành. Giống như mảng $HTTP_SESSION_VARS cũ. 12.1. Phạm vi biến PHP coi một biến có một giới hạn. Để sử dụng một biến toàn cục (global) trong hàm ta cần khai báo lại. Nếu không giá trị của biến sẽ được coi như biến cục bộ trong hàm. Ví dụ: <? $a = 1; $b = 2; function Sum() { global $a, $b; $b = $a +$b; } Sum(); echo $b; ?> Khi có khai báo globlal trong hàm, hai biến $a, $b được hiểu là những biến toàn cục, nếu không nó chỉ được coi là biến bên trong hàm Sum(). Điểm này khác với ngôn ngữ C. Một cách khác để dùng biến toàn cục trong một hàm là ta dùng mảng $GLOBAL, ví dụ trên được viết lại như sau: <? $a = 1; $b = 2; function Sum() { $GLOBAL[“b”] = $GLOBAL[“a”] + $GLOBAL[“b”] ; } Sum(); echo $b; ?> Một đặc trưng quan trọng khác của phạm vi biến là khai báo biến với từ khóa static. Một biến được khai báo static chỉ tồn tại trong phạm vi cục bộ của hàm. Ví dụ: <? Function Test() { static $a = 0; echo $a; $a++; } ?> Biến $a sẽ không mất đi giá trị sau khi thực hiện lời gọi hàm Test() mà sẽ được tăng lên 1 sau mỗi lần gọi hàm Test(). 12.2. Các biến bên ngoài phạm vi PHP -HTML Forms: Một form được viết bằng HTML, hành động của form này gọi một script PHP, thông tin trên form sẽ có giá trị trong script. Có nhiều cách để truy cập các thông tin này. Ví dụ: Form HTML đơn giản: Name: Script PHP có thể lấy giá trị trong trường Name của Form HTML bằng các cách sau: <? // có giá trị từ PHP 4.1.0. print $_POST[‘name’]; print $_REQUEST[‘name’]; // có giá trị từ PHP 3. print $HTTP_POST_VARS[‘name’]; //Nếu khai báo register_globals = on trong tập tin php.ini thì cách sau đây sẽ có giá trị. print $name; ?> Ngoài ra cũng còn một số cách khác để lấy các thông tin trong form HTML như sử dụng hàm addslashes(),… - Các biến trong IMAGE SUBMIT: Khi dùng một ảnh để thực hiện submit thay vì sử dụng nút submit như trên. Ví dụ: Khi người dùng click chuột lên ảnh, form tương ứng sẽ truyền đến máy phục vụ thêm hai biến là 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. - HTTP Cookies. PHP hỗ trợ HTTP Cookies trông suốt như định nghĩa của Netcape’s Spec. Cookie lưu trữ thông tin máy vận hành của trình duyệt ở xa để theo dõi hoặc nhận biết khi người sử dụng truy cập trở lại. Có thể thiết lập cookie bằng cách sử dụng hàm SetCookie(). 12.3. Hằng số PHP định nghĩa sẵn một số hằng số sau: _FILE_: Tên của tệp script đang được thực hiện. _LINE_: Số dòng mã script đang được thực hiện trong tệp script hiện tại. _PHP_VERSION_: Phiên bản 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: Tất cả lỗi và cảnh báo Có thể định nghĩa một hằng số bằng hàm define(). Ví dụ: <? define(“CONSTANT”, “Hello World.”); echo CONSTANT; // Hello World. ?> 12.4. 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 là một biểu thức. Điều này có nghĩa là mọi thứ đều có 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ợ ba kiểu giá trị cơ bản nhất: số nguyên, số thực, và chuỗi. Ngoài ra còn có mảng và đố

Các file đính kèm theo tài liệu này:

  • doc22214.doc