1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng lập trình wep PHP

83 395 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 83
Dung lượng 4,59 MB

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

Nội dung

Lập trình – Website để làm gì? Ai dùng? Trình độ người – Viết mã lệnh, xây dựng các module, các lớp dùng dùng? Bố cục? Nội dung? Hình ảnh? v.v… chung,…  Phân tích  Kiểm thử – Mối liên hệ giữa các nội dung? Thứ tự các nội – Kiểm tra các liên kết dung (kịch bản website) – Kiểm tra các lỗi bảo mật  Thiết kế – Kiểm tra hiển thị trên các trình duyệt phổ biến – Sơ đồ cấu trúc website, giao diện, CSDL, nội – Kiểm tra tốc độ tải trang trên các loại mạng, các dung từng trang, liên kết các trang,v.v… loại dường truyền khác nhau,v.v…

Trang 1

Lập trình ứng dụng web

Nguyễn Thanh Bình Khoa Công nghệ thông tin Đại học Quy Nhơn Email: thanhbinh@qnu.edu.vn Phone: 098.333.1601

 Môi trường

– PHP 5.4 & MySQL – WampServer – Notepad++, Eclipse for PHP developers (Helios)

Mục tiêu

 Nắm vững khái niệm cơ sở trong ngôn ngữ

lập trình PHP

 Sử dụng những điều khiển cơ bản trong

thiết kế web với PHP

 Xây dựng và xử lý thành phần giao diện

Trang 2

Tài liệu tham khảo

Nội dung

 Nhắc lại một số khái niệm

 Phân loại website

 Một số bước chính trong phát triển website

 Giới thiệu và hướng dẫn cài đặt các phần mềm hỗ trợ xây dựng website

8

Trang 3

Nội dung

 Nhắc lại một số khái niệm

 Phân loại website

 Một số bước chính trong phát triển website

 Giới thiệu và hướng dẫn cài đặt các phần

mềm hỗ trợ xây dựng website

9

Một số khái niệm

– Là tên máy chủ gắn với một địa chỉ IP – Máy chủ DNS sẽ thực hiện việc ánh xạ khi có yêu cầu truy cập

– Được chia thành nhiều cấp, mỗi cấp ngăn cách nhau bởi dấu chấm

– Ví dụ: qnu.edu.vn gắn với 203.162.31.116

• vn: Việt Nam (cấp 1)

• edu: tổ chức giáo dục (cấp 2)

• qnu: tên cơ quan (cấp 3)

– Chú ý: tên localhost được gắn với IP 127.0.0.1

10

Một số khái niệm (tiếp)

 Server (máy chủ)

– Là máy tính có cấu hình cao, hoạt động ổn định,

chuyên cung cấp tài nguyên, dịch vụ cho các

máy tính khác

– Một máy chủ có thể dùng cho một hay nhiều

mục đích Tên máy chủ thường gắn với mục đích

12

Trang 4

Một số khái niệm (tiếp)

 Protocol (giao thức)

– Là tập hợp các quy định phải tuân theo để

truyền tải thông tin trên mạng

– Mỗi dịch vụ thường có một giao thức riêng, ví

dụ:

• HTTP: giao thức truyền siêu văn bản

• FTP: giao thức truyền file

• SMTP: giao thức gửi email

• POP3: giao thức lấy bản sao email về client

• Giao thức, cổng: được trình duyệt mặc định

• Tên file: được server mặc định

Website:

– là tập hợp các web page (trang web) có nội dung thống nhất phục vụ cho mục đích nào đó

Web browser:

– Là phần mềm chạy ở client để khai thác dịch vụ web

– Ví dụ: Chrome, Firefox, Internet Explorer, Opera,

16

Trang 5

Nội dung

 Nhắc lại một số khái niệm

 Phân loại website

 Một số bước chính trong phát triển website

 Giới thiệu và hướng dẫn cài đặt các phần

mềm hỗ trợ xây dựng website

17

Phân loại website

 Dựa vào công nghệ phát triển, có 2 loại

– Web tĩnh (static web)

• Viết bằng HTML (kết hợp cùng CSS, JS)

• Dễ phát triển, chi phí xây dựng thấp, chạy nhanh

• Tương tác yếu – Web động (dynamic web)

• Viết bằng nhiều ngôn ngữ (PHP, ASP, JSP,…)

 Khả năng tương tác yếu

 Webserver hoạt động giống 1 file server

Web Server

URL yêu cầu

URL yêu cầu

 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

Trang 6

• Common Gateway Interface (CGI)

• Java Server Pages (JSP)

• Access Server Pages (ASP, ASP.Net)

 Nhắc lại một số khái niệm

 Phân loại website

 Một số bước chính trong phát triển website

 Giới thiệu và hướng dẫn cài đặt các phần mềm hỗ trợ xây dựng website

– Sơ đồ cấu trúc website, giao diện, CSDL, nội

dung từng trang, liên kết các trang,v.v…

24

Trang 7

Nội dung

 Nhắc lại một số khái niệm

 Phân loại website

 Một số bước chính trong phát triển website

 Giới thiệu và hướng dẫn cài đặt các phần

mềm hỗ trợ xây dựng website

25

Các phần mềm hỗ trợ

 Ngôn ngữ sử dụng: PHP 5.3

 Web server & DBMS: Apache & MySQL

– WAMP (for Windows), LAMP (for Linux) – MAMP (for Mac), SAMP (for Solaris) – XAMPP (cross-platform)

Trang 8

2 Ngôn ngữ PHP

Nguyễn Thanh Bình Khoa Công nghệ thông tin Đại học Quy Nhơn Email: thanhbinh@qnu.edu.vn

Nội dung

 Giới thiệu PHP

 PHP cơ bản

– Cách chèn mã PHP vào mã HTML – Trang PHP đầu tiên

– Quy tắc viết mã lệnh PHP – Biến, hằng, kiểu dữ liệu, toán tử, chú thích – Các cấu trúc điều khiển

– Mảng – Chuỗi

Trang 9

Giới thiệu

 PHP (PHP: Hypertext Preprocessor)

– Là ngôn ngữ script trên server

– Là ngôn ngữ để viết các trang web động

• Ảnh hưởng từ: C, C++, Java, Perl, Tcl

– Ra đời năm 1994

• Rasmus Lerdorf (1968, GreenLand)

• Tên gốc là Personal Home Page Tools

– Các phiên bản:

• 1.0, 2.0, 3.0, 4.0, 4.1,… (nhiều người phát triển)

• Dùng phổ biến hiện nay: PHP 5.0 (7/2004)

• Phiên bản mới nhất: PHP 5.4.4 (6/2012)

Ưu điểm của PHP

 Ngôn ngữ dễ học, dễ viết

 Mã nguồn mở (open source code)

– Miễn phí, download dễ dàng từ Internet

– Có thể làm việc trên mã nguồn, thêm, sửa, sử dụng và phân phối

 Mã nguồn không cần sửa lại nhiều khi triển khai trên các hệ điều hành khác nhau (Windows, Linux, Unix,…)

Ưu điểm của PHP

 Có thể chạy trên nhiều web server khác

nhau (Apache, IIS,…)

 Có thể kết nối được với nhiều loại DBMS

khác nhau:

– SQL Server, Oracle, DB2, PostgreSQL, Adabas,

dBase, Empress, FilePro, mSQL, Solid,…

– Phổ biến nhất: MySQL

Đặc điểm PHP

 Có khả năng hướng đối tượng

 Thông dịch

Trang 10

tách làm nhiều phần, mỗi phần đặt giữa <?php … ?>

mà đoạn lệnh PHP đang chiếm chỗ

Trang PHP đầu tiên

print “<br/>Day la noi dung PHP<br/>”;

echo “Chao mung ban den voi <u>PHP</u>”;

?>

</body>

</html>

Trang 11

Trang PHP đầu tiên (tiếp)

Quy tắc viết mã PHP

Quy tắc viết mã lệnh trong PHP

 Phân biệt chữ hoa/chữ thường

 Mỗi lệnh kết thúc bởi chấm phẩy (;)

– Trừ lệnh cuối trước khóa ?> có thể bỏ qua ;

 Khối (nhiều) lệnh được đặt trong cặp { }

 Xem thêm tại:

Trang 12

 Biến trong PHP có tính định kiểu thấp

– Không chỉ định kiểu dữ liệu khi khai báo biến

Biến (tiếp)

 Một số quy định khi khai báo biến:

– Bắt đầu bằng dấu đô la ($), tiếp ngay sau $ là

tên biến

– 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

• Được tự động khai báo vào lần gán giá trị đầu tiên

• Tuy nhiên nếu sử dụng biến chưa khởi tạo có thể gây lỗi (có khai báo nhưng không khởi tạo) – Kiểu dữ liệu lưu trong biến có thể thay đổi trong quá trình lập trình

Trang 13

Ví dụ sử dụng biến

 Ví dụ 1

<?php

$a = 10; //bien a co gia tri kieu so la 10

$a = “Hello”; //bien a co gia tri kieu chuoi la Hello

$a_1 = true; //bien a_1 co gia tri kieu bool

a12 = 20; // loi , vi ten bien khong bat dau bang $

$12a = 20; // loi , vi sau $ bat dau bang so

$thanhTien = $soLuong * $donGia;

echo "Tong tien: " $thanhTien;

?>

Biến động (biến biến)

 Cho phép sử dụng giá trị của biến làm tên biến khác

 VD:

$a = “hello”;

Tham trị và tham chiếu

 Khi thực hiện phép gán biến cho biến thì

mặc định giá trị được sao chép từ biến

nguồn sang biến đích

– Ví dụ: $a = $b (giá trị của $b được sao chép

sang $a)

 Dùng tham chiếu khi muốn đặt thêm một

tên cho một biến có sẵn

– Ví dụ: $x = &$y (lúc này $x và $y là hai tên của

cùng một biến)

Tuổi thọ của biến

 Biến được tạo ra khi được gán giá trị lần đầu và tồn tại trong suốt quá trình thực thi script

– Bao gồm cả các khai báo trong các file được chèn bởi include(), require()

 Mỗi lần script được thực thi là biến được tạo ra độc lập với các lần thực thi khác của cùng script đó

Trang 14

Phạm vi của biến

 Phạm vi của biến là phạm vi ở đó biến xác

định

 Trong PHP, biến có ba mức phạm vi:

– Local variables – biến cục bộ

• Khai báo, khởi tạo trong hàm

• Có tác dụng từ khi khởi tạo đến hết hàm

Phạm vi của biến (tiếp)

 Ba mức phạm vi:

– Global variables – biến toàn cục

• Khai báo, khởi tạo ngoài hàm

• Có tác dụng từ khi khởi tạo đến hết file – Thường sử dụng bên trong các script,

– Mặc định là không thể sử dụng bên trong các hàm

– Nếu sử dụng trong hàm thì khi đó xem như biến được khai báo lại và trở thành biến cục bộ

Phạm vi của biến (tiếp)

 Ba mức phạm vi:

– SuperGlobal Variables - biến siêu toàn cục:

• Là các biến được PHP định nghĩa sẵn

$b = $b + 1;

echo “(trong)a=$a b=$b”;

} tang();

echo “(ngoai)a=$a b=$b”;

?>

Trang 15

Sử dụng biến toàn cục trong hàm

 Để sử dụng biến toàn cục trong hàm:

– Sử dụng từ khóa global để khai báo (lại) biến

toàn cục bên trong hàm theo cú pháp:

global $biến1, $biến2;

• Nếu trước đó biến chưa khai báo thì sẽ khai báo

mới, và biến mới đó là biến toàn cục (mặc dù được

khai báo bên trong hàm)

Sử dụng biến toàn cục trong hàm (tiếp)

 Để sử dụng biến toàn cục trong hàm:

– Sử dụng mảng siêu toàn cục $GLOBALS

$GLOBALS[‘tên_biến_toàn_cục’] = & $biến_toàn_cục

Sử dụng biến toàn cục trong hàm (tiếp)

 Thảo luận: cho biết kết quả của đoạn

Sử dụng biến toàn cục trong hàm (tiếp)

 Thảo luận: cho biết kết quả của đoạn chương trình sau

echo “(ngoai)a=$a b=$b”;

?>

Trang 16

Sử dụng biến toàn cục trong hàm (tiếp)

 Thảo luận: cho biết kết quả của đoạn

Biến tĩnh (tiếp)

 Khai báo biến tĩnh theo cú pháp:

static $biến_tĩnh = giá_trị;

 Chú ý:

– giá_trị khởi tạo của biến static chỉ có thể là

một hằng (literal or constant) mà không được là

$dem = 10;

echo "Bien thuong: $dem <br/>";

$dem++;

} bienTinh(); bienThuong();

bienTinh(); bienThuong();

bienTinh(); bienThuong();

?>

Trang 17

Kiểu dữ liệu &

Chuyển đổi kiểu dữ liệu

Kiểu dữ liệu

 PHP hỗ trợ 4 loại kiểu dữ liệu

– Logic (boolean) – Số (integer, double) – Chuỗi (string) – Mảng & đối tượng (array, object)

– Biểu diễn: $a = 0.017 – Dạng khoa học: $a = 17.0E-03

Trang 18

Kiểu chuỗi

 Giới hạn bởi nháy đơn (‘) hoặc kép (“)

– Chuỗi đặt trong nháy kép bị thay thế (bởi giá trị

các biến xuất hiện trong chuỗi–nếu có) và xử lý

ký tự thoát (nếu có)

– Chuỗi đặt trong nháy đơn (‘) thì không

 PHP không giới hạn kích thước kiểu chuỗi,

nó chỉ phụ thuộc vào bộ nhớ mà PHP đang

Kiểu chuỗi (tiếp)

 Để làm rõ các biến trong chuỗi, cần bao

biến vào giữa cặp ngoặc nhọn { }

$a = “He”;

$b = “$allo”; //lỗi vì PHP hiểu là $allo

$c = “{$a}llo”; //đúng ($c = “Hello”)

$d = “{$c} World” //$d = “Hello World”

 Biến mảng, biến biến, biến trong tên có

dấu gạch nối hoặc dấu chấm khi viết trong

chuỗi bắt buộc phải bao lại

Kiểu chuỗi (tiếp)

 Ký tự thoát: \

– Sử dụng để viết các ký tự đặc biệt trong chuỗi – Ví dụ: cần có chuỗi: Hãy nói “KONICA”

$a = “Hãy nói “KONICA””; //Sai

$a = “Hãy nói \“KONICA \””; //Đúng – Một số ký tự phải sử dụng ký tự thoát: $, \, “ – Ngoài ra:

• \n: Xuống dòng

• \r: trở về đầu dòng

• \t: dấu tab,…

Trang 19

Kiểu chuỗi (tiếp)

 Kiểu tài liệu: (heredoc, nowdoc)

– Cho phép viết 1 chuỗi trên nhiều dòng

– heredoc: tạo 1 chuỗi tương tự như chuỗi đặt

trong cặp dấu nháy kép (“)

• Xử lý các biến và các ký tự đặc biệt có trong chuỗi

– nowdoc: tạo 1 chuỗi tương tự như chuỗi đặt

trong cặp dấu nháy đơn (‘)

• Không xử lý các biến và các ký tự đặc biệt có trong

chuỗi

• Từ PHP 5.3.0

Kiểu chuỗi (tiếp)

 Cách viết kiểu tài liệu

$biến = <<<Ký_hiệu

 Chú ý:

Ký_hiệu phải được viết ở ký tự đầu tiên của dòng

Trong nowdoc, Ký_hiệu bắt đầu phải được đặt trong cặp dấu nháy đơn (‘)

Kiểu chuỗi (tiếp)

 Ví dụ heredoc:

$a = <<<EOD

Đây là chuỗi nằm trên nhiều dòng sử

dụng cú pháp kiểu tài liệu ‘heredoc’

EOD;

 Ví dụ nowdoc:

$a = <<<‘EOT’

Đây là chuỗi nằm trên nhiều dòng sử

dụng cú pháp kiểu tài liệu ‘nowdoc’

Trang 20

Ký hiệu Ý nghĩa kiểu

(int), (integer) Số nguyên (real), (double),

(float) Số thập phân (string) Chuỗi

(object) Đối tượng (bool), (boolean) Logic (unset) NULL, tương tự

như gọi unset()

Một số hàm kiểm tra kiểu

 bool is_tênkiểu ($tên_biến hay biểu thức)

– Kiểm tra dữ liệu của một biến, kết quả trả về true hoặc false – is_tênkiểu có thể là:

• is_integer, is_numeric, is_int, is_double, is_real, is_float

• is_string, is_bool, is_array, is_object

 string gettype($tên_biến hay biểu thức)

– Trả về loại kiểu dữ liệu như: integer, double, long …

 int settype($tên_biến, “kiểu_dữ_liệu”)

– Gán kiểu dữ liệu cho tên biến

Một số hàm kiểm tra kiểu (tiếp)

Trang 22

Thứ tự ưu tiên phép toán

Hằng

Hằng

 Hằng

– Là một vùng nhớ chứa dữ liệu

– Hằng chỉ được phép gán giá trị duy nhất 1 lần

– Giá trị của hằng chỉ thuộc các kiểu cơ bản

– Hằng có thể được truy cập tại bất cứ vị trí nào

trong mã lệnh của chương trình

Trang 23

Hằng (tiếp)

 Kiểm tra sự tồn tại của hằng bằng lệnh:

 Một số quy định của hằng:

– Đặt tên hằng giống cách đặt tên biến

– Hằng không có dấu "$" ở trước tên

– Hằng thường được viết toàn bộ bằng chữ in để

phân biệt với biến

– Bắt buộc phải định nghĩa hằng trước khi sử

dụng

Các cấu trúc điều khiển

Các câu lệnh điều khiển

if (BTLG) nhóm_lệnh1;

else

nhóm_lệnh2;

if (BTLG1) nhóm_lệnh1;

elseif (BTLG2) nhóm_lệnh2;

elseif (BTLG3) nhóm_lệnh3;

else

nhóm_lệnh_cuối;

$biến = BTLG ? Giá_trị1 : Giá_trị2

Trang 24

}

Trang 25

case 1: echo ‘1 la gia tri cua $a’; break;

case 2: echo ‘2 la gia tri cua $a’; break;

case 3: echo ‘3 la gia tri cua $a’; break;

case 4: echo ‘4 la gia tri cua $a’; break;

default: echo ‘khong co gia tri phu hop’; break;

Trang 26

for ($count = “”; $count != “done”; ) {

for ($count = 1, $total = 300;

$count <= 10 && $total > 200;

break: kết thúc khối lệnh for, while,

do-while hoặc switch

continue: bỏ qua không thực hiện các

lệnh nằm sau continue trong vòng lặp, chuyển sang vòng lặp tiếp

Trang 27

Bài tập cấu trúc điều khiển

 Bài tập 1: Cho một mảng 10 phần tử chứa các giá trị từ

1->20 Hãy xuất ra trình duyệt những số chẵn, số lẻ có trong

mảng đã cho đó (kết hợp với phần mảng phía sau)

 Bài tập 2: Xuất ra trình duyệt bảng cửu chương từ 2->10

 Bài tập 3: Viết chương trình nhận vào 1 số tự nhiên N, tìm tất

cả các số nguyên tố & số chính phương <= N và in ra kết quả

liệu có dạng $key=>$value , trong đó giá

trị $key của tất cả các phần tử trong danh

sách là khác nhau

– $key dùng để tham chiếu đến một phần tử của

mảng

– $key có thể có kiểu số hoặc kiểu chuỗi

• $key trong PHP có ý nghĩa rộng hơn index (chỉ

mục) trong các ngôn ngữ khác (Pascal, C, C++,

C#, Java,…)

Mảng (tiếp)

Trang 28

Khai báo mảng

 Khai báo và gán giá trị

$tên_biến = array ([khóa=>] giá_trị ,

[khóa=>] giá_trị ,…)

– Trường hợp không định nghĩa các khóa ($key)

thì khóa của mảng sẽ được gán mặc định theo

kiểu số nguyên liên tiếp tăng dần từ 0

– Trường hợp một khóa trong mảng có kiểu chuỗi

hoặc số không liên tục thì mảng được gọi là

Khai báo mảng (tiếp)

 Khai báo mảng (không khởi tạo giá trị)

của mảng khi khai báo

• Kích thước có thể thay đổi linh hoạt khi sử dụng

Khai báo mảng (tiếp)

Trang 29

Thao tác mảng

 Truy cập 1 phần tử của mảng

tên_biến_mảng [$key]

– Chú ý về cách sử dụng $key ở dạng chuỗi

• Các cách viết $key=>$value trong khai báo mảng

$a3 sau đều được chấp nhận

$a3 = array(“san pham”=>“laptop”,

‘brand’=>Dell, CPU=>“core i7”,

ram=>“8Gb”, “xuất xứ”=>“USA”,

– Nếu $key không được chỉ định thì phần tử mới luôn được

thêm vào cuối mảng

• $key mới có giá trị bằng $key có giá trị số nguyên lớn nhất hiện có trong mảng cộng thêm 1

– Nếu $key được chỉ định

• Nếu $key chưa tồn tại thì 1 phần tử mới sẽ thêm vào

• Nếu $key đã tồn tại thì sẽ không có phần tử nào được thêm (lúc này giá trị cũ sẽ bị ghi đè)

$a=array('ten'=>“Bình”, 'khoa'=>“CNTT”);

/*Tương đương với 2 câu lệnh sau

$a['ten'] = “Bình”;

$a['khoa'] = “CNTT”;*/

Trang 30

• for (khởi_tạo; kiểm_tra; hành_động) { }

• foreach ($biến_mảng as [$key=>]$value)

– Rất hữu dụng khi duyệt các mảng kết hợp (vì với mảng kết hợp, cách

truyền thống không áp dụng được)

– Kết hợp sử dụng các hàm:

• each($biến_mảng), list($key, $value)

– Dùng con trỏ mảng

Thao tác mảng (tiếp)

Ví dụ foreach: in mảng a2 đã khai báo ở trên

foreach($a2 as $khoa=>$giaTri){

echo “$khoa là $giaTri <br/>”;

} kết quả:

product là laptop brand là Dell CPU là corei7 ram là 8Gb

5 là USA

Thao tác mảng (tiếp)

 Dùng hàm each($biến_mảng)

– Hàm each trả về phần tử kế tiếp của mảng

– Cặp $key=>$value của phần tử trả về được lưu

trong mảng 4 phần tử có khóa là 0,1, key,value

• 0, key: chứa $key

• 1, value: chứa $value

– Ví dụ: in mảng a2 đã khai báo ở trên

while ($item = each ($a2)){

echo “{$item[‘key’]} là { $item[‘value’]} ”;

in mảng a2 đã khai báo ở trên

echo “$k là $v <br/>”;

}

Trang 31

‘thứ tư’=>'Đi chơi',

‘thứ bảy'=>'Đìu hiu một mình',

'chủ nhật'=>'Còn tôi với nồng nàn');

while (list($index,$value) = each($arr))

echo “$index - $value <br>”;

• current($mảng) trả về phần tử hiện tại

• prev($mảng): trả về phần tử liền trước

• next($mảng): trả về phần tử liền sau

• end($mảng): trả về phần tử cuối cùng của mảng

• reset($mảng) đưa con trỏ về đầu mảng

– Sau mỗi lần duyệt mảng bằng each(), list() thì phải dùng reset() để đưa con trỏ trở lại đầu mảng trước khi duyệt tiếp

Trang 32

mục” $key khỏi mảng

– unset($tên_mảng): xóa toàn bộ mảng

– Chú ý: hàm unset() không đánh lại “chỉ mục”

Trang 33

<?php

$arr = array('Lê'=>'Phan Đã','Thị'=>'Đỗ Văn Vẻ', 'Bồ'=>'Hồ Như Ao','Câu'=>'Tạ Thị Tấn');

ksort($arr);

echo "Student - His friend<br>";

while (list($person,$friend) = each($arr)) echo "$person - $friend <br>";

foreach ($a as $key => $value) {

echo "$key: $value\n";

}

?>

Các hàm xử lý mảng (tiếp)

 Nối ghép hai mảng – array_merge($mảng1, $mảng2) – array_combine($mảng1, $mảng2) – array_intersect($mảng1, $mảng2)

 Tách mảng – array_slice($mảng, vị trí tách, số lượng tách)

 Tìm kiếm – array_search($giá_trị, $mảng) – in_array(giá trị tìm, $mảng)

Trang 34

Ví dụ về mảng động

 Cho mảng gồm 10 số tự nhiên, tạo và in ra mảng

con chứa những số lẻ của mảng này

$child[] = $v; //thêm ptử vào mảng con

echo "So phan tu cua mang con: " count($child) ;

for($i = 0; $i < count($child); $i++)

echo "<br/> $child[$i]"

?>

Chuỗi trong PHP

Một số hàm xử lý chuỗi

 strlen($str): trả về độ dài của chuỗi $str

 substr($str, $pos, $len): trả về chuỗi con tách từ chuỗi $str từ

vị trí $pos và lấy $len ký tự

 strpos($str, $sub): trả về vị trí xuất hiện lần đầu tiên của

chuỗi $sub trong chuỗi $str

 str_replace($rep, $with, $str): thay thế chuỗi $rep bằng chuỗi

$with trong chuỗi $str

 strtoupper ($chuỗi): chuyển chuỗi thành các ký tự in hoa

 strtolower ($chuỗi): chuyển $chuỗi thành các ký tự thường

$danhSach = “Hằng Hạnh Mai Thủy Ly";

$mang = explode (" ", $danhSach);

echo "Danh sách ngũ cô nương K22: <br/>";

foreach($mang as $key=>$value) echo ($key+1) " - " $value "<br/>";

?>

Trang 35

Một số hàm xử lý chuỗi (tiếp)

 implode($sep, $arr): nối các chuỗi con trong mảng

$arr thành 1 chuỗi phân cách nhau bởi $sep

 Ví dụ:

<?php

$array = array ('lastname', 'email', 'phone');

$comma_separated = implode (",", $array);

echo $comma_separated; // lastname,email,phone

Một số hàm xử lý chuỗi (tiếp)

 Ví dụ: Chuẩn hóa chuỗi văn bản (không có ký tự

trống ở hai đầu, giữa 2 từ chỉ có một ký tự trống)

Trang 36

 Multiline List Box:

<select multiple name=”tên_biến_mảng[]”>

Truyền dữ liệu của Form HTML

 Thẻ <form> trong HTML có 2 thuộc tính:

– action=“chuỗi”: url của trang web nhận dữ liệu (thường là url của trang PHP xử lý dữ liệu)

• Nếu trang xử lý chính là trang của thẻ Form thì khai báo:

action=“<?php echo $_SERVER['PHP_SELF'] ?>”

– method=“chuỗi”: phương thức gửi dữ liệu đến trang xử lý Có 2 cách:

• GET (mặc định)

• POST

Trang 37

Phương thức GET

liệu được truyền qua URL theo từng cặp

tham_số=giá_trị:

– Tên các tham số là thuộc tính “name” của các đối tượng trên

form

– Giá trị tham số là giá trị được nhập vào đối tượng (hoặc giá

trị của thuộc tính “value” của đối tượng)

– Các cặp phân cách bởi dấu & và phân cách với url nguyên

thủy của trang bởi dấu ?

– Người dùng không thấy được các giá trị này

Đọc dữ liệu gửi từ Form

 PHP cung cấp 2 mảng $_GET$_POST để

lấy các giá trị được gửi từ form

– Mảng $_GET dùng để đọc giá trị gửi đi bằng

• Nên dùng trong trường hợp dữ

liệu chỉ dùng để truy vấn, không đòi hỏi bảo mật

• Không hỗ trợ uploading file

• An toàn hơn so với khi dùng

GET nên được dùng phổ biến

hơn

• Hỗ trợ uploading file

• Hỗ trợ nhiều bảng mã

Trang 38

Đọc dữ liệu gửi từ Form

 Ví dụ: đọc các biến a, b, c trong trang

<form action=“ nhan.php ” method= POST >

<input type=text name=“hoten”>

<input type=submit name=“Sumit”>

Đọc dữ liệu gửi từ Form (tiếp)

 Ví dụ: nhận dữ liệu gửi từ các checkbox cùng tên

– Trang “gui.php”

<form action=“ nhan.php ” method= POST >

<input type="checkbox" name=" box[] " value=1>Một

<input type="checkbox" name=" box[] " value=2>Hai

<input type="checkbox" name=" box[] " value=3>Ba

<input type=submit name=“Sumit”>

Trang 39

Ví dụ mẫu

 Xây dựng 1 trang HTML với nội dung gồm

form cho phép nhập họ tên Sau đó dùng 1

file PHP để xuất ra thông tin họ tên mà

<input type=“text” name=“ hoten ” /> <br/>

<input type=“submit” value=“Gui” />

</form>

</body>

</html>

Ví dụ mẫu (tiếp)

 Tạo file xuly.php để xuất ra dữ liệu với nội

dung như sau:

<p>Name <input type="text" name="txtname"/></p>

<p>Job <input type="text" name="txtjob"/></p>

<p>Giới tính <input type="radio" name="rdbsex"

value="Nam"/>Nam <input type="radio" name="rdbsex"

</p>

Trang 40

Ví dụ tổng hợp (tiếp)

<p>Quê quán</p>

<select name="selhomeland">

<option value="Hà Nội"> Hà Nội </option>

<option value="Huế"> Huế </option>

<option value="Đà Nẵng"> Đà Nẵng </option>

<option value="Quy Nhơn" selected="selected">

Quy Nhơn </option>

<option value="Hồ Chí Minh">Hồ Chí Minh </option>

</select>

Ví dụ tổng hợp (tiếp)

<p>Ngoại ngữ</p>

<input type="checkbox" name=" ckb[] "

value="Anh"/> Tiếng Anh <input type="checkbox" name=" ckb[] "

value="Pháp"/> Tiếng Pháp

<input type="checkbox" name=" ckb[] "

value="Nhật"/> Tiếng Nhật <p>Thông tin thêm</p>

<textarea name="txtmore" cols="45" rows="5">

– Ngược lại nếu nhập sai thì xuất thông báo

"Username hoặc password không chính xác Vui lòng đăng nhập lại"

Ngày đăng: 28/03/2016, 22:34

TỪ KHÓA LIÊN QUAN

w