PHP

Giới thiệu về PHP

 PHP (Hypertext Preprocessor)

 Là ngôn ngữ script chạy trên server (Server

Scripting)

 Là mã nguồn mở, chạy được trên nhiều

platforms (Unix, Linux, Windows)

 PHP scripts:

• chứa text, thẻ HTML, script • trả về kết quả cho trình duyệt một plain HTML

2

Giới thiệu về PHP (tt)

 Lịch sử phát triển

 PHP (1994): được phát triển để phát sinh các form đăng

nhập sử dụng giao thức HTTP của Unix

 PHP 2 (1995): script server, hỗ trợ CSDL, upload file, khai báo biến, mảng, hàm đệ quy, câu điều kiện, biểu thức, …

 PHP 3 (1998): hỗ trợ ODBC, đa hệ điều hành, giao thức

email (SNMP, IMAP)

 PHP 4 (2000): trở thành một thành phần độc lập cho các

webserver

 PHP 5 (2005): bổ sung Zend Engine II hỗ trợ lập trình

HĐT, XML, SOAPcho Web Services, SQLite

 PHP 7.1.0: Phiên bản mới nhất 8/2016

3

Giới thiệu về PHP (tt)

Tại sao PHP?

 Phần mềm mã nguồn mở, miễn phí  Chạy trên nhiều platforms khác nhau (Unix,

Linux, Windows) • Tương thích với hầu hết các web server: Apache,

IIS, Caudium, Netscape Enterprise Server

• Tương thích với hầu hết các HQT CSDL: MySQL,

Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc.

 Dễ học và phát triển nhanh các ứng dụng trên

Web

 Được sử dụng rộng rãi trong môi trường phát

4

triển ứng dụng Web

Giới thiệu về PHP (tt)

5

Giới thiệu về PHP (tt)

 Làm thế nào để chạy PHP

 Cài đặt PHP

• http://www.php.net/downloads.php

 Download web server Apache

• http://httpd.apache.org/download.cgi

 Cài đặt MySQL • www.mysql.com

 Hoặc sử dụng các chương trình đã đóng gói sẵn: Appserv, Wamp, Xampp, Vertrigo …

6

Giới thiệu về PHP (tt)

 Cơ chế hoạt động của WebServer

7

PHP nâng cao

HTTP header

HTTP header

 Http header là các thông tin điều khiển

nằm trong các http request, http response

 Chứa các chỉ thị báo cho trình

duyệt/server  Chuyển qua trang khác  Không hiển thị file php  Không lưu vào cache

10

HTTP header

 Xem http header bằng FireBug

 Mở firefox, nhấn F12 để bật FireBug  Gõ địa chỉ 1 trang web  Xem header trong cửa sổ FireBug

11

HTTP header

 Xem http header bằng LiveHTTPHeaders

(tiện ích mở rộng của Firefox)

http://livehttpheaders.mozdev.org

Request header

Host

Địa chỉ server đang truy cập

Header Description

User-Agent Chứa thông tin về browser và HĐH

Accept Các kiểu dữ liệu mà browser chấp nhận

Accept-Language Chỉ ra những ngôn ngữ để server đáp ứng

Accept-Encoding

Chỉ ra các kiểu file compress để server nén dữ liệu

Accept-Charset Những character set mà browser chấp nhận

Connection Chỉ ra các trạng thái kết nối

Cookie

Danh sách các biến cookie đã được tạo trước đây

Referer

Địa chỉ của trang web mà từ đó link đến trang hiện tại

13

……………..

Reponse header

Cache-Control

Thông báo cho browser có cache dữ liệu hay không

Header Description

Content-Type Chỉ định kiểu MIME của tài liệu

Content-Language Ngôn ngữ trong nội dung trả về

Expires Chỉ định thời gian nội dung trả về sẽ hết hạn

Last-Modified Thời điểm tài liệu cập nhật lần gần đây nhất

Content-Encoding Kiểu nén dữ liệu gửi về browser

Server Tên của server

Content-Length Kích thước của tài liệu

Set-cookie

Tập các biến cookie mà server gửi đến browser

14

Location Chuyển hướng sang trang khác

HTTP status code

 2xx: request thành công  3xx: chuyển hướng đến trang khác  4xx: có lỗi xảy ra trong request  5xx: server bị lỗi  Một số status code thường gặp

 200: OK, được gửi trong response thì request

thành công

 302: tạm chuyển đến trang khác  400: bab request; 401: unauthorized;

403: forbidden;

404: trang không tìm thấy

 500: internal server error

15

Ứng dụng của HTTP Header

 Chuyển hướng (redirection): yêu cầu trình

duyệt chuyển sang trang khác  Cú pháp: header(“location:url”)  VD:

16

Ứng dụng của HTTP Header

 Chuyển hướng (redirection):  VD:

Nếu browser là IE thì chuyển đến trang welcome.html, ngược lại chuyển đến welcome1.html

header("location:welcome.html");

0) else header("location:welcome1.html"); ?>

17

Ứng dụng của HTTP Header

 Content-type: dùng để báo cho browser kiểu

dữ liệu mà webserver đang trả về cho browser  Cú pháp:

header(“content-type:MimeType”)

18

Ứng dụng của HTTP Header

 Content-type:  VD

19

Ứng dụng của HTTP Header

 Một số kiểu Mimetype

Mô tả

File word

File pdf

Mimetype application/msword application/pdf application/vnd.ms-excel File excel Application/zip

File zip

20