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

bài giảng lập trình web php - chương 02 php cơ bản - trường đh sp tp. hcm

103 420 2

Đ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 103
Dung lượng 2,62 MB

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

Nội dung

Hoạt động của Web Server... Hoạt động của Web Server... Yêu cầu cài đặt•• Download Apache Server Download Apache Server Download Apache for free here : http://httpd.apache.org/download.

Trang 1

Đại Hc Sư Phm Tp H Chí Minh

Đại Hc Sư Phm Tp H Chí Minh

LẬP TRÌNH WEB PHP

Ch ươ ng 02: PHP C Ơ BN

Trang 2

NỘI DUNG

• Ph ần 2: PHP cơ bản

Trang 3

3 Yêu c Yêu cầầu cài u cài đặđặt t

a Web server (Apache, IIS)

Trang 4

1 Giới thiệu PHP – Lịch sử

•• PHP PHP : Rasmus Lerdorf in 1994 (được phát triển để phátsinh các form đăng nhập sử dụng giao thức HTTP của Unix)

•• PHP PHP 2 2 ((1995 1995)) : Chuyn sang ngôn ngscript xlý trên

hàm đệ quy, câu điều kiện, biểu thức, …

•• PHP PHP 3 3 ((1998 1998)) : Hỗ trợ ODBC, đa hệ điu hành, giao thứcemail (SNMP, IMAP), bộ phân tích mã PHP (parser) của

email (SNMP, IMAP), bộ phân tích mã PHP (parser) của

Zeev Suraski và Andi Gutmans

•• PHP PHP 4 4 ((2000 2000)) : Trở thành một thành phần độc lập cho cácwebserver Parse đổi tên thành Zend Engine Bổ sung cáctính năng bảo mật cho PHP

•• PHP PHP 5 5 ((2005 2005)) : Bổ sung Zend Engine II hỗ trợ lp trình

Trang 5

1 Giới thiệu PHP – PHP là gì?

•• PHP PHP đượ c phát tri ể n t ừ ngôn ng ữ k ị ch b ả n

(script) v ớ i m ụ c đ ích xây d ự ng trang Web cá

nhân ( Personal Personal Home Home Page Page ) Sau đ ó đ ã đượ c phát tri ể n thành m ộ t ngôn ng ữ hoàn

ch ỉ nh và đượ c ư a chu ộ ng trên toàn th ế gi ớ i

trong vi ệ c phát tri ể n các ứ ng d ụ ng Web.

trong vi ệ c phát tri ể n các ứ ng d ụ ng Web.

•• PHP PHP là m ộ t ngôn ng ữ thông d ị ch.

• Là ngôn ng ữ server-side script, t ươ ng t ự

nh ư ASP, JSP, … th ự c thi ở phía Server.

• T ậ p tin PHP có ph ầ n m ở r ộ ng là php php

• Cú pháp t ươ ng t ự ngôn ng ữ C C & & Perl Perl

Trang 6

1 Giới thiệu PHP – Ưu điểm

•• Web Web Servers : Apache, Microsoft IIS, Caudium, Netscape Enterprise Server

•• H H ệ ệ đ đ i i ề ề u u hành hành : UNIX (HP-UX, OpenBSD, Solaris,

(Multi (Multi Platform) Platform)

•• H H ệ ệ đ đ i i ề ề u u hành hành : UNIX (HP-UX, OpenBSD, Solaris, Linux), Mac OSX, Windows NT/98/2000/XP/2003/vista

•• H H ệ ệ QTCSDL : Adabas D, dBase, Empress, FilePro (read-only), Hyperwave, IBM DB2, Informix, Ingres, InterBase, FrontBase, mSQL, Direct MS-SQL, MySQL,

Trang 7

1 Giới thiệu PHP – Ưu điểm

PHP được sử dụng rộng rãi trên môi

PHP được sử dụng rộng rãi trên môi

trường phát triển web trường phát triển web

Trang 8

1 Giới thiệu PHP – Một số website dùng PHP

Trang 9

2 Hoạt động của Web Server

CƠ CHẾ HOẠT ĐỘNG

Trang 10

2 Hoạt động của Web Server

•• Apache ApacheIIS đượ c xây d ự ng để đ áp ứ ng các yêu

c ầ u (request) các t ậ p tin HTML

• Không hi ể u cách th ự c thi mã PHP ở phía server

•• Apache Apache s ử d ụ ng các modules để “hi ể u” cách th ự c

thi các đ o ạ n mã vi ế t b ằ ng PHP

thi các đ o ạ n mã vi ế t b ằ ng PHP

•• IIS IIS s ử d ụ ng t ậ p l ệ nh ISAPI - Internet Server

Application Programming Interface - để “hi ể u” các

l ệ nh c ủ a PHP và ASP

• Ngoài ra, c ả ApacheIIS đề u h ỗ tr ợ nhi ề u

Trang 11

2 Hoạt động của Web Server

Trang 12

2 Hoạt động của Web Server

Trang 13

3 Yêu cầu cài đặt

•• Download Apache Server Download Apache Server

Download Apache for free here :

http://httpd.apache.org/download.cgi

•• Download PHP Download PHP

Download PHP for free here :

Download PHP for free here :

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

•• Download MySQL Database Download MySQL Database

Download MySQL for free here :

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

Trang 15

Phần 2: PHP căn bản

Trang 17

1 PHP và HTML

Trang 20

4 Khai báo biến

• Cú pháp: $ ten_bien = value ;

•• Không khai báo ki Không khai báo kiểu dữ liệu ểu dữ liệu

• Bi ế n t ự độ ng đượ c kh ở i t ạ o khi gán giá tr ị l ầ n đầ u

• Tên bi ế n

– Bao gồm các ký tự (A Z, a z), ký số(0 9),_

– Bao gồm các ký tự (A Z, a z), ký số(0 9),_

Trang 21

4 Khai báo biến

Trang 24

5 Kiểu dữ liệu

• Kim tra kiu d liu

is_integer is_array unset

Trang 25

print rand(); // Giá trị ngẫu nhiên từ 0 đến getmaxrand( )

print rand(1, 6); // Giá trị ngẫu nhiên từ 1 đến 6

trong PHP Manual

Trang 26

5 Kiểu dữ liệu

• Ki ểu string

– Toán t ni chui “.”

$str=“Hello “ ”World!”; //$str = “Hello World!”;

– Phân bit du nháy đơ n, du nháy kép

$user = “Mr Bean”;

$user = “Mr Bean”;

print ‘Hi $user’; // Hi $user

print “Hi $user”;// Hi Mr Bean

print “Hi” $user;// ????

print “Hi” “$user”;// ????

Trang 27

5 Kiểu dữ liệu: Kiểu chuỗi (tt)

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

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

ký t ự thoát Trong nháy đơ n thì không.

Trang 28

5 Kiểu dữ liệu: Kiểu chuỗi (tt)

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

Trang 29

5 Kiểu dữ liệu: Kiểu chuỗi (tt)

• Ký t thoát: \

– S dng để vi ế t các ký t ự đặ c bit trong chui

– VD:

Cn có chui: Ng ườ i ta nói “PHP rt tt”

$a = “Ng ườ i ta nói “PHP rt tt””; //Sai

$a = “Ng ườ i ta nói “PHP rt tt””; //Sai

Trang 30

5 Kiểu dữ liệu: Kiểu chuỗi (tt)

ni dung trên nhiu dòng

ni dung trên nhiu dòng

Trang 31

$str = <<<EOA

Example of string <br>

spanning multiple lines<br>

using heredoc syntax.<br>

EOA;//không ñược có khong trng ñầu dòng

Trang 32

Các hàm x lý chui

Các hàm x lý chui

•• Các xử lý cơ bản Các xử lý cơ bản

strlen ($chu ($chuỗỗi) i)

substr ($chu ($chuỗỗi, $v i, $vịị trí, $chi trí, $chiềều_dài) u_dài)

strtoupper ($chu ($chuỗỗi) i)

strtolower ($chu ($chuỗỗi) i)

strtolower ($chu ($chuỗỗi) i)

iconv(mã ngu nguồồn, mã n, mã đđích, $chu ích, $chuỗỗi) i)

trim ($chu ($chuỗỗi, ’ký t i, ’ký tựự mu muốốn c n cắắt’) t’)

ltrim ($chu ($chuỗỗi, ’ký t i, ’ký tựự mu muốốn c n cắắt’) t’)

rtrim ($chu ($chuỗỗi, ’ký t i, ’ký tựự mu muốốn c n cắắt’) t’)

Trang 33

Các hàm x lý chui

Các hàm x lý chui

•• Tìm ki Tìm ki ế ế m m

strpos ($chu ($chuỗỗi, $chu i, $chuỗỗi_con, $v i_con, $vịị_trí_b _trí_bắắt t đầđầu) u)

strrpos ($chu ($chuỗỗi, $chu i, $chuỗỗi_con, $v i_con, $vịị_trí_b _trí_bắắt t đầđầu) u)

•• So sánh

strcmp ($chu ($chuỗỗi_1, $chu i_1, $chuỗỗi_2) i_2)

strcmp ($chu ($chuỗỗi_1, $chu i_1, $chuỗỗi_2) i_2)

strncmp ($chu ($chuỗỗi_1, $chu i_1, $chuỗỗi_2, $chi i_2, $chiềều_dài) u_dài)

strcasecmp ($chu ($chuỗỗi_1, $chu i_1, $chuỗỗi_2) i_2)

strncasecmp ($chu ($chuỗỗi_1, $chu i_1, $chuỗỗi_2, $chi i_2, $chiềều_dài) u_dài)

strnatcmp ($chu ($chuỗỗi_1, $chu i_1, $chuỗỗi_2) i_2)

strnatcasecmp ($chu ($chuỗỗi_1, $chu i_1, $chuỗỗi_2) i_2)

Trang 34

printf ( "%%e = '%e'\n" , $n );

printf ( "%%u = '%u'\n" , $n );

printf ( "%%u = '%u'\n" , $u );

Trang 35

5 Kiểu dữ liệu

<? php

$input = "Alien" ;

echo str_pad ( $input , 10 ); // produces "Alien "

echo str_pad ( $input , 10 , "-=" , STR_PAD_LEFT ); // produces "-=-=-Alien"

echo str_pad ( $input , 10 , "_" , STR_PAD_BOTH ); // produces " Alien _"

echo str_pad ( $input , 6 , " _" ); // produces "Alien_"

?>

STR_PAD_RIGHT : Thêm vào bên phải (mặc định)

Hàm str_pad

Trang 36

5 Kiểu dữ liệu

<?php

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

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

echo $comma_separated ; // lastname,email,phone

$pizza = "piece1 piece2 piece3 piece4 piece5 piece6" ;

$pieces = explode ( " " , $pizza );

echo $pieces [ 0 ]; // piece1

echo $pieces [ 1 ]; // piece2

// Example 2

X lý chui

X lý chui

Trang 37

$num = count( $colors );

echo “We have $num items<br>” ;

?>

Do you like blue?

Do you like green?

Do you like red?

Do you like yellow?

We have 4 items

Trang 38

5 Kiểu dữ liệu

• M ảng ( Array )

<?php

// PHP 5

foreach ( $colors as & $color ) {

$color = strtoupper ( $color );

}

unset( $color ); /* ensure that following writes to

unset( $color ); /* ensure that following writes to

$color will not modify the last array element */

// Workaround for older versions ( phiên bn trước PHP 5 )

foreach ( $colors as $key => $color ) {

$colors [ $key ] = strtoupper ( $color );

}

Array ( [0] => RED [1] => BLUE

Trang 39

5 Kiểu dữ liệu

<?php

$a = array( "a" => "apple" , "b" => "banana" );

$b = array( "a" => "pear" , "b" => "strawberry" , "c" => "cherry" );

$c = $a + $b ; // Union of $a and $b

echo "Union of \$a and \$b: \n" ;

var_dump ( $c );

$c = $b + $a ; // Union of $b and $a

echo "Union of \$b and \$a: \n" ;

echo "Union of \$b and \$a: \n" ;

["a"]=> string(4) "pear"

["b"]=> string(10) "strawberry"

["c"]=> string(6) "cherry"

Trang 40

extract( $var_array , EXTR_PREFIX_SAME , "wddx");

extract( $var_array , EXTR_PREFIX_SAME , "wddx");

echo "$color, $size, $shape, $wddx_size\n";

?>

blue, large, sphere, medium

Trang 41

5 Kiểu dữ liệu

<?php

$info = array( 'coffee' , 'brown' , 'caffeine' );

// Listing all the variables

list( $drink , $color , $power ) = $info ;

echo "$drink is $color and $power makes it special.\n" ;

// Listing some of them

list( $drink , , $power ) = $info ;

list( $drink , , $power ) = $info ;

echo "$drink has $power.\n" ;

// Or let's skip to only the third one

list( , , $power ) = $info ;

echo "I need $power!\n" ;

// list() doesn't work with strings

list( $bar ) = "abcde" ;

var_dump ( $bar ); // NULL

?>

Trang 42

usort ($m ($mả ảng, ”hàm_so_sánh”) ng, ”hàm_so_sánh”) // t // tự ự đị định ngh nh nghĩ ĩa th a thứ ứ t tự ự

uasort ($m ($mả ảng, ”hàm_so_sánh”) ng, ”hàm_so_sánh”) // t // tự ự đị định ngh nh nghĩ ĩa th a thứ ứ t tự ự

Theo khóa

ksort ($m ($mả ảng) ng) // t // tă ăng d ng dầ ần n

krsort ($m ($mả ảng) ng) // gi // giả ảm d m dầ ần n

Trang 44

6 Toán tử

Trang 45

6 Toán tử

$a == $b Equal TRUETRUE if $a is equal to $b.

$a === $b Identical TRUETRUE if $a is equal to $b, and they are of the same type (PHP 4)

$a != $b Not equal TRUETRUE if $a is not equal to $b.

$a <> $b Not equal TRUETRUE if $a is not equal to $b.

$a <> $b Not equal TRUETRUE if $a is not equal to $b.

$a !== $b Not identical TRUETRUE if $a is not equal to $b, or they are not of the same type (PHP 4)

$a < $b Less than TRUETRUE if $a is strictly less than $b.

$a > $b Greater than TRUETRUE if $a is strictly greater than $b.

$a <= $b Less than or equal to TRUETRUE if $a is less than or equal to $b.

$a >= $b Greater than or equal to TRUETRUE if $a is greater than or equal to $b.

Trang 46

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

Trang 48

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

Trang 49

khi lnh

khi lnh 2 2

khi lnh

khi lnh 2 2

case bi bi ể ể u th u th ứ ứ c c n: n:

khi lnh

khi lnh n n default ::

khi lnh cui

khi lnh cui }

Trang 50

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

• R ẽ nhánh với switch … case

Trang 51

Vòng lặp while/do while

while

while (( biểu thức điều kiện biểu thức điều kiện ))

khối lệnh khối lệnh

Trang 52

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

• L ặp với while & do … while

echo "At 2"; break ;

echo "At 2"; break ;

echo "At 5"; break 2 ;

Trang 54

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

• L ặp với for & foreach

for ($i= 1 , $j= 0; $i<= 10; $j+=$i, print $i,

Trang 55

sang ln lp ti ế o theo

Trang 56

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

<?php

$arr = array( 1 , 2 , 3 , 4 );

foreach ( $arr as & $value ) {

$value = $value * 2 ; }

// $arr is now array(2, 4, 6, 8)

unset( $value ); // break the reference with the last element

?>

<?php

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

reset ( $arr );// reset pointer, start again on first element

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

echo "Value: $value<br />\n" ; }

Trang 57

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

<?php

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

reset ( $arr );

echo "Key: $key; Value: $value<br />\n";

}

echo "Key: $key; Value: $value<br />\n";

}

?> Key: 0; Value: one

Key: 1; Value: two Key: 2; Value: three Key: 0; Value: one Key: 1; Value: two Key: 2; Value: three

Trang 59

Nhập tên hàm (không phân biệt chữ in hoa

Nhập tên hàm (không phân biệt chữ in hoa ththườường) và ng) và

cung cấp đầy đủ các tham số cần thiết trong cặp dấu ()

cung cấp đầy đủ các tham số cần thiết trong cặp dấu ()

Trang 60

quyền đđiiềềuu hihiểểnn llạạii chocho nnơơii đđãã ggọọii hàmhàm NNếếuu khôngkhông cócó

lệnh

lệnh returnreturn thìthì mmặặcc địđịnhnh hàmhàm trtrảả vvềề giágiá trtrịị NULL

Mun tr v hơn mt giá tr thì phi dùng mng

Mun tr v hơn mt giá tr thì phi dùng mng

•• Truy Truy ề ề n tham s n tham s ố ố

•• Truy Truy ề ề n tham s n tham s ố ố

Trang 61

thì m mặ ặc c nhiên nhiên giá giá tr trị ị m mặ ặc c đị định nh đượ được c dùng dùng cho cho tham tham s số ố đ đó ó

•• Hàm có s Hàm có sốố l lượượng tham s ng tham sốố không xác không xác địđịnh nh

•• Hàm có s Hàm có sốố l lượượng tham s ng tham sốố không xác không xác địđịnh nh

Khai báo danh sách tham s rng () Khai báo danh sách tham s rng ()

S dng các hàm sau để ly danh sách các tham s:

S dng các hàm sau để ly danh sách các tham s:

func_num_args(): s số ố l lượ ượng tham s ng tham số ố khi hàm khi hàm đượ được g c gọ ọi i

func_get_arg(i): giá tr giá trị ị các tham s các tham số ố th thứ ứ i đượ được truy c truyề ền (b n (bắ ắt t

đầu t 0)

đầu t 0)

func_get_args(): danh sách t danh sách tấ ất c t cả ả các tham s các tham số ố

Trang 62

8 Hàm

•• Bi Bi ế ế n t n t ĩ ĩ nh nh

Thêm t khóa Thêm t khóa static khi khai báo bi khi khai báo biế ến n

Được khi to (và gán giá tr) mt ln đầu tiên duy nht trong sut

Được khi to (và gán giá tr) mt ln đầu tiên duy nht trong sut quá trình thc thi ca script

quá trình thc thi ca script

•• S S ử ử d d ụ ụ ng bi ng bi ế ế n toàn c n toàn c ụ ụ c c

Khai báo li biến toàn cc vi t khóa Khai báo li biến toàn cc vi t khóa global (bên trong hàm) (bên trong hàm) để để có có Khai báo li biến toàn cc vi t khóa

Khai báo li biến toàn cc vi t khóa global (bên trong hàm) (bên trong hàm) để để có có

th s dng được biến toàn cc này bên trong hàm

th s dng được biến toàn cc này bên trong hàm

S dng các hàm sau để ly danh sách các tham s:

S dng các hàm sau để ly danh sách các tham s:

func_num_args() : s : số ố l lượ ượng tham s ng tham số ố khi hàm khi hàm đượ được g c gọ ọi i

func_get_arg(i) : giá tr : giá trị ị các tham s các tham số ố th thứ ứ i i đượ được truy c truyề ền (b n (bắ ắt t đầ đầu t u từ ừ 0) 0)

func_get_args(): danh sách t danh sách tấ ất c t cả ả các tham s các tham số ố

Trang 63

8 Hàm

•• Phạm vi Phạm vi

Có giá tr ị s ử d ụ ng trong toàn script, ngay c ả

Có giá tr ị s ử d ụ ng trong toàn script, ngay c ả

tr ướ c và sau khi đị nh ngh ĩ a

tr ướ c và sau khi đị nh ngh ĩ a

•• Lồng hàm Lồng hàm

Cho phép đị nh ngh ĩ a l ồ ng hàm, th ậ m chí l ồ ng

Cho phép đị nh ngh ĩ a l ồ ng hàm, th ậ m chí l ồ ng

bên trong m ộ t c ấ u trúc đ i ề u khi ể n (if, switch,

bên trong m ộ t c ấ u trúc đ i ề u khi ể n (if, switch,

while/do, while…)

Lo ạ i hàm này có ph ạ m vi trong toàn script và

Lo ạ i hàm này có ph ạ m vi trong toàn script và

không th ể đị nh ngh ĩ a l ạ i

không th ể đị nh ngh ĩ a l ạ i

Trang 64

echo makecoffee ( null );

echo makecoffee ("espresso");

echo makecoffee ("espresso");

?>

<?php

function makecoffee ( $types = array( "cappuccino" ), $coffeeMaker = NULL ) {

$device = is_null ( $coffeeMaker ) ? "hands" : $coffeeMaker ;

return "Making a cup of " join ( ", " , $types ) " with $device.\n" ;

Trang 66

$newref =& returns_reference ();

Trang 67

// This is a wrapper function around echo

function echoit ( $string )

function echoit ( $string )

Ngày đăng: 05/07/2014, 23:42

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm