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

„ ỨNG DỤNG MÃ NGUỒN MỞ DRUPAL XÂY DỰNG WEBSITE QUẢN LÝ DÀNH CHO BỆNH VIỆN

126 4 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 126
Dung lượng 5,45 MB

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

Cấu trúc

  • TRANG BÌA

  • LỜI CẢM ƠN

  • MỤC LỤC

  • DANH MỤC HÌNH

  • DANH MỤC BẢNG BIỂU

  • LỜI MỞ ĐẦU

  • CHƯƠNG 1: HẠ TẦNG DỊCH VỤ WEB SERVER

    • 1.1. Giao thức IP:

    • 1.2. Tổng quan địa chỉ IP:

    • 1.3. Các lớp địa chỉ:

    • 1.4. Các dịch vụ cho máy chủ webserver.

    • 1.5. Ngôn ngữ lập trình PHP.

    • 1.6. Mô hình mạng.

  • CHƯƠNG 2: BẢO MẬT DỊCH VỤ WEB

    • 2.1. Giới thiệu.

    • 2.2. Các phương pháp tấn công phổ biến hiện nay và giải pháp phòng thủ.

  • CHƯƠNG 3: PHÂN TÍCH PHƯƠNG ÁN LÀM VIỆC

    • 3.1. Các yêu cầu:

    • 3.2. Phân tích:

  • CHƯƠNG 4: LẬP TRÌNH DRUPAL

    • 4.1. Giới thiệu Drupal.

    • 4.2. Các thành phần chính trong Drupal.

    • 4.3. Lập trình module trong Drupal

    • 4.4. Một số hình ảnh minh họa trang web

  • TÀI LIỆU THAM KHẢO

Nội dung

Tổng quát: Nhiệm vụ chính của giao thức IP là cung cấp khả năng kết nối các mạng con thành liên kết mạng để truyền dữ liệu, vai trò của IP là vai trò của giao thức tầng mạng trong mô hì

HẠ TẦNG DỊCH VỤ WEB SERVER

Giao thức ip

Nhiệm vụ chính của giao thức IP là cung cấp khả năng kết nối các mạng con thành liên kết mạng để truyền dữ liệu, vai trò của IP là vai trò của giao thức tầng mạng trong mô hình OSI Giao thức IP là một giao thức kiểu không liên kết (connectionless) có nghĩa là không cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu

1.1.2 Các giao thức trong mạng IP: Để mạng với giao thức IP hoạt động được tốt, cần một số giao thức bổ sung - các giao thức này đều không phải là bộ phận của giao thức IP và giao thức IP sẽ dùng đến chúng khi cần

Giao thức ARP (Address Resolution Protocol): Ở đây cần lưu ý rằng các địa chỉ IP được dùng để định danh các host và mạng ở tầng mạng của mô hình OSI, và chúng không phải là các địa chỉ vật lý (hay địa chỉ MAC) của các trạm trên đó một mạng cục bộ (Ethernet, Token Ring) Trên một mạng cục bộ hai trạm chỉ có thể liên lạc với nhau nếu chúng biết địa chỉ vật lý của nhau Như vậy vấn đề đặt ra là phải tìm được ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật lý của một trạm Giao thức ARP đã được xây dựng để tìm địa chỉ vật lý từ địa chỉ IP khi cần thiết

Giao thức RARP (Reverse Address Resolution Protocol): Là giao thức ngược với giao thức ARP Giao thức RARP được dùng để tìm địa chỉ IP từ địa chỉ vật lý

Giao thức ICMP (Internet Control Message Protocol): Giao thức này thực hiện truyền các thông báo điều khiển (báo cáo về các tình trạng các lỗi trên mạng) giữa các gateway hoặc một nút của liên mạng Tình trạng lỗi có thể là: một gói tin IP không thể tới đích của nó, hoặc một router không đủ bộ nhớ đệm để lưu và chuyển một gói tin IP, một thông báo ICMP được tạo và chuyển cho IP IP sẽ

"bọc" (encapsulate) thông báo đó với một IP header và truyền đến cho router hoặc trạm đích

1.1.3 Các bước hoạt động của IP:

Khi giao thức IP được khởi động nó trở thành một thực thể tồn tại trong máy tính và bắt đầu thực hiện những chức năng của mình, lúc đó thực thể IP là cấu thành của tầng mạng, nhận yêu cầu từ các tầng trên nó và gửi yêu cầu xuống các tầng dưới nó Đối với thực thể IP ở máy nguồn, khi nhận được một yêu cầu gửi từ tầng trên, nó thực hiện các bước sau đây:

1 Tạo một IP datagram dựa trên tham số nhận được

2 Tính checksum và ghép vào header của gói tin

3 Ra quyết định chọn đường: hoặc là trạm đích nằm trên cùng mạng hoặc một gateway sẽ được chọn cho chặng tiếp theo

4 Chuyển gói tin xuống tầng dưới để truyền qua mạng Đối với router, khi nhận được một gói tin đi qua, nó thực hiện các động tác sau:

1 Tính chesksum, nếu sai thì loại bỏ gói tin

2 Giảm giá trị tham số Time - to Live Nếu thời gian đã hết thì loại bỏ gói tin

3 Ra quyết định chọn đường

4 Phân đoạn gói tin, nếu cần

5 Kiến tạo lại IP header, bao gồm giá trị mới của các vùng Time - to -Live, Fragmentation và Checksum

6 Chuyển datagram xuống tầng dưới để chuyển qua mạng

Cuối cùng khi một datagram nhận bởi một thực thể IP ở trạm đích, nó sẽ thực hiện bởi các công việc sau:

1 Tính checksum Nếu sai thì loại bỏ gói tin

2 Tập hợp các đoạn của gói tin (nếu có phân đoạn)

3 Chuyển dữ liệu và các tham số điều khiển lên tầng trên

1.1.4 Giao thức điều khiển truyền dữ liệu TCP

TCP là một giao thức "có liên kết" (connection - oriented), nghĩa là cần phải thiết lập liên kết giữa hai thực thể TCP trước khi chúng trao đổi dữ liệu với nhau Một tiến trình ứng dụng trong một máy tính truy nhập vào các dịch vụ của giao thức TCP thông qua một cổng (port) của TCP Số hiệu cổng TCP được thể hiện bởi

Hình 1.1: Cổng truy nhập dịch vụ TCP

Một cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket) duy nhất trong liên mạng Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa một cặp đầu nối TCP/IP Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xa khác nhau Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết lập một liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ được giải phóng

Các thực thể của tầng trên sử dụng giao thức TCP thông qua các hàm gọi (function calls) trong đó có các hàm yêu cầu: để yêu cầu, để trả lời Trong mỗi hàm còn có các tham số dành cho việc trao đổi dữ liệu

Các bước thực hiện để thiết lập một liên kết TCP/IP: Thiết lập một liên kết mới có thể được mở theo một trong 2 phương thức: chủ động (active) hoặc bị động (passive)

 Phương thức bị động, người sử dụng yêu cầu TCP chờ đợi một yêu cầu liên kết gửi đến từ xa thông qua một đầu nối TCP/IP (tại chỗ) Người sử dụng dùng hàm passive Open có khai báo cổng TCP và các thông số khác (mức ưu tiên, mức an toàn)

 Với phương thức chủ động, người sử dụng yêu cầu TCP mở một liên kết với một đầu nối TCP/IP ở xa Liên kết sẽ được xác lập nếu có một hàm Passive

Open tương ứng đã được thực hiện tại đầu nối TCP/IP ở xa đó

Số hiệu cổng Mô tả

17 QOTD (quote of the day)

Bảng 1.1: liệt kê một vài cổng TCP phổ biến

Khi người sử dụng gửi đi một yêu cầu mở liên kết sẽ được nhận hai thông số trả lời từ TCP

 Thông số Open ID được TCP trả lời ngay lập tức để gán cho một liên kết cục bộ (local connection name) cho liên kết được yêu cầu Thông số này về sau được dùng để tham chiếu tới liên kết đó (Trong trường hợp nếu TCP không thể thiết lập được liên kết yêu cầu thì nó phải gửi tham số Open Failure để thông báo)

 Khi TCP thiết lập được liên kết yêu cầu nó gửi tham số Open Sucsess được dùng để thông báo liên kết đã được thiết lập thành công Thông báo này được chuyển đến trong cả hai trường hợp bị động và chủ động Sau khi một liên kết được mở, việc truyền dữ liệu trên liên kết có thể được thực hiện Đơn vị dữ liệu sử dụng trong TCP được gọi là segment (đoạn dữ liệu), có các tham số với ý nghĩa như sau:

Hình 1.2: Dạng thức của segment TCP

 Source Port (16 bits): Số hiệu cổng TCP của trạm nguồn

 Destination Port (16 bits): Số hiệu cổng TCP của trạm đích

 Sequence Number (32 bits): Số hiệu của byte đầu tiên của segment trừ khi bit SYN được thiết lập Nếu bit SYN được thiết lập thì Sequence Number là số hiệu tuần tự khởi đầu (ISN) và byte dữ liệu đầu tiên là ISN+1

Tổng quan địa chỉ ip

Đơn vị thông tin cơ bản trong máy tính được biểu diễn dưới dạng số nhị phân bao gồm 2 giá trị đếm là 0 và 1 Tuy nhiên trong nhiều trường hợp khác nó còn được biểu diễn bằng số bát phân, hay số thập lục phân

Hệ thống số đó được miêu tả ở bảng dưới đây lấy số thập phân làm so sánh tường minh:

Thập phân Nhị phân Bát phân Thập lục phân

Bảng 1.2: Hệ thống số nhị, bát, thập, thập lục phân

Vậy địa chỉ IP có cấu trúc được chia làm hai hoặc ba phần là network_id & host_id hoặc network_id & subnet_id & host_id Địa chỉ IP có kích thước 32 bits Khi trình bày, chia con số 32 bits này thành bốn phần, mỗi phần có kích thước 8 bits, gọi là octet hoặc byte Có các cách trình bày sau:

 Ký pháp thập phân có dấu chấm (dotted-decimal notation) Ví dụ: 172.16.30.56

 Ký pháp nhị phân Ví dụ: 10101100 00010000 00011110 00111000

 Ký pháp thập lục phân Ví dụ: 82 39 1E 38

Không gian địa chỉ IP (gồm 232 địa chỉ) được chia thành 5 lớp (class) để dễ quản lý đó là: A, B, C, D và E Trong đó các lớp A, B và C được triển khai để đặt cho các host trên mạng Internet, lớp D dùng cho các nhóm multicast, còn lớp E phục vụ cho mục đích nghiên cứu

Một số khái niệm về thuật ngữ liên quan: Địa chỉ host là địa chỉ IP có thể dùng để đặt cho các interface của các host Hai host nằm cùng một mạng sẽ có network_id giống nhau và host_id khác nhau Địa chỉ mạng (network address): là địa chỉ IP dùng để đặt cho các mạng Phần host_id của địa chỉ chỉ chứa các bit 0 Địa chỉ này không dùng để đặt cho một Interface Địa chỉ Broadcast: là địa chỉ IP được dùng để đại diện cho tất cả các host trong mạng Phần host id chỉ chứa các bit 1 Địa chỉ này cũng không thể dùng để đặt cho một host được Ví dụ 172.29.255.255

Mặt nạ mạng (Subnet Mask): là một con số dài 32 bits, là phương tiện giúp máy xác định được địa chỉ mạng của một địa chỉ IP (bằng cách AND giữa địa chỉ IP với mặt nạ mạng) để phục vụ cho công việc routing Mặt nạ mạng cũng cho biết số bit nằm trong phần host_id Được xây dựng bằng cách bật các bit tương ứng vớp phần network_ id và tắt các bit tương ứng với phần host_id

Bảng 1.3: Mặt nạ mặc định của các lớp không chia mạng con

Các lớp địa chỉ

Dành một byte cho phần network_id và ba byte cho phần host_id

Hình 1.3: Mô tả lớp A Để nhận biết lớp A, bit đầu tiên của byte đầu tiên phải là bit 0 Dưới dạng nhị phân, byte này có dạng 0XXXXXXX Vì vậy, những địa chỉ IP có byte đầu tiên nằm trong khoảng từ 0 (00000000) đến 127 (01111111) sẽ thuộc lớp A Ví dụ: 50.14.32.8

Byte đầu tiên này cũng chính là network_id, trừ đi bit đầu tiên làm ID nhận dạng lớp A, còn lại 7 bits để đánh thứ tự các mạng, được 128 (27) mạng lớp A khác nhau Bỏ đi hai trường hợp đặc biệt là 0 và 127 Kết quả là lớp A chỉ còn

Phần host_id chiếm 24 bits, tức có thể đặt địa chỉ cho 16,777,216 host khác nhau trong mỗi mạng Bỏ đi địa chỉ mạng (phần host_id chứa toàn các bit 0) và một địa chỉ Broadcast (phần host_id chứa toàn các bit 1) như vậy có tất cả 16,777,214 host hợp lệ là 10.0.0.1 đến 10.255.255.254

Dành 2 bytes cho mỗi phần network_id và host_id

Dấu hiệu để nhận dạng địa chỉ lớp B là byte đầu tiên luôn bắt đầu bằng hai bit 10 Dưới dạng nhị phân, octet có dạng 10XXXXXX Vì vậy những địa chỉ nằm trong khoảng từ 128 (10000000) đến 191 (10111111) sẽ thuộc về lớp

B Ví dụ 172.29.10.1 là một địa chỉ lớp B

Phần network_id chiếm 16 bits bỏ đi 2 bits làm ID cho lớp, còn lại 14 bits cho phép đánh thứ tự 16,384 (214) mạng khác nhau (128.0.0.0 đến 191.255.0.0)

Phần host_id dài 16 bits hay có 65536 (216) giá trị khác nhau Trừ đi 2 trường hợp đặc biệt còn lại 65534 host trong một mạng lớp B Ví dụ đối với mạng 172.29.0.0 thì các địa chỉ host hợp lệ là từ 172.29.0.1 đến 172.29.255.254

Dành 3 bytes cho phần network_id và một byte cho phần host_id

Byte đầu tiên luôn bắt đầu bằng 3 bits 110 và dạng nhị phân của octet này là 110XXXXX Như vậy những địa chỉ nằm trong khoảng từ 192

(11000000) đến 223 (11011111) sẽ thuộc về lớp C Ví dụ: 203.162.41.235

Phần network_id dùng 3 byte hay 24 bit, trừ đi 3 bit làm ID của lớp, còn lại

21 bit hay 2,097,152 (2 21) địa chỉ mạng ( từ 192.0.0.0 đến 223.255.255.0)

Phần host_id dài 1 byte cho 256 (28) giá trị khác nhau Trừ đi hai trường hợp đặc biệt ta còn 254 host khác nhau trong một mạng lớp C Ví dụ, đối với mạng 203.162.41.0, các địa chỉ host hợp lệ là từ 203.162.41.1 đến 203.162.41.254

Các địa chỉ có byte đầu tiên nằm trong khoảng 224 đến 256 là các địa chỉ thuộc lớp D hoặc E Do các lớp này không phục vụ cho việc đánh địa chỉ các host nên không trình bày ở đây.

Các dịch vụ cho máy chủ webserver

CentOS (Community Enterprise Operating System) là một phân phối Linux tập trung vào lớp doanh nghiệp, xây dựng từ nhiều nguồn miễn phí (theo GPL và một số bản quyền tương tự) của Red Hat

Với các ưu điểm như trên, CentOS được nhiều nhà cung cấp Hosting tin cậy sử dụng phổ biến trên thị trường hiện nay

Hiện tại CentOS đang có phiên bản 5.3, với khả năng hoạt động ổn định cao thích hợp trên các dòng máy chủ

Download trực tiếp Centos từ trang chủ của CentOS tại địa chỉ: http://centos.org

1.4.2 Dịch vụ máy chủ web Apache

Apache là một chương trình dành cho máy chủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóng một vai trò quan trọng trong quá trình phát triển của thế giới mạng

Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mở duy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape Communications Corporation mà ngày nay được biết đến qua tên thương mại Sun Java System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so với các chương trình máy chủ khác về mặt hiệu suất và tính năng phong phú Hiện nay, Apache trở thành một chương trình máy chủ HTTP thông dụng nhất Tính đến tháng 1 năm 2007 thì Apache chiếm đến 60% thị trường dịch vụ máy chủ web

Apache được cung cấp miễn phí cho cộng đồng và được phát triển - duy trì bởi một cộng đồng mã nguồn mở dưới sự bảo trợ của Apache Software Foundation

Hiện tại Apache đang có phiên bản Apache 2.2.11 với khả năng tương thích cao với CentOS

Download trực tiếp Apache từ trang chủ của Apache tại địa chỉ: http://apache.org

1.4.3 Cơ sở dữ liệu MySQL

MySQL, là hệ thống quản lý Cơ sở dữ liệu SQL phổ biến, được phát triển, phân phối, và được hỗ trợ bởi MySQL AB

Các tính năng nổi bật của MySQL:

 MySQL là một hệ thống quản lý cơ sở dữ liệu

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

 MySQL là một hệ thống quản lý cơ sở dữ liệu tương quan

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

 MySQL là phần mềm mã nguồn mở

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

1.4.3.2 Tổng quan Mysql a Kết nối cơ sở dữ liệu từ dòng lệnh Để kết nối vào MySQL server, ta phải chạy lệnh mysql (file mysql.exe trong thư mục Bin của MySQL trên Windows) Đây là một MySQL Client với giao diện text, giao tiếp với người dùng qua dòng lệnh (command line) mysql -h 192.168.100.3 -u test –p test test_db

Hình 1.6: kết nối với CSDL bằng dòng lệnh

Câu lệnh trên sẽ kết nối vào MySQL Server ở địa chỉ 192.168.100.3 với username là test, mật mã là test và sử dụng CSDL có tên là test_db Nếu không có tham số -h 192.168.100.3, mysql sẽ mặc định kết nối vào server localhost

Nếu không cung cấp mật mã trong câu lệnh kết nối thì chỉ cần cung cấp tham số -p, mysql sẽ yêu cầu nhập vào mật mã sau

Nếu không cung cấp tên của CSDL cần sử dụng, thì mặc định sau khi kết nối sẽ không có CSDL nào được mở ra b Chọn CSDL làm việc

Sau khi kết nối thành công vào MySQL Server, chọn CSDL để làm việc bằng câu lệnh: USE

Hình 1.7: sử dụng câu lệnh USE

Câu lệnh dùng để liệt kê danh sách các CSDL trong hệ thống bằng lệnh:

Hình 1.8: sử dụng câu lệnh SHOW DATABASES c Hiển thị thông tin table

Sau khi kết nối và chọn CSDL để làm việc xong, để liệt kê danh sách các table trong CSDL ta sử dụng lệnh: SHOW TABLES;

Hình 1.9: sử dụng câu lệnh SHOW TABLES d Tạo CSDL và tài khoản Để tạo CSDL mới, MySQL cung cấp cho ta lệnh CREATE DATABASE:

Hình 1.10: sử dụng câu lệnh CREATE DATABASE

Câu lệnh trên sẽ tạo 1 CSDL mới có tên là db_name Để xoá bỏ một CSDL ta dùng lệnh DROP DATABASE:

Hình 1.11: sử dụng câu lệnh DROP DATABASE

Tuy nhiên, CSDL bị xoá không thể khôi phục lại được, nên phải cẩn thận khi dùng lệnh DROP DATABASE Để xem lại cú pháp câu lệnh CREATE DATABASE của 1 CSDL đã có sẵn bằng lệnh SHOW CREATE DATABASE:

SHOW CREATE DATABASE db_name;

Hình 1.12: sử dụng câu lệnh SHOW CREATE DATABASE Để tạo account mới và gán quyền truy cập vào MySQL server cho account đó, MySQL cung cấp cho ta lệnh GRANT Cú pháp của lệnh GRANT như sau:

GRANT quyền ON tên_csdl TO tên_user IDENTIFIED BY 'mật_mã'; e Gán quyền cho user trên database

Quyền có dạng như sau: o ALL PRIVILEGES: tất cả mọi quyền

Các quyền sau đây có thể được kết hợp với nhau, phân cách bằng dấu phẩy (,): o ALTER: cho phép user sử dụng lệnh ALTER TABLE o CREATE: cho phép user sử dụng lệnh CREATE TABLE o CREATE TEMPORARY TABLE: cho phép user sử dụng lệnh

CREATE TEMPORARY TABLE o CREATE VIEW: cho phép user sử dụng lệnh CREATE VIEW o DELETE: cho phép user sử dụng lệnh DELETE o DROP: cho phép user sử dụng lệnh DROP TABLE o FILE: cho phép user sử dụng lệnh SELECT INTO OUTFILE và

LOAD DATE INFILE o INDEX: cho phép user sử dụng lệnh CREATE INDEX và DROP

INDEX o INSERT: cho phép user sử dụng lệnh INSERT o LOCK TABLES: cho phép user sử dụng lệnh LOCK TABLES trên những table nào user có quyền SELECT o PROCESS: cho phép user sử dụng lệnh SHOW FULL

PROCESSLIST o RELOAD: cho phép user sử dụng lệnh FLUSH o SELECT: cho phép user sử dụng lệnh SELECT o SHOW DATABASES: khi user sử dụng lệnh SHOW DATABASES, danh sách của toàn bộ các CSDL trong hệ thống o SHOW VIEW: cho phép user sử dụng lệnh SHOW CREATE VIEW o UPDATE: cho phép user sử dụng lệnh UPDATE

Ngoài ra một quyền đặc biệt là USAGE sẽ gán toàn bộ các quyền của user là

Ngôn ngữ lập trình php

PHP viết tắt của chữ Personal Home Page ra đời năm 1994 do phát minh của Rasmus Lerdorf, và nó tiếp tục được phát triển bởi nhiều cá nhân và tập thể khác, do đó PHP được xem như một sản phẩm của mã nguồn mở

PHP là kịch bản trình chủ (server script) chạy trên phía server (server side) như cách server script khác (asp, jsp, cold fusion)

PHP là kịch bản cho phép xây dựng ứng dụng web trên mạng internet hay intranet tương tác với mọi cơ sở dữ liệu như mySQL, PostgreSQL, Oracle, SQL Server và Access

Lưu ý rằng, từ phiên bản 4.0 trở về sau mới hỗ trợ session, ngoài ra PHP cũng như Perl là kịch bản xử lý chuỗi rất mạnh, chính vì vậy có thể sử dụng PHP trong những yêu cầu về xử lý chuỗi

Yêu cầu sử dụng PHP:

PHP dựa trên cú pháp của ngôn ngữ lập trình C, chính vì vậy khi làm việc với PHP nên nắm vững kiến thức về ngôn ngữ C, C++, Visual C Nếu xây dựng ứng dụng PHP có kết nối cơ sở dữ liệu thì kiến thức về cơ sở dữ liệu MySQL, SQL Server hay Oracle là điều cần thiết

Khi người sử dụng gọi trang PHP, Web Server triệu gọi PHP Engine để thông dịch (tương tự như ASP 3.0 chỉ thông dịch chứ không phải biên dịch) dịch trang PHP và trả về kết quả cho người sử dụng

Hình 1.17: Quá trình thông dịch trang PHP

Nội dung của PHP có thể khai báo đồng thời với HTML, sử dụng cặp dấu giá

để khai báo mã PHP, khai báo:

1-Giá trị biến Str:

Ví dụ: Trang hello.php

::Welcome to PHP

Hình 1.18: Kết quả trả về trên trình duyệt

Ghi chú trong kịch bản PHP tương tự ngôn ngữ lập trình C, để ghi chú một dòng, sử dụng cặp dấu / Chẳng hạn khai báo sau là ghi chú:

// Khai báo biến để paging

Trong trường hợp có nhiều dòng cần ghi chú, sử dụng cặp dấu /* và */, ví dụ khai báo ghi chú như sau:

Khai báo biến để đọc dữ liệu trong đó totalRows là biến trả về tổng số mẩu tin

$result = mysql_query($stSQL, $link);

$totalRows=mysql_num_rows($result);

Ngoài ra, có thể sử dụng dấu # để khai báo ghi chú cho từng dòng, ví dụ khai báo sau là ghi chú:

# Khai báo biến để paging

In kết quả trên trang PHP: Đối với PHP để in ra giá trị từ biến, biểu thức, hàm, giá trị cụ thể, có thể sử dụng script như trên:

Giá trị của paging:

Tuy nhiên, để sử dụng cú pháp của PHP khi in ra giá trị từ biến, biểu thức, hàm, giá trị cụ thể thì sử dụng khai báo echo như sau:

$stSQLs="select * from Customers"; echo $stSQLs;

Ví dụ khai báo echo như sau:

/*dùng phát biểu echo */ echo "Giá trị của paging: "; echo $paging;

Kết quả trả về như hình khi triệu gọi trang này trên trình duyệt

Hình 1.19: Kết quả trả về trên trình duyệt

1.5.3 Cú pháp và phương thức cơ bản của PHP Để lập trình bằng ngôn ngữ PHP cần chú ý những điểm sau:

 Cuối câu lệnh có dấu ;

 Biến trong PHP có tiền tố là $

 Mỗi phương thức đều bắt đầu {và đóng bằng dấu}

 Khi khai báo biến thì không có kiểu dữ liệu

 Nên có giá trị khởi đầu cho biến khai báo

 Phải có chi chú (comment) cho mỗi feature mới

 Sử dụng dấu // hoặc # để giải thích cho mỗi câu ghi chú

 Sử dụng /* và */ cho mỗi đoạn ghi chú

 Khai báo biến có phân biệt chữ hoa hay thường a Khai báo biến

PHP sử dụng tiền tố $ khi khai báo biến

Ví dụ khai báo biến như sau

Echo “$ho $ten là sinh viên lớp $lop”; b Kiểu dữ liệu

 Các kiểu dữ liệu thông thường trong PHP:

Integer giá trị lớn nhất xấp xỉ 2 tỷ

String Lưu chuỗi ký tự chiều dài vô hạn

Array Mảng với nhiều kiểu dữ liệu

 Kiểm tra kiểu dữ liệu của biến: Để kiểm tra kiểu dữ liệu của biến, sử dụng các hàm như sau: is_int để kiểm tra biến có kiểu integer, nếu biến có kiểu integer thì hàm sẽ trả về giá trị là true (1) Tương tự, có thể sử dụng các hàm kiểm tra tương ứng với kiểu dữ liệu là is_array, is_bool, is_callable, is_double, is_float, is_int, is_integer, is_long, is_null, is_numeric, is_object, is_real, is_string

Ví dụ khai báo các hàm như sau:

$myarr = array("first", "last", "company");

$myarrs[2]="Number 2"; echo is_array($myarr); echo ""; echo is_bool($record);

Không giống chuỗi và số (là các kiểu biến đơn, chỉ có một giá trị đơn), một mảng có thể chứa nhiều thông tin riêng biệt Mảng giống như một danh sách các giá trị, mỗi giá trị có thể là một chuỗi, một số hoặc thậm chí là một mảng khác

Các mảng được cấu tạo dưới dạng một chuỗi các cặp khóa-giá trị (key- value) Mỗi mục trong danh sách đều có một khóa (hoặc chỉ số index) gắn liền với chúng Cấu trúc kết quả của nó không giống như bảng tính hoặc bảng dữ liệu

PHP hỗ trợ hai dạng mảng: sử dụng chỉ số (indexed – sử dụng các con số làm khóa) và liên kết (associative – sử dụng chuỗi làm khóa) Các mảng sử dụng chỉ số sẽ luôn bắt đầu bằng chỉ số 0, trừ khi khóa được xác định cụ thể

Mảng $artists sử dụng các con số làm khóa

$months = array (1 => 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

$years = range (2000, 2010); echo ''; echo ''; foreach ($months as $key => $value) { echo "$value\n";

} echo ''; echo ''; foreach ($days as $value) { echo "$value\n";

} echo ''; echo ''; foreach ($years as $value) { echo "$value\n";

 Khai báo và sử dụng hằng

Hằng là giá trị không thay đổi kể từ sau khi khai báo, có thể sử dụng phát biểu Define để khai báo hằng như sau: define ("MAXSIZE", 100);

Ngày đăng: 30/10/2022, 20:15

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Steven Pritchard, 2006, LPI.Linux.Certification.in.a.Nutshell.2nd.Edition, By O'Reilly Publisher, USA Sách, tạp chí
Tiêu đề: LPI Linux Certification in a Nutshell, 2nd Edition
Tác giả: Steven Pritchard
Nhà XB: O'Reilly Publisher, USA
Năm: 2006
[2] Tony Steidler-Dennison, 2005. Run Your Own Web Server Using Linux & Apache, Dennison Sách, tạp chí
Tiêu đề: Run Your Own Web Server Using Linux & Apache
Tác giả: Tony Steidler-Dennison
Nhà XB: Dennison
Năm: 2005
[3] Ivan Ristic, 2005, Apache.Security, O'Reilly Publisher, USA Sách, tạp chí
Tiêu đề: Apache.Security
Tác giả: Ivan Ristic
Nhà XB: O'Reilly Publisher, USA
Năm: 2005
[4] Paul Dubois, Stefan Hinz, Carsten Pedersen, 2006, MySQL® 5 Certification Study Guide, MySQLAB, USA Sách, tạp chí
Tiêu đề: MySQL® 5 Certification Study Guide
Tác giả: Paul Dubois, Stefan Hinz, Carsten Pedersen
Nhà XB: MySQLAB, USA
Năm: 2006
[5] Eric Rosebrock, Eric Filson, 2004, Setting Up LAMP: Getting Linux, Apache, MySQL, and PHP Working Together, SYBEX, USA Sách, tạp chí
Tiêu đề: Setting Up LAMP: Getting Linux, Apache, MySQL, and PHP Working Together
Tác giả: Eric Rosebrock, Eric Filson
Nhà XB: SYBEX, USA
Năm: 2004
[6] John K.VanDyk, 2007, Pro Drupal Development, Apress, USA Sách, tạp chí
Tiêu đề: Pro Drupal Development
Tác giả: John K. VanDyk
Nhà XB: Apress, USA
Năm: 2007

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