Thương mại điện tử (TMĐT) là một hình thức kinh doanh của kỷ nguyên công nghệ thông tin và của nền kinh tế tri thức.
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 4
CHƯƠNG I: GIỚI THIỆU 5
CHƯƠNG II: KHẢO SÁT HỆ THỐNG BÁN HÀNG 6
I ĐỐI TƯỢNG KHAI THÁC (Đối tượng khách hàng) 6
1 Doanh Nghiệp 6
2 Tư Nhân 6
II CÁC LOẠI HÌNH BẢO HIỂM 7
1 Bảo hiểm dành cho người 7
2 Bảo hiểm dành cho tài sản 8
III HÌNH THỨC BÁN HÀNG 9
1 Bán hàng trực tuyến 9
2 Bán hàng qua dịch vụ 10
CHƯƠNG III: GIỚI THIỆU MỘT SỐ NGÔN NGỮ & CÔNG CỤ XÂY DỰNG HỆ THỐNG 11
I GIỚI THIỆU & CÔNG NGHỆ ASP.NET 11
1 Giới thiệu 11
2 Thiết lập ứng dụng ASP.NET 12
2.1 Thành phần giao diện người dùng (UI) 12
2.2 Thành phần tiến trình người dùng (User Process Components) 13
2.3 Dòng nghiệp vụ (Business Workflows) 13
2.4 Thành phần nghiệp vụ (Business Components) 14
2.5 Đại lý dịch vụ (Service Agents) 14
2.6 Giao diện dịch vụ (Service interfaces) 14
2.7 Thành phần logic xử lý dữ liệu: (Data access logic components) 14
2.8 Thành phần thực thể nghiệp vụ (Business entity components) 14
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 ) 15
3 Ưu điểm của ASP.NET 15
II CÔNG CỤ LÀM WEB 16
1 Giới thiệu cơ sở dữ liệu My SQL 16
2 Tổng quan ORACLE 17
2.1 Oracle là gì ? 17
2.2 Kiến trúc client / server 18
2.3 Các yếu tố của một client / server data based system 18
2.4 SQL 19
2.5 PL/SQL 20
3.Một số công cụ của Oracle 20
3.1 Giới thiệu vế lớp vật lý và lớp Logic của CSDL Oracle 21
3.2 Tablespace và các tập tin dữ liệu 22
3.3 Schame cơ sở dữ liệu 23
Trang 24 View 24
5 Cluster 25
6 Index 25
7 Sequence 26
8 Trigger 26
9 Stored procedure và function 26
10 Ngôn ngữ lập trình PHP 27
10.1 PHP có thể là gì 28
11 Các kiểu dữ liệu 29
11.1 Kiểu Boolean 29
11.2 Kiểu số nguyên (Interger) 29
11.3 Kiểu số thực (FLOAT POINT NUMBERS) 30
11.4 Kiểu Ký tự (STRINGS) 30
11.5 Kiểu mảng (ARRAY) 31
11.6.Biến 32
12 Một số biến toàn cục được tạo sẵn trong PHP 33
12.1 Phạm vi biến 34
12.2 Các biến bên ngoài phạm vi PHP 35
12.3 Hằng số 36
12.4 Biểu thức 37
13 Cấu trúc điều khiển 37
13.1 Câu lệnh IF 37
13.2 Câu lệnh IF …ELSE 38
13.3 Câu lệnh IF …ELSEIF 38
14 Vòng lặp 38
14.1 Vòng lặp WHILE 38
14.2 Vòng lặp DO WHILE 38
14.3 Vòng lặp FOR 39
14.4 Vòng lặp FOREACH 39
15 Break và Continue 39
16 Câu lệnh Switch 39
17 Hàm 40
18 Truyền theo tham trị 40
CHƯƠNG IV: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 44
I PHÂN TÍCH HỆ THỐNG 44
Mô tả hệ quản trị cơ sở dữ liệu 44
II THIẾT KẾ HỆ THỐNG 45
1.Mô tả một số modul 45
1.1 Modul About_us 45
1.2 Modul Content 47
CHƯƠNG V: CÀI ĐẶT HỆ THỐNG 58
Trang 3I CÀI TRÊN CLIENT 58
1 Điều kiện 58
2 Yêu cầu 58
CHƯƠNG VI: SƠ ĐỒ WEBSITE &GIAO DIỆN 62
I SƠ ĐỒ WEBSITE 62
II GIAO DIỆN WEBSITE 64
1 Trang Chủ 64
2 Trang giới thiệu 66
3 Trang thành viên 68
4 Trang đăng nhập 69
5 Trang Liên hệ 70
6 Trang bảo hiểm xe cơ giới 71
7 Trang các dịch vụ khác 72
8 Trang mạng lưới 73
9 Cam kết .74
10 Giao diện trang Admin 75
CHƯƠNG VII: ỨNG DỤNG VÀ PHÁT TRIỂN 76
I ỨNG DỤNG 76
1 Quảng bá thương hiệu 76
2 Kinh doanh 76
II PHÁT TRIỂN 76
III ƯU ĐIỂM CỦA WEBSITE 77
IV NHƯỢC ĐIỂM 78
CHƯƠNG VIII: TỔNG KẾT 79
Trang 4LỜI NÓI ĐẦU
Thương mại điện tử (TMĐT) là một hình thức kinh doanh của kỷ nguyên công nghệ thông tin và của nền kinh tế tri thức Sự ra đời và xu hướng phát triển của nó nằm trong sự phát triển của Internet và xu thế toàn cầu hoá nền kinh tế Nó có tác động sâu sắc đến nhiều mặt trong đời sống kinh tế xã hội Là thời cơ và thách thức cho mỗi doanh nghiệp trong thế giới hội nhập cạnh tranh ngày càng khốc liệt
Việt Nam đang trong quá trình cải cách kinh tế, tích cực chủ động hội nhập kinh
tế khu vực và thế giới Vì vậy việc nghiên cứu và triển khai các dự án về TMĐT có ý nghĩa cấp thiết và quan trọng TMĐT tạo cho các doanh nghiệp vừa và nhỏ nhiều cơ hội và thách thức Cho phép các doanh nghiệp có thể mở rộng thị trường, cập nhật thông tin, tìm kiếm công nghệ một cách nhanh chóng, hiệu quả Theo thống kê của Phòng Thương mại và công nghiệp Việt Nam (VCCI), đại đa số các doanh nghiệp Việt Nam là doanh nghiệp vừa và nhỏ, tiềm năng về vốn, nhân lực và công nghệ còn yếu do vậy còn lạ lẫm với Internet và TMĐT Một số tuy đã quan tâm nhưng chỉ dừng ở việc xây dựng một WEBSITE có sự hiện diện trên mạng chứ chưa duy trì hoạt động của nó như một bộ phận trong quá trình kinh doanh thương mại Chính vì
điều này mà em đã quyết định đăng ký đề tài “Thiết kế WEBSITE Bảo Hiểm Trực Tuyến” bằng ngôn ngữ lập trình PHP và cơ sở dữ liệu My SQL
Báo cáo bài tập lớn gồm những mục sau:
Chương I: Giới thiệu Chương II: Khảo sát hệ thống bán hàngChương III: Giới thiệu một số ngôn ngữ và công cụ xây dựng hệ thống Chương IV: Phân tích và thiết kế hệ thống
Chương V: Cài đặt hệ thống Chương VI: Sơ đồ Website và giao diện Chương VII: Ứng dụng và phát triển Chương VIII: Tổng kết
Hà Nội: Ngày ….tháng… năm 2006
Sinh Viên Thực Hiện
Trang 5CHƯƠNG I: GIỚI THIỆU
Website Bảo Hiểm Trực Tuyến là website đoọng về quảng bá sản phẩm và kinh doanh trực tuyến ở đây người duyệt web có thể tìn thấy được những thông tin về Doanh nghiệp cũng như thông tin về sản phẩm tạo được uy tiến chất lượng cho các nhà kinh doanh
Website được xây dựng bằng ngôn ngữ PHP và cơ sở dữ liệu My SQL nên có
tính năng rất mạnh web làm cho người trình duyệt không bị nhàm chán bởi sự cập nhật thông tin nhanh chóng và phục vụ khách hàng 24/24 giờ các ngày trong tuần bạn
có thể tham khảo được ở đây rất nhiều thông tin
Đặc biệt website có phần dùng cho người quản trị, quản trị website Ở đây họ có thể vào hệ thống xử lý nhưng thông tin về khách hàng, tin tức, hình ảnh………… cập
nhập được bao quát tất cả nội dung Với lợi ích sử dụng ngôn ngữ PHP lập trình là
ngôn ngữ duyệt web cực mạnh đem lại kết quả cho web site tốt hơn, danh cho người quản trị nội dung có các mục
Ví dụ quản lí menu (Quản lý nội dung, quản lý các Modul quản lý hợp đồng bảo hiểm…….) với lợi ích truy cập tìm kiếm thông tin nhanh
Trang 6CHƯƠNG II: KHẢO SÁT HỆ THỐNG BÁN HÀNG
Doanh nghiệp muốn đưa được mặt hàng tới người tiêu dùng không phải cứ chờ đợi để khách hàng tìm đến mình mà những nhà kinh doanh giới thiệu quảng bá sản phẩm, tạo dựng thương hiệu riêng cho mình Một khi đã có thương hiệu và chỗ đứng trên thị trường thì lúc đó sản phẩm sẽ được mọi người biết đến và tìm đến Hệ thống bán hàng cũ không đáp ứng đủ yêu cầu quảng bá thương hiệu sản phẩm
Muốn được như vậy các doanh nghiệp phải bỏ công sức và vốn đầu tư để quảng bá sản phẩm trên mọi thị trường Nghành công nghệ thông tin (CNTT) ra đời tạo bước ngoặt mới cho tất cả các nghành khác phát triển theo vì vậy thương mại điện
tử luôn là một mơi trường thận lợi cho các nhà đầu tư, đầu tư có hiệu quả Các hình thức quảng cáo trực tuyến phổ biến hiện nay đã giúp doanh nghiệp phần nào đưa được thông tin của sản phẩm tới người tiêu dùng “Quảng cáo Logo-banner, quảng cáo tài trợ tại Google & Yahoo, quảng cáo bàng đường Text Link ”
I ĐỐI TƯỢNG KHAI THÁC (Đối tượng khách hàng)
1 Doanh Nghiệp
Doanh nghiệp (DN): Là một tập thể hoặc một người đứng lên tổ chức hoạt động kinh doanh một sản phẩm nào đó Và đây chính là thị trường đầy tiềm năng cho các nhà đầu tư các doanh nghiệp càng phát triển thì yêu cầu về nguồn nhân lực càng tăng cao và từ đây họ phải đáp ứng được yêu cầu của người lao động đó là quyền được hưởng những chính sách mà bộ luật lao động quy định “môi trường làm việc, bảo hiểm xã hội, bảo hiểm thân thể, cơ hội thăng tiến …” thị trường này là một thị trường đầy tiềm năng do vậy cấn phải khai thác triệt để
2 Tư Nhân
Đây cũng là một thị trường đầy tiềm năng đối với các doanh nghiệp bán bảo hiểm, vì càng ngày đời sống của người dân càng được tăng lên thu nhập bình quân đầu người cũng tăng dẫn đến họ sẽ muốn đáp ứng yêu cầu của mình và bảo hiểm là thể loại mặt hàng được chú trọng muốn khách hàng đặt niềm tin vào mình hid
Trang 7chính nhữn nhà doanh nghiệp phải có một tư tưởng tạo dựng niềm tin cho khách hàng bằng các hoạt động khác nhau các doanh nghiệp có thể làm được điều này
II CÁC LOẠI HÌNH BẢO HIỂM
1 Bảo hiểm dành cho người
Bảo hiểm tai nạn con người 24/24
Bảo hiểm kết hợp con người
Bảo hiểm sinh mạng cá nhân
Bảo hiểm tai nạn con người theo mẫu đơn Colgne Re
Bảo hiểm sức khỏe con người mức trách nhiệm cao
Bảo hiểm trợ cấp nằm viện và phẫu thuật
Bảo hiểm tai nạn thủy thủ thuyền viên
Bảo hiểm tai nạn hành khách
Bảo hiểm tai nạn người sử dụng điện
Bảo hiểm chi phí y tế và vận chuyển y tế cấp cứu
Bảo hiểm cứu trợ y tế cho người mang thẻ tín dụng
Bảo hiểm tai nạn thân thể học sinh
Bảo hiểm toàn diện học sinh
Bảo hiểm bồi thường cho người lao động
Bảo hiểm tai nạn người lái và người ngồi trên xe
Bảo hiểm khách du lịch trong nước
Bảo hiểm người du lịch nước ngoài du lịch Việt Nam
Bảo hiểm người du lịch Việt Nam du lịch nước ngoài
Bảo hiểm người Việt Nam du lịch nước ngoài ngắn hạn
Bảo hiểm du lịch nhóm
Bảo hiểm du lịch quốc tế
Bảo hiểm thành viên hộ gia đình
Bảo hiểm chăm sóc sức khỏe cho người sinh sản
Trang 82 Bảo hiểm dành cho tài sản
- Bảo hiểm xe cơ giới
Bảo hiểm vật chất xe ô tô
Bảo hiểm vật chất xe mô tô
Bảo hiểm trách nhiệm dân sự của chủ xe ô tô
Bảo hiểm trách nhiệm dân sự của chủ xe mô tô
Bảo hiểm trách nhiệm của chủ xe với hành khách trên xe
Bảo hiểm trách nhiệm chủ xe với hàng hóa vận chuyển trên xe
Bảo hiểm bắt buộc khác
- Bảo hiểm hàng hoá
Bảo hiểm hàng hoá xuất khẩu
Bảo hiểm hàng hoá nhập khẩu
Bảo hiểm hàng hoá vận chuyển nội địa
- Bảo hiểm tàu thuỷ
Bảo hiểm thân tàu biển
Bảo hiểm trách nhiệm chủ tàu biển
Bảo hiểm thân tàu sông
Bảo hiểm trách nhiệm dân sự tàu sông
Bảo hiểm thân tàu cá
Bảo hiểm trách nhiệm dân sự tàu cá
Bảo hiểm trách nhiệm chủ đóng tàu
- Bảo hiểm dầu khí
Bảo hiểm chi phí khống chế giếng
Bảo hiểm tài sản
Bảo hiểm trách nhiệm đối với bên thứ ba
Bảo hiểm gián đoạn kinh doanh dầu khí
Bảo hiểm xây lắp công trình dầu khí
- Bảo hiểm hàng không
Bảo hiểm máy bay cánh bằng
Trang 9Bảo hiểm trách nhiệm chủ sân bay Bảo hiểm kỹ thuật
Bảo hiểm mọi rủi ro xây dựng
Bảo hiểm mọi rủi ro lắp đặt
Bảo hiểm máy móc
Bảo hiểm thiết bị điện tử
Bảo hiểm các công trình xây dựng dân dụng đã hoàn thành
- Bảo hiểm nông nghiệp
Bảo hiểm cây nông nghiệp
Bảo hiểm vật nuôi
Bảo hiểm nông nghiệp khác
III HÌNH THỨC BÁN HÀNG
1 Bán hàng trực tuyến
- Quảng cáo Logo-banner:
Đặt Logo hoặc Banner quảng cáo trên website nổi tiếng, những website có lượng khách truy cập lớn hay những website được Rank cao trên Google là phổ biến và là cách quảng cáo trực tuyến hiệu quả nhất hiện nay Nó không những quảng bá được thương hiệu mà còn nhằm đến các khách hàng tiềm năng trên Internet
- Quảng cáo bằng đường Text Link (http://baohiemtructuyen.com)
Là đặt quảng cáo bằng chữ có đường Link đến Website hay sản phẩm dịch vụ của bạn, bạn phải có tiêu đề cho quảng cáo, địa chỉ của website, thông tin giới thiệu về website hay quảng cáo sản phẩm dịch vụ để bạn có thể đăng ký vào bất
cứ danh bạ nào trên Internet phục vụ việc tra cứu, tìm kiếm sản phẩm dịch vụ của bạn Hiện nay để được đăng ký vào hệ thống Directory của Yahoo bạn phải trả 299$/năm Lợi ích của việc quảng cáo này thương xuyên có hàng trăm robot và Spider cuả các Search Engine truy cập vào và sẽ tự động cập nhật website lên Search Engine trong vòng chi có 3 đến 7 ngày
- Quảng cáo tài trợ Google, Yahoo:
Trang 10Nhiều người sử dụng Internet lâu nay vẫn tự hỏi: Google,Yahoo, MSN hay Altavita - những nhà đại gia trong làng công cụ tìm kiếm với việc cung cấp miễn phí các công cụ “Tìm kiếm thông tin, Email, tin tức, chát, điện thoại Internet…….” Mà miễn phí vậy họ lấy tiền ở đâu để trang trải cho các hoạt động của mình ?
Đây là hệ thống quảng cáo mới nên có tính năng thông minh, nhắm chọn khi khách hàng đánh vào từ khóa bất kỳ trong ô tìm kiến là các cổ máy bắt đầu tìm kiếm và trả về đúng từ khóa mà bạn đã yêu cầu
Ngoài ra còn có rất nhiều cách thức quảng cáo khác trên mỗi website, các bạn
có thể tự tìm hiểu và nghiên cứu để lựu chọn cho doanh nghiệp của mình một phương thức hiêu quả nhất mà đỡ tốn kém hơn Khi tìm kiếm được từ khóa mà bạn mong muốn và kèm theo đó là những dòng chữ, Logo của nhà tài trợ
“Sponsors, Sponsorship Advertising” Vì thế mà loại hình quảng cáo này khôn phải mất phí cho việc quảng cáo
2 Bán hàng qua dịch vụ
Đầu tư phát triển dịch vụ bán hàng trực tiếp người ta gọi dịch vụ này là dịch vụ bán hàng cổ xưa, nhưng cho tới ngày này thì dịch vụ này vẫn phát triển và tạo dựng cho doanh nghiệp một lợi thế uy tín cao không qua quảng bá trên Internet Bán hàng trực tuyến là một loại hình mới mẻ mà chính vì hế nên kết hợp các loại hình này lại với nhau tạo thành một thế mạnh kinh doanh vưng chắc đối với các doang nghiệp
Trang 11CHƯƠNG III: GIỚI THIỆU MỘT SỐ NGÔN NGỮ & CÔNG CỤ
và mô hình lập trình mới cho ứng dụng ổn định và tỷ lệ hơn mà cung cấp sử bảo vệ tối ưu Lập trình viên sẽ cảm thấy hài lòng hơn khi thêm “chức năng gia tăng” của ASP.NET vào ASP
ASP.NET là môi trường nền tảng của công nghệ NET Lập trình viên có thể đưa
ra ý tưởng ứng dụng trong bất kỳ ngôn ngữ so sánh NET nào bằng việc tích hợp Visual Basic.NET, C#, Jscript.Net Thêm vào đó, khung NET sẵn có cho bất kỳ ASP.NET nào Người phát triển có thể vận hành ích lợi của những công nghệ này cái mà bao gồm ngôn ngữ chung thống nhất trong môi trường thời gian thực hay là kiểu an toàn, tính thừa kế và các thuộc tính khác
ASP.NET được thiết kế làm việc liền mạch với WYSIWYG HTML và những công cụ lập trình khác tích hợp trong bộ Visual Studio.NET Không những điều này làm cho việc phát triển Web trở nên dễ dàng hơn mà còn cung cấp hết lợi ích của những công cụ đó, bao gồm GUI mà người phát triển có thể phân phối việc vận hành chính và tổng hợp đầy đủ những lỗi dễ mắc trên trang Web Người phát triển
có thể sử dụng Web Form hoặc các dịch vụ Web XML khi tạo ra một ứng dụng ASP.NET hoặc kết nối trong bất kỳ cách mà chúng thích hợp Mỗi thứ được hỗ trợ bởi những hạ tầng giống nhau mà cho phép người lập trình viên sử dụng tiến độ xác thực, lưu trữ dữ liệu sử dụng thường xuyên, hoặc tuỳ biến kiến trúc ứng dụng để chỉ đặt tên cho một vài khả năng xác thực
Trang 122 Thiết lập ứng dụng ASP.NET
Hình 1: Thành phần trong mô hình hoá
2.1 Thành phần giao diện người dùng (UI)
Hầu hết việc giải quyết cần cung cấp cách thức cho người dùng sử dụng ứng dụng Trong ví dụ ứng dụng cụ thể này, một số Web cho phép khách hàng biết được sản phẩm và đưa ra các yêu cầu ứng dụng dựa trên nền tảng của hệ thống Microsoft Window cho phép những đại biểu kinh doanh chuyển yêu cầu dữ liệu cho khách hàng người đã gọi điện cho công ty Giao diện người dùng được sử dụng Windows Form, trang ASP.NET Microsoft, sự vận hành hay bất kỳ công nghệ nào mà lập trình viên sử dụng để đáp lại và định dạng dữ liệu đến từ phía người cung cấp
Trang 132.2 Thành phần tiến trình người dùng (User Process Components)
Trong nhiều trường hợp, sự ảnh hưởng của người dùng cùng với hệ thống theo một tiến trình có thể dự đoán được Ví dụ, trong ví dụ đơn lẻ, lập trình viên có thể thực hiện một phương thức cho việc xem dữ liệu sản phẩm mà cho phép người dùng chọn một danh mục từ danh sách danh mục sản phẩm đang tồn tại sau đó chọn sản phẩm riêng biệt trong danh mục đã được chọn để xem chi tiết sản phẩm Tương tự, khi người sử dụng đặt hàng, sự ảnh hưởng này theo sát quá trình có thể dự đoán của việc tập hợp dữ liệu từ người sử dụng sau đó cung cấp việc chi trả chi tiết và sau đó chuyển hoá đơn chi tiết Để giúp đồng bộ hoá và dàn xếp lại ảnh hưởng lẫn nhau của người sử dụng, điều này có thể hữu ích để điều khiển quá trình, sử dụng thành phần quá trình riêng lẻ Chính cách này của dòng quá trình và sự logic chỉ huy chung thì không được mã hoá cẩn thận trong những nguyên tố giao diện người sử dụng và “bộ máy” ảnh hưởng sử dụng cơ bản giống nhau có thể được sử dụng lại bảng tối đa hoá ảnh hưởng người dùng
2.3 Dòng nghiệp vụ (Business Workflows)
Sau khi dữ liệu yêu cầu được thu thập bởi quá trình người dùng, dữ liệu có thể được sử dụng để thực hiện quá trình kinh doanh Ví dụ, sau sản phẩm, việc chi trả
và việc vận chuyển chi tiết được đệ trình cho ứng dụng đơn lẻ, quá trình của việc đảm nhận chi trả và vận chuyển sắp xếp có thể bắt đầu Nhiều quá trình nghiệp vụ liên quan đến nhiều bước mà để thực hiện theo thứ tự hợp lý và dàn xếp lại Ví dụ,
hệ thống đơn lẻ cần phải tính tổng giá trị của lời yêu cầu ghi giá trị chi tiết của thẻ tín dụng, sự chi trả theo thẻ tín dụng và sắp xếp sự vận chuyển của hàng hoá Quá trình này có thể đảm nhận số lượng không giới hạn về thời gian để hoàn thành vì vậy nhiệm vụ yêu cầu và dữ liệu đòi hỏi sẽ phải đạt được Dòng nghiệp vụ xác nhận
và liên kết quá trình vận hành lâudài, quá trình thương mại đa bước và chúng có thể được thực hiện trong việc sử dụng công cụ chỉ huy quá trình thương mại hoá như BizTalk Server Orchestration
Trang 142.4 Thành phần nghiệp vụ (Business Components)
Bất kể một qúa trình nghiệp vụ đều chứa một bước đơn lẻ hay dòng nghiệp vụ dàn xếp lại hay không thì việc ứng dụng của lập trình viên sẽ đạt được hệ thống mã thực hiện qui tắc những nghiệp vụ
2.5 Đại lý dịch vụ (Service Agents)
Khi một thành phần thương mại cần sử dụng chức năng để cung cấp cho dịch vụ bên ngoài, lập trình viên cần cung cấp một vài mã để điều hành xác thực của việc giao tiếp cùng dịch vụ đặc biệt nào đó
2.6 Giao diện dịch vụ (Service interfaces)
Để trưng bày thương mại logic như là một dịch vụ, lập trình viên phải thiết kế giao diện dịch vụ mà hỗ trợ cho hợp đồng giao tiếp (giao tiếp cơ bản thông tin, việc định dạng, giao thức, bảo mật và các việc khác ) mà người tiêu dùng cần
2.7 Thành phần logic xử lý dữ liệu: (Data access logic components)
Hầu hết ứng dụng và dịch vụ cần xử lý dữ liệu lưu trữ ở một vài điểm trong suốt quá trình xử lý nghiệp vụ Ví dụ việc áp dụng đơn lẻ cần tìm lại được cơ sở dữ liệu sản phẩm để thể hiện chi tiết sản phẩm đến người sử dụng và nó cần chèn thêm chi tiết vào đơn đặt hàng vào trong cơ sở dữ liệu khi một người sử dụng đặt chỗ cho một đơn đặt hàng Điều này có nghĩa trừu tượng logic cần thiết để xử lý dữ liệu trong tầng riêng rẽ của hệ thống dữ liệu Làm tập trung hoá dữ liệu xử lý có chức năng dễ dàng cho xác lập và duy trì
2.8 Thành phần thực thể nghiệp vụ (Business entity components)
Hầu hết việc ứng dụng đòi hỏi dữ liệu phải trải qua các thành phần Ví dụ trong việc ứng dụng đơn lẻ thì hàng loạt sản phẩm từ thành phần logic dữ liệu đến thành phần giao diện người dùng để danh sách sản phẩm có thể được thực hiện tới người dùng Dữ liệu được sử dụng để đưa ra thực thể nghiệp vụ xác thực như sản phẩm hay đơn đặt hàng Thực thể nghiệp vụ cần được sử dụng đồng bộ trong ứng dụng thường là cấu trúc dữ liệu như DataSet, DataReaders, hoặc là XML (Extensible
Trang 15Markup Language) nhưng chúng có thể được sử dụng để thực thi lớp hướng đối tượng mà việc ứng dụng của lập trình viên phải làm việc như sản phẩm hay đơn đặt hàng.
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 )
Việc ứng dụng của lập trình viên có thể cũng sử dụng thành phần sử dụng để hoàn thiện việc điều hành để hành chính hoá người sử dụng tới thực hiện nhiệm vụ
cụ thể và giao tiếp với dịch vụ khác và ứng dụng
3 Ưu điểm của ASP.NET
Vấn đề lớn nhất đối với ứng dụng Web hiện nay là sự tương thích trên các trình duyệt cùng với độ phức tạp của trang tài liệu do ứng dụng tạo ra Để tạo một trang web hấp dẫn tận dụng được những tính năng mới nhất của trình duyêtj nhưng đồng thời vẫn hiển thị đúng đắn trên các trình duyệt cũ quả là cơn ác mộng đối với lập trình viên và các nhà thiết kế web
Và sự việc ngày càng trở lên tồi tệ hơn khi các thiết bị cầm tay như điện thoại di động ra đời đòi hỏi nhu cầu sử dụng Internet Các trang tài liệu thiết kế cho những thiết bị này yêu cầu phải nhỏ gọn và không thể sử dụng các định dạng cho tài liệu như trên trình duyệt hiện đại
Một trong cách giải quyết vấn đề trên là hướng đến từng môi trường ứng dụng
để thiết kế các trang tài liệu khác Ví dụ có thể tạo 100 trang HTML để hỗ trợ cho các trình duyệt trên máy PC, 100 trang WML khác hỗ trợ cho kết nối điện thoại di động Nói chung, chúng ta xây dựng hai Site riêng biệt để hướng đễn hai mục đích
sử dụng khác nhau Đây là cách mà các ứng dụng Web hiện tại đang sử dụng Tuy nhiên, một lựa chọn khác là trình chủ có thể tuỳ vào yêu cầu của trình khách để lựa chọn và sinh ra các trang tài liệu phù hợp mục đích sử dụng mà trình khách đang cần Cách này tuy linh động nhưng đòi hỏi phải xây dựng và viết mã lệnh công phu Mặc dù vậy với ASP.NET không cần phải viết mã lệnh, các thành phần điều khiển hoạt động trên trình chủ có khả năng nhận dạng và sinh mã tuỳ theo mục đích và
Trang 16II CÔNG CỤ LÀM WEB
1 Giới thiệu cơ sở dữ liệu My SQL
My SQL là cơ sở dữ liệu được sử dụng cho các ứng dụng Web có quy mô vừa và nhỏ Tuy không phải là cơ sở dữ liệu lớn nhưng chúng cũng có trình giao diện trên Windows hay Linux, cho phép người sử dụng có thể thao tác các hành động trên liên quan đến cơ sở dữ liệu
Cũng giống như các quan hệ cơ sở dữ liệu khác, khi làm việc với cơ sở dữ liệu
My SQL, bạn đăng ký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phân quyền người sử dụng, thiết kế đối tượng Table của cơ sở dữ liệu và xử lý dữ liệu
Để sử dụng các phát biểu hay các thao tác trên cơ sở dữ liệu, bạn có thể sử dụng trình quản lý đồ hoạ hay dùng dòng lệnh còn gọi là Command line
Tuy nhiên trong bất kỳ cơ sở dữ liệu nào cũng vậy, nếu chúng có hỗ trợ một trình giao diện đồ hoạ, sử dụng chúng tiện lợi hơn sử dụng Command line
Trong bất kỳ ứng dụng cần lưu trữ thông tin, đều có khuynh hướng sử dụng cơ
sở dữ liệu, loại cơ sở được sử dụng cho ứng dụng phải phụ thuộc vào giải pháp và nhà quản trị Tuỳ thuộc vào vào các yếu tố, như môi trường đòi hỏi thông tin cần bảo mật cao hay khả năng tài chính cao, quy mô của ứng dụng, loại ứng dụng cho mục đích nào,…… Cơ sở dữ liệu được chọn khác nhau, nhắc mục đích lưu trữ, xử
lý và tìm kiếm dữ liệu tối ưu nhất đó chính là lý do tại sao cần phải sử dụng có sở
Trang 17- Organization: Khi đề cập đến tổ chức cơ sở dữ liệu, chúng phụ thuộc vào cơ
sở dữ liệu, phân tích và thiết kế cơ sở dữ liệu, điều này có nghĩa tổ chức cơ
sở dữ liệu phụ thuộc vào từng đặc điểm của ứng dụng, tuy nhiên khi tổ chúc
cơ sở dữ liệu, cầm phải tuân theo một tiêu chuẩn của hệ thống cơ sở dư liệu, nhằm tính tối ưu khi truy cập và xử lý
- Mainpulation: Trong nhiều trường hợp chỉ cần tính toán và truy vấn dữ liệu với mục đích khác nhau, cần sử dụng nhứng câu truy vấn cùng các phép toán, phát biểu cơ sở dữ liệu để kết xuất ra kết quả như yêu cầu của mình Thực tế để thao tác hay xử lý cơ sở dữ liệu bên trong chính cơ sở dữ liệu
hay sử dụng ngôn ngữ lập trình: PHP, C++ , Java, Visual Basic, C Shap ……
Một RDBMS có nhiêm vụ:
Lưu trữ và tạo dữ liệu sẵn có trong các bảng
Duy trì quan hệ giữa các bảng trong cơ sở dữ liệu
Bảo đảm tích hợp dữ liệu bằng cách tạo các qui tắc quản lý giá trị dữ liệu
Khôi phục mọi dữ liệu trong trường hợp hệ thống có sự cố
Trang 182.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
Trang 19 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
Phải có nhân viên lành nghề
Phải có nhân viên lành nghề
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
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
Trang 202.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
Trang 21khô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)
Trang 22 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
Trang 23CREATE 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
a) 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 <tên_constraint> PRIMARY KEY <tên_cột [,…n]>;
- Tạo ràng buộc khóa ngoại cho bảng:
Cú pháp:
CONSTRAINT <tên_constraint foreign_key> 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 <tên_constraint_unique> UNIQUE (tên_cột);
- Tạo ràng buộc Check Condition cho cột trong bảng:
Trang 24Cú pháp:
CONSTRAINT <tên_constraint_check>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,
b) 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));
Trang 25CREATE VIEW tên_view AS (SELECT < tên_cột [,…n] > FROM
<tên_bảng[,…n]>;
b) Xóa view
Ta có thể xóa view với cú pháp:
DROP VIEW tên_view;
Có thể tạo cluster theo cú pháp:
CREATE CLUSTER tên_cluster(<tên_cột kiểu_dữ_liệu(độ dài)[,…n]>);
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;
Trang 267 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
Trang 27Cá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:
Trang 28 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
Trang 29PHP 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,…
Trang 30Số 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)
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 (“ ”)
Trang 31Có 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ả
Trang 32Ví 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
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
Trang 3312 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
Trang 3412.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
Trang 35Mộ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.
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:
<form action = “foo.php” method = “post”>
Name: <input type = “text” name = “name”><br>
<input type = “submit” name = “submit”>
Trang 36- 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ụ:
<input type = “image” scr = “image.gif” name = “sub”>
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
Trang 37 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à đối tượng Mỗi kiểu giá trị này đều có thể gán cho các biến hay làm giá trị trả về cho các hàm
Có thể thao tác với các biến trong PHP tương tự như trong ngôn ngữ C
13 Cấu trúc điều khiển
Cũng giống như trong các ngôn ngữ lập trình khác, PHP cũng có các cấu trúc điều khiển
13.1 Câu lệnh IF
If (điều kiện) { các lệnh thực hiện; }
Trang 39case trường hợp 1: … break;
case trường hợp 2: … break;
case trường hợp 3: … break;
default:
}