Bài giảng - Công nghệ Web và ứng dụng 4.1 PHP tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tấ...
Trang 1PHP
Trang 2Giớ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
Trang 3Giớ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
Trang 4Giớ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 triển ứng dụng Web
4
Trang 5Giới thiệu về PHP (tt)
5
Trang 6Giớ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
Trang 7Giới thiệu về PHP (tt)
Cơ chế hoạt động của WebServer
7
Trang 8PHP nâng cao
Trang 9HTTP header
Trang 10HTTP 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
Trang 11HTTP 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
Trang 12HTTP header
Xem http header bằng LiveHTTPHeaders (tiện ích mở rộng của Firefox)
http://livehttpheaders.mozdev.org
Trang 13Request header
Header Description
User-Agent Chứa thông tin về browser và HĐH
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
Trang 14Reponse header
Header Description
Cache-Control Thông báo cho browser có cache dữ liệu hay
không 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
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
Trang 15HTTP 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
Trang 16Ứ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:
<?php
header( “location:login.php” )
?>
16
Trang 17Ứ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
17
<?php
if(strpos( $_SERVER [ 'HTTP_USER_AGENT' ], 'MSIE' )> 0 )
header( "location:welcome.html" );
else header( "location:welcome1.html" );
?>
Trang 18Ứ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
Trang 19Ứng dụng của HTTP Header
Content-type:
VD
19
<?php
// Chuẩn bị xuất 1 file pdf
header( 'Content-type: application/pdf' );
// có tên là downloaded.pdf
header( 'Content-Disposition: attachment;
filename="downloaded.pdf"' );
// nội dung từ file pdf nguồn test.pdf
readfile( 'test.pdf' ); ?>
Trang 20Ứng dụng của HTTP Header
Một số kiểu Mimetype
20
application/vnd.ms-excel File excel