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

Lập trình web với PHP cơ bản

19 87 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 19
Dung lượng 690,73 KB

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

Nội dung

Bài giảng hướng dẫn cách chèn PHP và trang HTML; thao tác với chuỗi; các cấu trúc cơ bản như khai báo biến, lệnh rẽ nhánh, vòng lặp; cách tạo mảng số và mảng kết hợp từ một chiều đến nhiều chiều; tạo hàm và gọi hàm, từ hàm không tham số đến hàm có tham số, gọi hàm không có kết quả trả về và gọi hàm có kết quả trả về; lấy dữ liệu từ form gởi lên và xử lý.

Trang 1

1

PHP CƠ BẢN

Trần Thị Bạch Huệ

2

Nội dung

 Web tĩnh và web động

 Web server và web client

 Các phần mềm cần thiết

 Tổng quan về PHP – Nhúng PHP vào trang HTML – Biến, kiểu dữ liệu, toán tử, cấu trúc rẽ nhánh, vòng lặp – Mảng, hàm, phạm vi biến, biến tĩnh

– Chèn file

Tài liệu tham khảo

 http://www.w3schools.com/php/default.asp

 “Bài tập PHP”, trung tâm đào tạo lập trình

viên quốc tế AiTi-Aptech

 Bài giảng của Đào Việt Cường, Khoa CNTT–

ĐHSP Hà Nội

Web tĩnh và web động

Web tĩnh

Trang 2

5

 Tất cả người dùng cùng nhận được kết quả

giống nhau

 Trang Web tĩnh được viết bằng các thẻ

HTML và nó chỉ bị thay đổi bởi người bao trì

trang Web này

 Có khả năng tương tác với người dùng yếu

6

Web động

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 động được viết bằng các thẻ

HTML + ngôn ngữ lập trình phía server như

PHP, ASP,… và có thể được thay đổi bởi

người sử dụng

 Khả năng tương tác với người dùng mạnh

8

Web server

 Server là máy 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 hoặc nhiều mục đích Tên máy chủ thường gắn với mục đích sử dụng

– Ví dụ: File server, mail server, Web server,…

 Trên thực tế, máy chủ có cấu hình khá cao với khả năng hoạt động ổn định

Trang 3

9

 Web server là máy chủ chuyên cung cấp

dịch vụ Web

 Một số phần mềm Web server chuyên dụng

như Apache, Internet Information Services

(IIS),…

10

Web client

 Là phần mềm dùng để truy cập và hiển thị nội dung trang web

 Một số web browser thông dụng như Internet Explorer (IE), FireFox, Opera, Netscape,…

Các phần mềm cần thiết

 Để có thể thực hành tạo trang Web bằng PHP trên

máy tính của bạn, cần cài đặt các phần mềm sau:

– Cài Apache (hoặc IIS) để cấu hình web server, download

miễn phí tại http://httpd.apache.org/download.cgi

– Cài PHP, download miễn phí tại

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

– Cài MySQL, download miễn phí tại

http://www.mysql.com/downloads/

 Để đơn giản cho việc cài đặt và cấu hình, bạn có thể

sử dụng gói WampServer / Vertrigo / Xamp

Tổng quan về PHP

 PHP là gì?

PHP (PHP: Hypertext Preprocessor) là ngôn ngữ lập trình

phía server, được dùng để phát triển web động và có thể được nhúng vào các trang HTML

– Bộ biên dịch PHP là phần mềm mã nguồn mở, có thể chạy trên các Web server như Apache, IIS,…

– PHP có thể kết hợp với nhiều hệ quản trị như MySQL, Oracle,…

– PHP có thể được download miễn phí tại http://www.php.net/

Trang 4

13

Nhúng PHP vào trang HTML

 Có thể nhúng mã PHP vào vị trí bất kỳ trong trang

HTML

 Đoạn mã PHP được đặt giữa: <?php … ?>:

<?php

//Đoạn lệnh PHP ở đây

?>

 Kết quả do đoạn mã PHP thực hiện được đưa vào vị

trí mà đoạn mã PHP đang chiếm chỗ

14

 Ví dụ: Tạo trang “Hello.php” có code như sau:

<html>

<head>

<title>Trang PHP dau tien</title>

</head>

<body>

<?php echo “Chao mung ban den voi PHP”;

?>

</body>

</html>

15

 Thử nghiệm:

– Mở IE, gõ địa chỉ: http://localhost/Hello.php

16

 Mỗi lệnh PHP kết thúc bằng dấu chấm phẩy (;)

File PHP được lưu với phần mở rộng php

Nếu file có phần mở rộng html, mã PHP sẽ không được thực thi

Có thể dùng lệnh echo hoặc print để xuất

văn bản ra trang web

Trang 5

17

Chú thích trong PHP

 //Bắt đầu dòng chú thích

 # Bắt đầu dòng chú thích

 /*

Bắt đầu đoạn chú thích

*/

18

Biến

 Là vùng nhớ  dùng để lưu trữ thông tin

Khai báo biến: $tên_biến = giá_trị;

– 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

– Ví dụ: $a=1; $b_12=“Hello”;

 Không cần khai báo trước, đượ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

 PHP tự động xác định kiểu dữ liệu cho biến tùy vào giá trị gán cho nó

Kiểu dữ liệu

 PHP hỗ trợ các kiểu dữ liệu sau:

– Số nguyên (integer) và số thực (float)

– Chuỗi (string)

– Boolean

– Mảng (array)

– Đối tượng (object),…

Kiểu số

 Số nguyên từ -231 đến 231-1

– Hệ thập phân: Ví dụ: $a = 16;

– Hệ 16 (thập lục phân): Ví dụ: $a=0x10;

– Hệ 8 (bát phân): VD: 020;

 Số thực (thập phân): Từ 1.7E-308 đến 1.7E+308

– Biểu diễn: $a = 0.017

– Dạng khoa học: $a = 17.0E-03

Trang 6

21

Kiểu chuỗi

 Chuỗi có thể được bao trong dấu nháy đơn

(‘) hoặc kép (“)

 Nháy đơn:

– Cách đơn giản nhất để xác định một chuỗi là bao

nó trong dấu nháy đơn

– Nếu nội dung của chuỗi có dấu nháy đơn thì đặt

dấu \ trước nó (\’), có dấu \ thì đặt \\

– Ví dụ:

22

<?php echo ‘hello’;

// Outputs: Arnold once said: "I'll be back"

echo 'Arnold once said: "I\'ll be back"';

// Outputs: You deleted C:\*.*?

echo 'You deleted C:\\*.*?';

// Outputs: This will not expand: \n a newline echo 'This will not expand: \n a newline';

// Outputs: Variables do not $expand $either echo 'Variables do not $expand $either';

?>

23

 Nháy kép:

– Chuỗi đặt trong nháy kép bị thay thế và xử lý ký

tự thoát

– Ví dụ:

$a = “Hello”;

echo “$a world”; // Xuất “Hello world”

echo ‘$a world’; // Xuất ‘$a world’ (không thay đổi)

24

 Để chỉ rõ biến trong chuỗi, cần bao biến vào giữa cặp ngoặc móc { }

 Ví dụ:

$a = “He”;

echo “ $a llo”; //lỗi do PHP hiểu là biến $allo nên nó báo biến chưa được định nghĩa

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

Trang 7

25

 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: Người ta nói “PHP rất tốt”

$a = “Người ta nói “PHP rất tốt””; //Sai

$a = “Người ta nói \“PHP rất tốt\””; //Đú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

 …

26

 Kiểu tài liệu (heredoc):

– Cho phép viết 1 chuỗi trên nhiều dòng, không cần sử dụng ký tự thoát:

– Cách viết:

$biến = <<<Ký_hiệu nội dung trên nhiều dòng Ký_hiệu;

– Chú ý: Ký_hiệu phải được viết ở ký tự đầu tiên của dòng – Ví dụ:

$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;

Kiểu logic

 Có 2 trạng thái: TRUE và FALSE

Toán tử

 Toán tử cộng chuỗi: dấu chấm (.) – Ví dụ:

<?php $txt1="Hello World!";

$txt2="What a nice day!";

echo $txt1 " " $txt2;

?>

– Hàm strlen(chuỗi): trả về chiều dài chuỗi

– Hàm strpos(chuỗi, chuỗi_con): Tìm chuỗi_con trong chuỗi

 Nếu tìm gặp trả về vị trí chuỗi so khớp đầu tiên, ngược lại trả

về FALSE

Trang 8

29

 Ví dụ:

<?php

echo strlen("Hello world!");

?>

Kết quả hiển thị: 12

 Ví dụ:

<?php

echo strpos("Hello world!","world");

?>

Kết quả hiển thị: 6

30

 Các toán tử số học:

– +, -, *, /

– %: chia lấy dư

– ++: tăng 1 đơn vị

– : giảm 1 đơn vị

31

 Các toán tử gán:

– =, +=, -=, *=, /=, =, %=

 Ví dụ: x +=y (x = x+y)

 Các toán tử so sánh:

– ==, !=, <>, >, >=, <, <=

 Các toán tử logic:

– && (và), || (hoặc), ! (phủ định)

32

Cấu trúc rẽ nhánh

 Cú pháp lệnh IF:

if (điều kiện)

mã khi điều kiện đúng;

Else

mã khi điều kiện sai

Trang 9

33

 Ví dụ:

<body>

<?php

$d=2;

if ($d==1)

{

echo "Hello!";

}

else echo “everybody”;

?>

</body>

34

 Ví dụ:

<body>

<?php

$d=date("D");

if ($d=="Fri") echo "Have a nice weekend!";

elseif ($d=="Sun") echo "Have a nice Sunday!";

else echo "Have a nice day!";

?>

</body>

 Cú pháp lệnh Switch:

switch (n)

{

case label1:

mã khi n=label1;

break;

case label2:

mã khi n=label2;

break;

default:

mã khi n khác các trường hợp trên;

}

 Giá trị n được so sánh với giá trị của từng case

 Nếu khớp, mã của case tương ứng sẽ được thực thi

 Lệnh break được sử dụng để mã của các case bên dưới không bị thực thi tự động

 Mã của default được thực thi khi n không khớp với tất cả các case trên

Trang 10

37

 Ví dụ:

<?php

$x=2;

switch ($x)

{

case 1: echo "Number 1";

break;

case 2: echo "Number 2";

break;

case 3: echo "Number 3";

break;

default: echo "No number between 1 and 3";

}

?>

38

Vòng lặp

 Có 2 loại vòng lặp:

– Không biết trước số lần lặp – Biết trước số lần lặp

Vòng lặp while: Thường được dùng khi không biết

trước số lần lặp while (điều kiện)

{

mã trong vòng lặp;

}

39

 Vòng lặp while thực hiện khi điều kiện đúng, thoát khi điều kiện

sai

 Ví dụ:

<body>

<?php

$i=1;

while($i<7){

echo "Hello<br>";

$i++;

}

?>

</body>

40

 Vòng lặp do…while:

do {

}

while ( điều kiện);

 Vòng lặp do…while thực hiện khi điều kiện đúng, thoát khi điều kiện sai Vòng lặp này lặp ít nhất một lần

Trang 11

41

 Ví dụ:

<?php

$i=1;

do

{

$i++;

echo "The number is " $i "<br />";

}

while ($i<=5);

?>

42

 Vòng lặp For:

– Dùng khi biết trước số lần lặp

– Cú pháp:

{

mã trong vòng lặp;

}

– Vòng lặp thực hiện cho tới khi điều kiện sai

 Ví dụ:

<body>

<?php

for ($i=1; $i<=5; $i++)

{

echo “hello”;

}

?>

</body>

 Vòng lặp Foreach: Dùng quét qua một mảng foreach ($array as $value)

{

mã cuả vòng lặp;

}

– Mỗi lần lặp, giá trị của phần tử mảng hiện hành được gán cho biến $value và con trỏ mảng dịch chuyển lên một

Trang 12

45

 Ví dụ:

<?php

$x=array("one","two","three");

foreach ($x as $i)

{

echo “$i <br>”;

}

?>

Output:

one two three

46

break : Kết thúc lệnh for, while,

do-while hoặc switch

continue : Bỏ qua các lệnh phía sau continue trong vòng lặp, chuyển sang lần lặp kế tiếp

47

Mảng

 Biến chỉ có thể lưu trữ được một giá trị như một con

số hay một chuỗi văn bản

 Mảng là một biến đặc biệt Nó lưu trữ được nhiều

giá trị

 PHP có 2 loại mảng:

– Mảng số: Là mảng có index là số

– Mảng kết hợp: Là mảng có mỗi index kết hợp với một giá

trị

 Mảng nhiều chiều: Là mảng chứa một hoặc

nhiều mảng khác

48

 Mảng số:

– Là mảng có index là số

– Có 2 cách tạo mảng số:

 Index được gán tự động và bắt đầu là 0

$cars=array("Saab","Volvo","BMW","Toyota");

 Index được gán một cách thủ công

$cars = array( );

$cars[0]="Saab";

$cars[1]="Volvo";

$cars[2]="BMW";

$cars[3]="Toyota";

Trang 13

49

 Ví dụ sau cho thấy cách truy cập một phần tử trong

mảng số

<?php

$cars[0]="Saab";

$cars[1]="Volvo";

$cars[2]="BMW";

$cars[3]="Toyota";

echo $cars[0] " and " $cars[1] " are Swedish

cars.";

?>

50

 Mảng kết hợp:

– Là mảng có mỗi index kết hợp với một giá trị

– Ví dụ:

$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

Hoặc $ages=array();

$ages['Peter'] = 32;

$ages['Quagmire'] = 30;

$ages['Joe'] = 34;

 Ví dụ:

<?php

$ages['Peter'] = "32";

$ages['Quagmire'] = "30";

$ages['Joe'] = "34";

echo "Peter is " $ages['Peter'] " years

old.";

?>

 Mảng nhiều chiều:

– Trong mảng nhiều chiều, mỗi phần tử trong mảng chính có thể là một mảng Mỗi phần tử trong mảng con cũng có thể

là một mảng khác,…

– Ví dụ:

$families = array(

"Griffin"=>array("Peter","Lois","Megan"), "Quagmire"=>array("Glenn"),

"Brown"=>array("Cleveland","Loretta","Junior") );

Trang 14

53

 Sau đây là ví dụ cách truy xuất một phần tử

trong mảng nhiều chiều

echo "Is " $families['Griffin'][2] " a part of

the Griffin family?";

 Kết quả xuất:

Is Megan a part of the Griffin family?

54

Một số hàm liên quan đến mảng

 Hàm sắp xếp mảng: asort, sort, rsort

 In mảng: print_r

 Một số hàm khác:

– array_sum

– count

– array_reverse

– array_search

– array_replace

55

Hàm

 Trong PHP, có hơn 700 hàm xây dựng sẵn

giúp việc lập trình đơn giản hơn

 Trong phần này chúng ta nghiên cứu việc tự

tạo một hàm

 Hàm có một số đặc điểm:

– Hàm chỉ được thực thi khi nó được gọi

– Có thể gọi hàm ở bất kỳ vị trí nào trong trang

56

 Cú pháp tạo hàm:

function tên_Hàm(số lượng tham số)

{

mã của hàm;

}

– Các tham số cách nhau bằng dấu phẩy

 Gọi hàm:

tên_Hàm(số lượng đối số);

Trang 15

57

 Ví dụ 1:

<?php

function writeName()

{

echo "Kai Jim Refsnes";

}

echo "My name is ";

writeName(); //gọi hàm

?>

58

 Chú ý:

– Nếu hàm không có tham số, khi gọi hàm vẫn giữ lại cặp ngoặc ()

– Để khai báo hàm với các tham số mặc định, khi khai báo ta gán ngay giá trị cho tham số đó

function tên_hàm(ts1=gt1, ts2=gt2,…)

 Ví dụ 2:

<?php

function writeName($fname)

{

echo $fname " Refsnes.<br />";

}

echo "My name is ";

writeName("Kai Jim");

echo "My sister's name is ";

writeName("Hege");

echo "My brother's name is ";

writeName("Stale");

?>

 Ví dụ 3:

<?php function writeName($fname,$punctuation) {

echo $fname " Refsnes" $punctuation "<br />";

} echo "My name is ";

writeName("Kai Jim",".");

echo "My sister's name is ";

writeName("Hege","!");

echo "My brother's name is ";

writeName("Ståle","?");

?>

Trang 16

61

 Để trả kết quả về cho hàm, sử dụng lệnh

return biểu_thức;

 Để thoát khỏi hàm, sử dụng lệnh

return; hoặc exit;

62

 Ví dụ 4:

<?php function add($x,$y){

$total=$x+$y;

return $total;

}

$kq = add(1,16);

echo "1 + 16 = " $kq;

?>

63

Phạm vi biến (scope)

 Phạm vi biến là phạm vi ở đó biến còn có thể

được sử dụng

 Có 3 phạm vi:

– Biến cục bộ (Local variables):

 Khởi tạo trong hàm

 Có tác dụng kể từ lúc khởi tạo đến hết hàm

– Biến toàn cục (Global variables):

 Khởi tạo ngoài hàm

64

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

– Để khai báo một biến toàn cục bên trong hàm, sử dụng khai báo:

global $biến, $biến,…;

Hoặc mảng $_GLOBAL

 Biến siêu toàn cục (Super global variables):

Một số biến có sẵn trong PHP như

$_SERVER, $_GLOBAL, $_GET,

$_POST,…

Trang 17

65

 Ví dụ:

<?php

function BienTC( )

{

global $x;

$x=3;

}

BienTC( );

echo $x;

?>

66

Biến tĩnh

 Khai báo trong hàm

 Giá trị được lưu trữ qua nhiều lần gọi hàm

 Chỉ được khởi tạo ở lần khai báo đầu tiên

 Để khai báo:

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

 Ví dụ:

<?php

function BienTinh( )

{

static $x=3;

$x++;

return $x;

}

echo BienTinh(); //4

echo BienTinh(); //5

?>

Chèn file

include (“địa_chỉ_file”);

require (“địa_chỉ_file”);

include_once (“địa_chỉ_file”);

require_once (“địa_chỉ_file”);

Ngày đăng: 16/04/2019, 13:44

w