Xuất giá trị ra trình duyệt web Hàm echo;echo Trong đó: thông tin có thể là hằng, biến, biểu thức... Khái niệm biến Biến là một ô nhớ trong bộ nhớ chính dùng để lưu trữ giá trị Biế
Trang 1LẬP TRÌNH WEB
Giáo viên: Trần Cao Nhân
Trang 2Ngôn ngữ lập trình PHP
Ngôn ngữ Web lập trình PHP
2
Trang 3Một số khái niệm
Trang 5Web Server
URL yêu cầu
URL yêu cầu
HTML HTML
Client
Network
Cách làm việc của web tĩnh
kết quả giống nhau.
đổi khi có sự thay đổi của người xây dựng
Trang 6Web động là gì?
Là một trang mạnh và linh hoạt vì:
Cho phép người dùng quản lý nội dung.
Có bộ nhớ, cho phép người dùng đăng ký và
đăng nhập.
Dễ duy trì, cập nhật và phát triển.
Nội dung được lưu trữ trong CSDL.
Thể hiện được tính thương mại điện tử.
Trang 7 Mỗi người sử dụng có thể nhận được nội dung khác
nhau phụ thuộc vào kết quả chạy chương trình.
Trang web viết bằng HTML + Ngôn ngữ lập trình
phía server Có thể được thay đổi bởi người sử dụng.
Khả năng tương tác mạnh.
Web Server
URL yêu cầu
URL yêu cầu
HTML HTML
Client
Network Biên dịch,
Thực thi Trang web động
Cách làm việc của web động
Trang 8PHP là gì?
PHP = PHP: Hypertext Preprocessor, tên gốc là
Personal Home Pages.
PHP là ngôn ngữ lập trình các ứng dụng web.
Bộ biên dịch PHP là phần mềm mã nguồn mở.
Thường kết nối với hệ quản trị CSDL MySQL
PHP là ngôn ngữ nhúng.
Trang 11Tạo sao cần dùng PHP
PHP dễ học, dễ viết.
Có khả năng truy xuất hầu hết CSDL có sẵn
Thể hiện được tính bền vững, chặn chẽ, phát triển
không giới hạn.
PHP miễn phí, mã nguồn mở.
Điểm mạnh của PHP và MySQL trên hệ điều hành
Linux.
Trang 12MySQL là gì?
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở tốt
nhất và phổ biến hiện nay.
Có khả năng thực thi hoàn hảo, linh động và đang tin
Trang 13Cơ chế làm việc PHP & MySQL
Yêu cầu URL
HTML
Máy chủ web Máy khách
PHP
Gọi kịch bản HTML
Truy vấn CSDL
Dữ liệu
MySQL
Trang 14Ngôn ngữ lập trình PHP
Trang 17Xuất giá trị ra trình duyệt web
Hàm echo(<thông tin>);echo
Trong đó: thông tin có thể là hằng, biến, biểu thức
Trang 18Xuất giá trị ra trình duyệt web
Hàm print(<thông tin>); giống print echo
Trang 19Viết ghi chú trong PHP
Để ghi chú trong PHP có 3 dạng sau:
Trang 20Khái niệm biến
Biến là một ô nhớ trong bộ nhớ chính dùng để lưu
trữ giá trị
Biến trong PHP bắt đầu bằng dấu $ theo sau là tên
biến, biến có thể được khai báo khi dùng.
Trang 21Quy tắc đặt tên biến
Biến trong PHP phân biệt CHỮ HOA, chữ thường
Tên biến bao gồm chữ cái, chữ số, dấu gạch nối (_)
và phải bắt đầu bằng chữ cái hoặc dấu gạch nối.
Biến không cần khai báo (được tự động khai báo vào
lần gán giá trị đầu tiên).
Việc sử dụng biến chưa khởi tạo sẽ gây lỗi
Trang 22Ví dụ: : Khai báo và khởi gán cho tên biến.
Trang 23Khởi gán giá trị cho biến
Để khởi gán giá trị cho biết thực hiện như sau:
$name_var = <giá trị biến>;
Trang 24Phạm vi hoạt động của biến
Trang 26 Biến toàn cục
Biến static
- Biến static không mất giá trị khi ra khỏi phạm vi xác
định, vẫn giữ giá trị khi gọi lại biến.
Phạm vi hoạt động của biến
Trang 28?>
Trang 29Khái niệm hằng
Hằng là một giá trị không đổi trong quá trình xử lý.
Quy tắc đặt tên hằng giống quy tắc đặt tên biến, chỉ
không sử dụng dấu $
Một số hằng định nghĩa sẵn: FALSE, TRUE…
Trang 31Kiểu dữ liệu trong PHP
Kiểu số(số nguyên, số thập phân).
Trang 32Ép kiểu và kiểm tra kiểu
Sử dụng cú pháp tương tự trong C
$x = "123abc"; //$x là chuỗi
$x =(int) "123abc";
//$x là số nguyên=123
Trang 33Ép kiểu và kiểm tra kiểu
Ký hiệu Ý nghĩa kiểu
(real), (double), (float) Số thập phân
Trang 40Tham chiếu
Trong PHP tham chiếu có nghĩa là lấy cùng giá
một trị bằng nhiều tên biến khác nhau.
Ký hiệu tham chiếu là &.
Trang 41Các hàm kiểm tra giá trị
Trang 43Hàm empty()
Hàm empty() dùng để kiểm tra biến có giá trị rỗng ()
hay không, nếu biến có giá trị NULL.
Trang 45Hàm is_int()
Hàm is_int(<tên_biến>) hoặc (<tên_biến>) is_long(<tên_biến>) kiểm (<tên_biến>)
tra giá trị của biến có phải là số nguyên hay không.
Trang 46Hàm is_string()
Hàm is_string() kiểm tra giá trị của biến có phải là ()
kiểu chuỗi hay không
Trang 48Hàm gettype()
Hàm gettype() kiểm tra kiểu dữ liệu của biến, hoặc giá ()
trị là kiểu nào: integer, string, double, array, object,
Trang 49Câu lệnh điều khiển
Trang 50Câu lệnh if…
if (<BTĐK>)
{
// mã lệnh }
Nếu <BTĐK> đúng thì thực hiện <mã lệnh>, ngược lại thì thực hiện công việc sau đó
Trang 51Câu lệnh if… else
Trang 54Câu lệnh switch
switch (gt)
{
case gt1: <công việc 1>; break;
case gt2: <công việc 2>; break;
default: <công việc n+1>; break;
}
Trang 59break và continue
Lệnh break
break cho phép ta thoát khởi cấu trúc điều khiển
dựa trên kết quả của biểu thức logic
Lệnh continue
Khi gặp continue, các lệnh bên dưới continue tạm thời không thực hiện tiếp, khi đó con trỏ sẽ nhảy về đầu vòng lặp để kiểm tra giá trị của biểu thức điều kiện còn đúng hay không continue thường đi kèm với một biểu thức logic
Trang 60Mảng một chiều
Trang 61Khái niệm mảng
Mảng nói chung là một biến đặc biệt.
Mảng bao gồm một dãy các ô nhớ cho phép
biểu diễn thông tin dạng danh sách trong thực tế.
Các phần tử mảng có thể có kiểu dữ liệu khác
nhau.
Trang 63Cách 2: Khai báo biết trước spt mảng
Trang 64Cách 3: Khai báo biết giá trị của mảng
Cú pháp:
$ten_mang = array([khóa =>] giá_trị_1, …); array
Trong đó:
- Khóa có thể là số nguyên hoặc chuỗi.
- Nếu ta không tạo giá trị khóa, thì khóa sẽ tự động
phát sinh
Khái báo mảng
Trang 66Truy xuất phần tử mảng
Truy xuất đến phần tử mảng theo cú pháp:
$bien = $ten_mang[<giá trị khóa>];
Trang 71Tkiếm và thay thế pt trên mảng
Tìm kiếm và thay thế một giá trị trên mảng
function thay_the($mang, $gt_cu, $gt_moi)
Trang 72Mảng hai chiều
Trang 73Khai báo và khởi tạo
Khai báo chưa biết số phần tử mảng
$ten_mang = array(array(), array());
Khởi gán giá trị cho từng phần tử mảng
$ten_mang [vị trí hàng] [vị trí cột] = <giá trị>;
Trang 74Truy xuất phần tử trong mảng
Trang 77Xây dựng hàm trong PHP
Trang 82Thư viện hàm
Trang 84Hàm rtrim(str [,char]); xóa bỏ các ký tự trắng bên
phải hoặc xóa bỏ các ký tự char bên phải
Trang 86 Hàm addslashes($st): addslashes định dạng dữ liệu trong chuổi
để lưu vào CSDL.
Để lưu chuỗi có các dấu nháy ' hay cặp ", dấu \,
dấu \\ thì chúng ta dùng thêm dấu \ vào phía trước chúng như sau: \', \", \\, \\\.
Ví dụ:
echo addslashes($st); //Who\'re you?
$st ="Who're you?";
Hàm xử lý chuỗi
Trang 87Hàm stripslashes($st): loại bỏ các dấu ', ", /… trong
Trang 88$st = "nguyễn Hoàng Nam";
echo ucfirst($st); // Nguyễn Hoàng Nam
?>
Trang 89Hàm ucwords($st): viết hoa kí tự đầu tiên của mỗi ucwords
từ
Ví dụ:
<?php
$st = "nguyễn hoàng nam";
echo ucwords($st); // ucwords Nguyễn Hoàng Nam
?>
Hàm xử lý chuỗi
Trang 90Hàm strtolower($st): chuyển kí tự bất kỳ thành chữ
thường
Ví dụ:
<?php
$st = "NGUYỄN HOÀNG NAM";
echo strtolower($st); // strtolower nguyễn hoàng nam
?>
Hàm xử lý chuỗi
Trang 91Hàm strtoupper($st ): biến kí tự bất kỳ thành chữ
hoa
Ví dụ:
<?php
$st = "nguyễn hoàng nam";
echo strtoupper($st); // strtoupper NGUYỄN HOÀNG NAM
?>
Hàm xử lý chuỗi
Trang 92Hàm strlen($st): Kết quả trả về độ dài của chuỗistrlen
Ví dụ:
<?php
$st = "Nguyễn Hoàng Bảo Nam";
echo strlen($st); // strlen 20
?>
Hàm xử lý chuỗi
Trang 93Hàm strcmp($str1,$str2): hàm so sánh chuỗi không strcmp
phân biệt chữ hoa và chữ thường, hàm này trả về kết quả là:
Ví dụ:
echo strcmp('Hải','Nam'); strcmp // kết quả -1
echo strcmp('Nam','Nam') "; strcmp // kết quả 0
echo strcmp('Nam','Hải'); strcmp // Kết quả 1
Hàm xử lý chuỗi
Trang 95Hàm strpos($st1,$st2): tìm vị trí chuỗi con $st2 strpos
Trang 96Hàm str_replace($seach, $rep, $st): tìm kiếm và str_replace
Trang 97Hàm strrev($st ): đảo ngược 1 xâu.
Trang 98Hàm explode($ch, $st): tách chuỗi $st thành nhiều
Trang 100Hàm chr(number): đổi số thành ký tự trong bảng mã
Trang 101 Hàm abs(x): Giá trị tuyệt đố của xabs
Ví dụ:
echo abs(-5); abs // kết quả 5
echo abs(5); abs // kết quả 5
Hàm round(x[,i]) : hàm làm trònround
Ví dụ: $so = 1234.567;
echo round($so); round // Kết quả 1234
echo round($so,2); round // Kết quả 1234.57
echo round($so,-2); round // Kết quả 1200
Hàm xử lý số
Trang 102 Hàm exp(x): eexp x
Ví dụ:
Ví dụ:
<?php
?>
Hàm xử lý số
Trang 103echo rand();rand
echo rand(10,100);rand
?>
Hàm xử lý số
Trang 105Hàm range(gt1,gt2): hàm lấy giá trị nguyên trong
Trang 106echo number_format($number); // 1,235number_format
echo number_format($number, 2, ',', ' ');//1 234,57number_formatecho number_format($number, 2, '.', '');//1234.57number_format
?>
Hàm xử lý số
Trang 107Hàm checkdate($month, $day, $year) kiểm tra ngày nhập
Trang 109Hàm getdate(): lấy seconds, minutes, hours, mday, getdate
wday, mon, year, yday, weekday, month, 0 và trả
Trang 110Hàm localtime(): lấy giây, phút, giờ, ngày của localtime
tháng(Jan Dec), tháng của năm, Years since 1900, ngày của tuần, ngày của năm và Is daylight savings time in effect của ngày hiện tại và trả về là mảng với chỉ số mảng từ 0 đến 8
Trang 111Biểu mẫu form
Trang 112Đặc điểm của form
Form là một thành phần của trang web
Các đối tượng thể hiện của form:
Trang 113 Các thuộc tính cơ bản của form:
• name: tên form
• action: hành động
• method: phương thức
• vị trí: _top, _parent, _self, _black
Loại nội dung trong form
• enctype = content-type với content-type:
– application/x-www-form-urlenconded – multipart/fom-data
Đặc điểm của form
Trang 114Action :Hành động
Khi muốn lấy giá trị từ form đưa về trang nào thì
trong action ta nhập vào trang đó
Trang 115Method :Phương thức
Phương thức là hình thức chuyển giá trị trên form đến
trang action.
Có 2 phương thức:
POST: chuyển giá trị đến trang action và nhận
giá trị ta dùng biến $_POST hoặc $_POST $_REQUEST $_REQUEST
GET: chuyển giá trị đến trang action và nhận giá GET
trị ta dùng biến $_GET hoặc $_GET $_REQUEST
Trang 116 Dùng để nhập và hiển thị dữ liệu: có 3 loại sau:
• Single line: nhập và hiển trên 1 dòng văn bản
• Multi line: nhập và hiển trên nhiều dòng văn bản
• Password: hiển thi dấu * thay cho ký tự
Trang 117 Dùng để nhập và hiển thị dữ liệu dạng multi line:
Num line: số dòng văn bản hiển thị
Wrap: Tăng số dòng bản nếu văn bản vượt quá
num line
Trang 118 Dùng để tạo ra các nút như submit, reset:
Button submit: khi ta nhấn vào nút này dữ liệu
trên form sẽ gửi về server
Button reset: khi nhấn vào nút này các đối
tượng trên form sẽ reset
Trang 120 Radio là một đối tượng có hai trạng thái on/off
Trên form có nhiều radio, các radio cùng nhóm có
cùng name
Chỉ có thể chọn một radio trên nhóm
Trang 121 Là danh sách nhiều mục chọn
Có thể chọn một hoặc nhiều mục chọn
Muốn chọn nhiều mục chọn thì thuộc tính
"Selectons Allow Multiple"
Trang 122 Đối tượng này cho phép người dùng chọn một file
để xem xét các thuộc tính hoặc upload,…
Trang 123Form sử dụng phương thức POST
Đặc điểm
- Biến $_POST được dùng để lấy các giá trị trên
form thông qua phương thức POST
- Thông tin được gửi từ form với phương thức này
không giới hạn dung lượng thông tin gửi đi
- Thông tin được gửi bằng phương thức POST sẽ
không hiện thị lên địa chỉ URL nên người dùng không thể thấy được
Trang 124 Cách sử dụng
Cú pháp lấy giá trị của một đối tượng trên form sau khi form submit:
$_POST[‘tên điều kiển’];
Form sử dụng phương thức POST
Trang 125 Đặc điểm
Biến $_GET được dùng để lấy giá trị trên
form bằng phương thức GET Thông tin gửi qua không vượt quá 100 ký tự
Thông tin được gửi đi bằng phương thức
GET sẽ hiển thị trên địa chỉ URL nên người dùng có thể thấy được các thông tin này.
Form sử dụng phương thức GET
Trang 126 Cách sử dụng
Cú pháp lấy giá trị trên form bằng phương
thức GET như sau:
$_GET["Tên điều khiển"];
Form sử dụng phương thức GET
Trang 127Biến $_REQUEST
Đặc điểm
Biến $_REQUET chọn nội dung cả các
biến $_POST, $GET, $_COOKIE
Có thể lấy thông tin không cần xác định
phương thức form.
Độ bảo mật thông tin thấp
Trang 129 Đặc điểm
Biến $_FILE là một mảng chứa các thông
tin của file được chọn từ bảng filefield.
Trang 130Giáo viên: Trần Cao Nhân