GIỚI THIỆU NGÔN NGỮ PHP PHP là ngôn ngữ kịch bản phía server Các kịch bản lệnh PHP được thực hiện trên server trước khi trả về cho trình duyệt PHP hỗ trợ nhiều hệ CSDL như MySQL, S
Trang 1NGÔN NGỮ PHP
Giảng viên: Hoàng Văn Hiệp
Bộ môn Kỹ thuật Máy tính
Viện CNTT – ĐH Bách Khoa Hà Nội
Trang 2NỘI DUNG BÀI GIẢNG
Tổng quan về ứng dụng web
Lập trình web với PHP
Kết nối cơ sở dữ liệu MySQL bằng PHP
Trang 3NỘI DUNG BÀI GIẢNG
Tổng quan về ứng dụng web
Lập trình web với PHP
Kết nối cơ sở dữ liệu MySQL bằng PHP
Trang 5GIAO TIẾP GIỮA CLIENT VÀ SERVER
Server chờ và nhận các yêu cầu từ các client
Server xử lý yêu cầu tương ứng rồi gửi kết quả đến các client
Client hiển thị kết quả trả về tùy chương trình ứng dụng
Trang 6WEB SERVER
Là các server đƣợc cài
phần mềm web server
Có nhiệm vụ chờ các yêu cầu, xử lý yêu cầu và gửi kết quả
thông dụng hiện nay
IIS
Apache
Trang 7WEB CLIENT
Là các trình duyệt
Gửi yêu cầu đến server
Hiển thị kết quả trả về
Trang 8CÁC CÔNG NGHỆ WEB ĐỘNG
Cho phép tương tác với người sử dụng
Kết nối với các hệ CSDL nhằm lưu trữ, khai thác
thông tin hiệu quả
Kết nối với các hệ thống tài nguyên khác như âm
Trang 9NỘI DUNG BÀI GIẢNG
Tổng quan về ứng dụng web
Lập trình web với PHP
Kết nối cơ sở dữ liệu MySQL bằng PHP
Trang 10GIỚI THIỆU NGÔN NGỮ PHP
PHP là ngôn ngữ kịch bản phía server
Các kịch bản (lệnh) PHP được thực hiện trên server trước khi trả về cho trình duyệt
PHP hỗ trợ nhiều hệ CSDL như MySQL, SQL Server, Oracle, Infomix, Sybase …
Trang 12CÀI ĐẶT WEB SERVER
Cài đặt web server Apache
Cài đặt PHP
Cài đặt MySQL
=> Cài đặt XAMPP
Trang 13CẤU HÌNH WEB SERVER
Sử dụng công cụ cấu
hình sẵn có của XAMPP
Cho phép bật tắt và cấu
hình chi tiết các dịch vụ
Nội dung của các trang
web được lưu vào thư
mục htdocs trong thư
mục cài đặt xampp
Trang 14SẴN SÀNG LẬP TRÌNH WEB
Trang 15SO SÁNH PHP VÀ JAVASCRIPT
PHP là ngôn ngữ kịch bản phía server
JavaScript là ngôn ngữ kịch bản phía client
Kịch bản PHP được thực hiện trên server Một yêu cầu PHP luôn trả về client dưới dạng HTML thuần túy
Kịch bản JavaScript được thực hiện trên client
Mã nguồn JavaScipt được đưa về client rồi mới thực hiện
Trang 18BIẾN TRONG PHP
Đặt tên biến theo quy tắc đặt tên giống như các ngôn ngữ khác
Không cần phải khai báo
Kiểu biến được xác định khi gán với giá trị tương ứng
Trang 19$s = "Chuoi ky tu"; // bien keu xau ky tu
Trang 20KIỂU XÂU KÝ TỰ
Luôn đặt trong dấu “” hoặc dấu „‟
Hiển thị một chuỗi, một số, … dùng lệnh echo hoặc lệnh print của PHP
Ghép các chuỗi với nhau sử dụng ký tự
Trang 21GIÁ TRỊ CỦA BIẾN TRONG CHUỖI
Lấy giá trị của biến chứ không phải là tên của biến
Trang 28BIỂU THỨC ĐIỀU KIỆN IF…ELSE…
Trang 30BIỂU THỨC LỰA CHỌN SWITCH CASE
Trang 35$names = array("An", "Binh", "Cuong");
$ages = array("An"=>32, "Binh"=>30, "Cuong"=>34); echo "Ten 3 nguoi: " $names[0] $names[1]
Trang 38VÒNG LĂP – KHÔNG XÁC ĐỊNH – WHILE
Trang 39HÀM TRONG PHP
Tương tự như trong JavaScript
Khai báo
function tên_hàm(các_giá_trị_truyền) {
// nội dung hàm
return giá_trị_trả_về;
}
Trang 41BÀI TẬP
Làm một số bài tập JavaScript bằng PHP
Trang 42XỬ LÝ THÔNG TIN TỪ FORM
Form có tác dụng thu thập dữ liệu từ người sử dụng trên trình duyệt, sau đó được chuyển đến server
Thông thường người sử dụng nhập các thông tin
vào form sau đó nhấn vào nút submit để chuyển
các thông tin đó đến server
Trang 43THUỘC TÍNH ACTION
Là một thuộc tính của thẻ <form> </form>
Cho biết file kịch bản nào sẽ đƣợc tự động thực hiện khi thông tin chuyển đến server
File kịch bản đó có nhiệm vụ xử lý thông tin
đƣợc chuyển đến
(chỉ xét file PHP)
Trang 45=> Có thể trực tiếp gửi thông tin đến server mà không cần tạo form
hiển thị lên cửa sổ trình duyệt
=> Sử dụng để gửi các thông tin quan trọng
Trang 46VÍ DỤ - FORM – PHƯƠNG THỨC GET
Giới tính: <input type="radio"
name="GioiTinh" value="nam"> Nam
<input type="radio" name="GioiTinh"
<input type="checkbox" name="SoThich"
value="xemphim"> Xem phim <br>
Tôi ở tại
<select name="NoiO">
<option value="vietnam">Việt Nam</option>
<option value="lao">Lào</option>
<option value="campuchia">Cam Pu Chia</option>
Trang 47VÍ DỤ - PHƯƠNG THỨC GET
http://localhost/php/form1.php?Ten=Nguyen&Ho=Anh&GioiTinh= nam&SoThich=docsach&SoThich=nghenhac&NoiO=vietnam
Trang 48VÍ DỤ - FORM – PHƯƠNG THỨC POST
Giới tính: <input type="radio"
name="GioiTinh" value="nam"> Nam
<input type="radio" name="GioiTinh"
<input type="checkbox" name="SoThich"
value="xemphim"> Xem phim <br>
Tôi ở tại
<select name="NoiO">
<option value="vietnam">Việt Nam</option>
<option value="lao">Lào</option>
<option value="campuchia">Cam Pu Chia</option>
Trang 49VÍ DỤ - PHƯƠNG THỨC POST
Trang 50XỬ LÝ FORM TRONG PHP
Thông tin được gửi bằng phương thức GET được lưu trong biến $_GET
Thông tin được gửi bằng phương thức POST
được lưu trong biến $_POST
Có thể sử dụng biến $_REQUEST để lấy thông tin về form (trong trường hợp không xác định
phương thức)
Thông tin được lưu trong các biến dưới dạng
mảng kết hợp
Trang 51<title>Xu ly form 2</title>
</head>
<body>
<?php echo "Xin chào " $_GET["ten"]
"<br>";
echo "Bạn " $_GET["tuoi"] " tuổi."
?>
</body>
</html>
Trang 52VÍ DỤ - PHƯƠNG THỨC GET
Trang 53<title>Xu ly form 2</title>
</head>
<body>
<?php echo "Xin chào " $_POST["ten"]
"<br>";
echo "Bạn " $_POST["tuoi"] " tuổi."
?>
</body>
</html>
Trang 54VÍ DỤ - PHƯƠNG THỨC POST
Trang 55charset=utf-<title>Xu ly form 2</title>
</head>
<body>
<?php echo "Xin chào " $_REQUEST["ten"] "<br>";
echo "Bạn " $_REQUEST["tuoi"] " tuổi."
?>
</body>
</html>
Trang 56VÍ DỤ - SỬ DỤNG BIẾN REQUEST
Trang 57VÍ DỤ - FORM CÓ NHIỀU KIỂU INPUT KHÁC NHAU
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Form 3</title></head>
<body>
<form action="form3.php" method="post">
<table width="80%" border="0" align="center" cellpadding="0"
Trang 58VÍ DỤ - FORM CÓ NHIỀU KIỂU INPUT KHÁC NHAU
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Xu ly form 3</title>
</head>
<body>
<?php
echo "Họ tên: " $_POST["hoten"] "<br>";
echo "Giới tính: " $_POST[“gioitinh"] "<br>";
echo "Năm sinh: " $_POST["namsinh"] "<br>";
echo "Nghe nhạc: " $_POST["nghenhac"] "<br>";
echo "Xem phim: " $_POST["xemphim"] "<br>";
echo "Đọc sách: " $_POST["docsach"] "<br>";
echo "Tự giới thiệu: " $_POST["gioithieu"] "<br>";
echo "Mật khẩu: " $_POST["matkhau"] "<br>";
?>
</body>
</html>
Trang 59VÍ DỤ - FORM CÓ NHIỀU KIỂU INPUT KHÁC NHAU
Trang 61KIỂM TRA SỰ THIẾT LẬP BIẾN
Để kiểm tra xem một biến đã đƣợc thiết lập hay chƣa
Sử dụng hàm isset(tên_biến);
Trang 63BÀI TẬP 1
Trang 64BÀI TẬP 2
Trang 65THỜI GIAN TRONG PHP
PHP sử dụng hàm date() để định dạng thời gian dưới các dạng khác nhau: thứ, ngày, tháng, năm, giờ, phút, giây
Cú pháp
date(định_dạng, mốc_thời_gian)
định_dạng chỉ ra dạng thức dữ liệu muốn lấy
mốc_thời_gian để lấy dữ liệu, nếu để trống thì
mặc định là mốc thời gian hiện tại
Trang 66THỜI GIAN TRONG PHP
Mốc thời gian là khoảng thời gian đƣợc tính bằng giây từ thời điểm 00:00:00 giờ GMT ngày 1/1/1970
Trang 67THỜI GIAN TRONG PHP
Trang 69 Sử dụng hàm include() hoặc hàm require() với
tham số là file cần chèn
Trang 70INCLUDE() VÀ REQUIRE()
Mục đích đều là chèn nội dung của một file nào
đó vào các file khác tại vị trí gọi hàm
Nếu có lỗi, hàm include() tạo ra thông báo, các kịch bản PHP phía sau hàm tiếp tục đƣợc thực hiện
Nếu có lỗi hàm require() tạo ra thông báo và các kịch bản PHP phía sau hàm không đƣợc thực
hiện
Trang 73COOKIE
Được dùng để phân biệt người sử dụng
Là một file chứa thông tin được server đặt trên máy của người sử dụng (client)
Mỗi khi client gửi yêu cầu tới server, thông tin cookie trên client cũng đồng thời được gửi
Trang 74TẠO COOKIE
Sử dụng hàm setcookie()
setcookie(name, value, expire);
Hàm setcookie() phải đặt trước thẻ <html>
Ví dụ
setcookie(“user”, “hello”, time() + 60);
Tạo cookie có tên là user với giá trị là hello, cookie tồn
tại trong 60s tính từ thời điểm hiện tại
Trang 78SESSION - PHIÊN
Session được dùng để lưu thông tin về người sử dụng trong quá trình truy nhập một ứng dụng web nào đó; ví dụ: forum, website mua bán trực
tuyến,…
Session được bắt đầu từ khi người sử dụng truy nhập ứng dụng (nhập địa chỉ), kết thúc khi thoát khỏi ứng dụng (đóng cửa sổ)
Session tồn tại đối với tất cả các trang của cùng một ứng dụng
Trang 79KHỞI TẠO SESSION
Khi sử dụng session bắt buộc khởi tạo đối với tất cả các trang muốn truy nhập thông tin trong session
Trang 80TRUY NHẬP NỘI DUNG SESSION
Thông tin trong session được lưu trong biến
$_SESSION dưới dạng mảng kết hợp
Đọc ghi session thông qua biến $_SESSION
Kết hợp với hàm isset() để kiểm tra 1 thông tin
session nào đó được thiết lập hay chưa
Trang 81XÓA THÔNG TIN TRONG SESSION
Để xóa 1 thông tin nào đó trong session sử dụng
Trang 85 Nếu đăng nhập thì hiện nội dung nào đó
Nếu chƣa đăng nhập thì thông báo