You are on page 1of 32

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

Bi tp PHP

Trung tm o to Lp trnh vin Quc t AiTi-Aptech


35/115 Ph nh Cng Hong Mai

Page 1 of 32

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

Li gii thiu

Sch bi tp do tp th gio vin AiTi-Aptech thit k v c s dng nh mt phn khng th


tch ri khi gio trnh ang hc ca Aptech n vi cc hc vin ang theo hc ti Trung tm.
Tp sch bi tp ny l ti liu lu hnh ni b, ch dnh cho cc hc vin theo hc ti Trung tm
o to Lp trnh vin Quc t AiTi-Aptech. Mi hnh thc sao chp li ni dung ca sch l vi phm
bn quyn v khng tun th Lut S hu tr tu ca Nh nc Vit Nam.
AiTi-Aptech lun mong mi to dng mt mi trng hc tp tt cho cc bn hc vin theo hc ti
trung tm. Mi kin ng gp v xy dng Sch bi tp, ci tin h thng xin gi mail v
contact.aiti@gmail.com hoc ng dy nng (04) 6 64 8848. Chng ti s ghi nhn v ci
tin c th cung cp cho cc bn mt mi trng hc tp ngy mt tt hn.

S nghip tng lai ca cc bn l thnh cng ca chng ti

i thit k Sch bi tp

Vit Nam lun thiu Lp trnh vin ng cp Quc t

Trung tm o to Lp trnh vin Quc t AiTi-Aptech


35/115 Ph nh Cng Hong Mai

Page 3 of 32

Ni dung
Chng 1 Gii thiu PHP.........................................................................................................................................3
A.Tm tt l thuyt...............................................................................................................................................3
1. nh ngha.....................................................................................................................................................3
2.Cch s dng ................................................................................................................................................3
B. Bi tp..............................................................................................................................................................3
C.Tham kho.........................................................................................................................................................3
Chng 2 X l Form trong PHP...............................................................................................................................3
A.Tm tt l thuyt...............................................................................................................................................3
B. Bi tp..............................................................................................................................................................3
C.Tham kho.........................................................................................................................................................4
Chng 3 S dng bin v biu thc trong PHP......................................................................................................4
A.Tm tt l thuyt...............................................................................................................................................4
B. Bi tp............................................................................................................................................................12
C.Tham kho.......................................................................................................................................................12
Chng 4 : Cu lnh iu khin v vng lp trong PHP
................................................................................................................................................................................12
A : Tm tt l thuyt ..........................................................................................................................................12
B - Tham kho ....................................................................................................................................................14
C - Bi tp...........................................................................................................................................................14
3- Dng vng lp gii quyt bi ton : Va g va ch,b li cho trn, 36 con, 100 chn chn?..........................15

Chng 5 : S dng hm trong PHP.......................................................................................................................15


A.Tm tt l thuyt.............................................................................................................................................15
B.Tham kho.......................................................................................................................................................21
C.Bi tp.............................................................................................................................................................21
Chng 6 : Lm vic vi mng trong PHP
................................................................................................................................................................................21
A.Tm tt l thuyt.............................................................................................................................................21
B.Tham kho.......................................................................................................................................................24
C.Bi tp.............................................................................................................................................................25

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

Chng 7 : Thao tc vi CSDL.................................................................................................................................25


A.Bi tp
............................................................................................................................................................................25
Chng 8 . Cookie v Session trong PHP................................................................................................................27
A. Bi tp............................................................................................................................................................27
Chng 9 : Email v OOP........................................................................................................................................29
A.Bi tp.............................................................................................................................................................29

Chng 1 Gii thiu PHP


A.Tm tt l thuyt
1. nh ngha
PHP (vit tt hi quy "PHP: Hypertext Preprocessor") l mt ngn ng lp trnh kch bn hay mt loi
m lnh ch yu c dng pht trin cc ng dng vit cho my ch, m ngun m, dng cho
mc ch tng qut. N rt thch hp vi web v c th d dng nhng vo trang HTML. Do c ti
u ha cho cc ng dng web, tc nhanh, nh gn, c php ging C v Java, d hc v thi gian
xy dng sn phm tng i ngn hn so vi cc ngn ng khc nn PHP nhanh chng tr thnh
mt ngn ng lp trnh web ph bin nht th gii.
2.Cch s dng
M php c lng vo m HTML
1. <html>
2.

<head>

3.

<title>M mu</title>

4.

</head>

5.

<body>

6.

<?php

7.

echo "Cho th gii PHP!";

8.

?>

9.

</body>

10. </html>

Th <?php v th ?> s nh u s bt u v s kt thc ca phn m PHP qua my ch bit


x l v dch m cho ng. y l mt im kh tin li ca PHP gip cho vic vit m PHP tr nn
kh trc quan v d dng trong vic xy dng phn giao din ng dng HTTP.
Trung tm o to Lp trnh vin Quc t AiTi-Aptech
35/115 Ph nh Cng Hong Mai

Page 5 of 32

Ngn ng, cc th vin, ti liu gc ca PHP c xy dng bi cng ng v c s ng gp khng


nh ca cng ty Zend .

B. Bi tp
1.Ci t PHP v Apache web server bn mi nht ln my tnh c nhn

2. lu file sau vo th mc web ca apache vi tn vd1.php v chy th bng trnh duyt:


<html><head><title>Testing page</title></head>
<body><?php echo "Hello, world!"; ?></body>
</html>

C.Tham kho
1.Phpvietnam group http://groups.google.com/group/phpvietnam
2.Din n phpviet http://www.phpvn.org
3.Chun vit m php http://pcdinh.googlepages.com/phpvietnamcodingstandards

Chng 2 X l Form trong PHP


A.Tm tt l thuyt
D liu ca ngi dng t trnh duyt s c gi ln my ch di dng tng cp bin=gi_tr v
c th i theo 3 con ng khc nhau. Tu theo tng con ng c th, trn my ch ta cng c
cc cch khc nhau ly d liu c gi ln.. 3 con ng l: GET, POST v COOKIES.
1. Truyn d liu thng qua phng thc GET
D liu gi t trnh duyt ln qua phng thc GET l phn d liu c nhp trc tip theo sau
a ch URL do trnh duyt gi ln, c phn bit vi tn file script bng du hi chm (?). V d,
khi ta g vo trnh duyt a ch URL sau:
http://www.phpvn.org/topic.php?TOPIC_ID=161
Khi , trnh duyt s gi theo a ch trn mt cp bin = gi tr, trong bin c tn l TOPIC_ID

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

v gi tr l 161 (TOPIC_ID=161).
Chng ta cng c th a ln nhiu cp bit=gi_tr bng cch phn cch chng bi du &:
http://www.phpvn.org/index.php?method=Reply&TOPIC_ID=161&FORUM_ID=20
Vi a ch URL trn, chng ta s gi ln 3 cp bin=gi_tr theo phng thc GET, l:
method=Reply, TOPIC_ID=161 v FORUM_ID=20.
Khi trnh duyt gi cc thng tin ny ln my ch, PHP s t ng sinh ra mt mng c tn l
$HTTP_GET_VARS[] nm gi tt c cc cp bin v gi tr , trong , ch s ca mng chnh
l mt chui mang tn ca tn bin v gi tr ca ch s chnh l gi tr ca bin do trnh duyt
gi ln. V d, vi a ch URL sau:
http://www.phpvn.org/post.php?method=Reply&TOPIC_ID=161&FORUM_ID=20
Th PHP s t ng sinh ra mt mng $HTTP_GET_VARS c ni dung sau:
$HTTP_GET_VARS["method"] = "Reply" // tng ng vi cp method=Reply
$HTTP_GET_VARS["TOPIC_ID"] = 161 // tng ng vi cp TOPIC_ID=161
$HTTP_GET_VARS["FORUM_ID"] = 20 // tng ng vi cp FORUM_ID=20
Sau , trong trang web ca mnh, cc bn c th tha h s dng cc bin ny. V d, ti lm mt
on chng trnh sau khi ngi dng nhp vo bin user=sinh th cho hin th "Hello, my
Boss", cn nu bin user khc sinh th "Hello " + gi tr ca bin:
<?
// Hm isset c s dng kim tra xem mt bin c thit lp hay cha
if (isset ($HTTP_GET_VARS["user"]))
{
if ($HTTP_GET_VARS["user"]=="sinh")
{
echo "Hello, my boss. Good morning!";
}
else
{
echo "Hello, " . $HTTP_GET_VARS["user"] . ". Good morning!";
}
}
else
{
echo "Hello, guest. How do you do?";
}
?>
OK, by gi hy save li. Gi s ti lu vi tn l welcome.php trong th mc www. M trnh duyt
ln, g vo Address dng ch sau:
http://localhost/welcome.php?user=sinh

Trung tm o to Lp trnh vin Quc t AiTi-Aptech


35/115 Ph nh Cng Hong Mai

Page 7 of 32

Hy xem kt qu hin th trn mn hnh, sau thay ch sinh bng mt ci tn g xem kt qu


ra sao.
II. Phng thc POST
Post l phn d liu c gi qua cc form HTML c method ="POST" (xin xem li bi v HTML).
ly cc bin theo kiu POST, PHP s t ng sinh ra mng c tn l $HTTP_POST_VARS[]. Mng
ny c ch s chnh l tn ca cc phn t trong form (cc th input, select... c thuc tnh name)
v gi tr l ni dung gi tr do ngi s dng nhp vo cc phn t c tn tng ng. Chng hn
vi mu biu HTML sau:
<form method="POST">
<p>
User Name:<input type="text" name="T1" size="20"> </p>
<p>
Password:
<input type="password" name="T2" size="20"></p>
<p>Sex: <Select name ="sex">
<option value =1>Male </option>
<option value =0>Female </option>
</select>
</p>
<input type="submit" value="Gui di" name="B1">
</form>
Khi ngi dng nhp user name (gi s l Sinh), password (gi s l 123456) v chn sex l Male,
khi , mng $HTTP_POST_VARS s c cc phn t sau:
$HTTP_POST_VARS["T1"] = Sinh
$HTTP_POST_VARS["T2"] = 123456
$HTTP_POST_VARS["sex"] = 1
Sau khi ly c cc gi tr ny ri, cc bn c th thoi mi s dng.
y l v d mt chng trnh gii phng trnh bc nht (cho n n gin )
<form method="POST">
<p style="margin-top: 0; margin-bottom: 0">
Nhp a:<input type="text" name="a" size="20"></p>
<p style="margin-top: 0; margin-bottom: 0">Nhp b:<input type="text" name="b" size="20"></
p>
<p style="margin-top: 0; margin-bottom: 0">
<input type="submit" value="Tnh" name="B1"></p>
</form>
<?php
$a=0;
$b=0;

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

if (isset ($HTTP_POST_VARS["a"]))
{
$a =$HTTP_POST_VARS["a"];
}
if (isset ($HTTP_POST_VARS["b"]))
{
$b =$HTTP_POST_VARS["b"];
}
if ($a<>0)
{
echo "<BR>Nghiem la: " . $b/$a;Ch ny l -$b/$a
}
else
{
if ($b==0)
{
echo "<BR>Vo so nghiem";
}
else
{
echo "<BR>Vo nghiem";
}
}
?>

B. Bi tp
1.Vit chng trnh cng 2 s c nhp t form
2.Vit trang login.php yu cu ngi dng nhp username v password
Xc nhn username l admin v password l 123456 th in ra dng Hello Admin
Nu sai th yu cu ng nhp li .

C.Tham kho
1. http://www.w3schools.com/php/php_forms.asp

Chng 3 S dng bin v biu thc trong PHP


A.Tm tt l thuyt
KIU D LIU
PHP h tr 8 kiu d liu chnh:

4 kiu d liu v hng: boolean, integer, float (double), string.

Trung tm o to Lp trnh vin Quc t AiTi-Aptech


35/115 Ph nh Cng Hong Mai

Page 9 of 32

2 kiu d liu t hp: array, object.

2 kiu d liu t bic: resource, NULL.

Kiu Boolean
Kiu boolean mang 1 trong 2 gi tr TRUE (ng) hoc FALSE (sai). V d:
<?php
$a = TRUE;
$b = FALSE;
//php ton == kim tra xem 2 biu thc c gi tr bng nhau hay khng
$c = (1==2); //v 1 khc 2 nn $c mang gi tr FALSE
$d = ("abc" == "def"); //$d mang gi tr TRUE
?>

"p" kiu sang boolean: mt s gi tr c chuyn i thnh FALSE trong cc biu thc boolean nu
nh gi tr l:

s nguyn 0,

s thc 0.0,

chui rng "", hoc chui "0",

mng rng (khng cha phn t no) Array(),

i tng khng cha phn t no (ch ng vi PHP4),

gi tr NULL

Cc gi tr cn li s c chuyn i thnh TRUE.


Kiu Integer
Kiu integer mang cc gi tr s nguyn ..., -2, -1, 0, 1, 2, ...Trn hu ht cc h thng, kiu s nguyn c
kch thc 32 bit, mang gi tr t -2147483647 cho n 2147483648. V d:
<?php
$a = 1234;
$b = -123;
$c = 0123; //gi tr 123 h c s 8, tng ng vi 83 h c s 10
$d = 0x1F; //gi tr 1F h c s 16, tng ng vi 31 h c s 10
?>

Kiu Float (Double)


Kiu float (hoc double) l kiu s thc, c th mang bt c gi tr s thc no. Trn hu ht cc h
thng, kiu s thc c kch thc 64 bit. V d:
<?php
$a = 1.234;
$b = 1.2e3; //= 1.2*10^3 = 1200
$c = 7E-10; //= 7*(10^-10) = 0.0000000007
$d = -1.23;
?>

Kiu String
Kiu string lu gi 1 chui k t, mi k t c kch thc 1 byte. Ni dung string c t gia 2 du
nhy, nhy n (') hoc nhy kp ("). V d
<?php
$a = 'y l 1 chui c t gia du nhy n';

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

$b = "y l 1 chui c t gia du nhy kp";


$c = 'y l 1 chui c t gia du nhy n vi "vi du nhy kp gia"';
$d = "y l 1 chui c t gia du nhy kp vi 'vi du nhy n gia'";
?>

Nu bn mun s dng du nhy n trong 1 chui c bc bi du nhy n, hoc s dng du


nhy kp t gia chui c bc bi du nhy kp th bn thm k t \ (gi l k t escape) pha
trc. V d:
<?php
$a = 'Du \'nhy n\' gia chui'; //$a mang gi tr: Du 'nhy n' gia
chui
$b = "Du \"nhy kp\" gia chui"; //$b mang gi tr: Du "nhy kp" gia
chui
$c = "Dng k t \\ gia cu \\ th sao?"; //$c mang gi tr: Dng k t \
gia cu \ th sao?
?>

Khi s dng du nhy i bc chui, ngoi \', \" v \\, PHP c th nhn dng thm mt s chui k t
escape t bic na:

\n: k t xung hng LF (k t c m 10 trong bng m ASCII)

\r: k t v u dng CR (k t c m 13 trong bng m ASCII)

\t: k t tab (k t c m 9 trong bng m ASCII)

\$: k t $

\ooo: (vi o l 1 ch s t 0 n 7) biu th 1 k t c m ASCII ooo trong h c s 8.


V d \101 s l k t 'A' (101 trong h c s 8 tng ng 65 trong h c s 10, k t ASCII
c m 65 chnh l k t 'A').

\xhh: (vi h l 1 ch s t 0 n 9 hoc 1 ch ci t A ti F) biu th 1 k t c m ASCII hh


trong h c s 16.
V d \0x41 s l k t 'A' (41 trong h c s 16 chnh l 65 trong h c s 10).

Ngoi ra, nu bn 1 bin vo gia 1 chui c bc vi du nhy kp, gi tr ca bin s c thay


th vo trong chui. v d:
<?php
$a = 1;
$b = 2;
$c = 3;
$d = "$a $b $c"; //$d s mang gi tr l chui "1 2 3"
?>

Kiu Array
Array l mt mng gm nhiu phn t. Array c to qua lnh Array. V d:
<?php
$a = Array(1,2,3);
Lc ny $a s l 1 mng gm 3 phn t s nguyn l 1, 2 v 3
Cc phn t
truy cp
echo $a[0];
echo $a[2];

trong mng $a c to trn s c nh s th t t 0, 1 cho n 2


ti tng phn t ca $a
//in ra gi tr 1
//in ra gi tr 3

$a[1] = 5; //gi y $a = Array(1,5,3)


?>
Trung tm o to Lp trnh vin Quc t AiTi-Aptech
35/115 Ph nh Cng Hong Mai

Page 11 of 32

Mng cn c th c to thnh bi cc cp (kho, gi tr). V d:


<?php
$a = Array(
"kho
"kho
"kho
);
echo $a["kho

1" => "gi tr 1",


2" => "gi tr 2",
3" => "gi tr 3"
1"]; //in ra: gi tr 1

$b = Array(
"a" => "Nguyn",
"b" => "B",
"c" => "Thnh"
);
echo $b["a"]; //in ra: Nguyn
$b["a"] =
$b["b"] =
$b["c"] =
//gi y
?>

"Nguyen";
"Ba";
"Thanh";
$b = Array("a" => "Nguyen", "b" => "Ba", "c" => "Thanh")

Kiu Object
Kiu object (i tng) lu gi 1 bn th (instance) ca 1 lp (class). Ta s tm kiu k thm v kiu
object trong phn Lp trnh hng i tng vi PHP.
Kiu Resource
Kiu resource (ti nguyn) c s dng bi cc hm t bic ca PHP (v d hm mysql_connect s tr
v kiu resource). Ta s tm hiu k hn v kiu resource trong cc bi vit khc.
Kiu NULL
y l 1 gi tr t bic, bo cho PHP bit rng 1 bin no cha/khng mang gi tr no c. V d:
<?php
$a = 1; //$a mang gi tr 1
$a = NULL; //by gi $a khng mang gi tr no c
$a = 2; //gi y $a mang gi tr 2
//hm unset s lm cho 1 bin c gi tr l NULL
unset($a); //gio $a li l NULL
?>

BIN
C l hi mun khi ti tn by gi ta mi tm hiu ti bin trong PHP. Mt bin trong PHP c bt u
bng k t $ v i theo ngay sau l tn ca bin. V d:
$a: bin c tn l a
$abc123: bin c tn l abc123
Tuy nhin vn cn nhiu iu th v v bin ang ch ta khm ph.

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

Bin trong PHP phn bit ch hoa v ch thng. Tc $Abc v $abc l 2 bin hon ton khc
nhau.

Tn bin ch c bao gm cc k t ch ci (a..z hoc A...Z), ch s (0...9) v k t gch di


(_); nhng tn bin khng c bt u bng k t gch di hoc ch s. Cc tn bin sau l
khng hp l!
$_abc Khng hp l! bt u bng k t gch di
$1abc Khng hp l! bt u bng ch s
$nguyn Khng hp l! tn bin c k t t bic ()

Tm vc (scope) ca bin
Tm vc ca bin l ng cnh m trong bin c nh ngha. V d:
<?php
$a = 1; //tm vc ca bin $a bt u t y
include 'b.php'; tri di ti bn trong file b.php
//ti cui file vn cn hp l
?>

Tuy nhin khi gp 1 hm do ngi dng nh ngha, bn trong hm, bin cc b s c dng thay v
bin ton cc. V d:
<?php
$a = 1; //bin ton cc
//hm do t to
function test() {
echo $a;
} //end test
?>

v d trn, cu lnh echo $a s khng in ra gi tr no ht v cu lnh ny nm bn trong hm test nn


$a y c hiu l bin cc b $a ca hm (m hm ny ta cha khai bo bin cc b no c).
truy cp ti cc bin ton cc bn trong 1 hm do ngi dng nh ngha, ta c th dng 1 trong 2
cch sau: Cch 1:
<?php
$a = 1; //bin ton cc
//hm do t to
function test() {
//t kho global bo cho php bit l bn trong hm test
//by gi ta s dng bin ton cc $a
global $a;
echo $a; //in ra gi tr: 1
} //end test
?>

Cch 2:

<?php
$a = 1; //bin ton cc
//hm do t to
function test() {
echo $GLOBALS['a']; //in ra gi tr: 1
Trung tm o to Lp trnh vin Quc t AiTi-Aptech
35/115 Ph nh Cng Hong Mai

Page 13 of 32

} //end test
?>

BIU THC
Biu thc l nn tng quan trng ca PHP. Hu nh mi th bn ghi trong file php u l biu thc. Ni mt
cch n gin, bt c ci g mang 1 gi tr no u c th l 1 biu thc. Ta xt cu lnh n gin sau:
$a = 5;
y 5 l mt biu thc, kt ca ca biu thc ny l gi tr 5, v kt qu ny c gn cho bin $a. $b = $a;
y $a li l 1 biu thc, gi tr ca $a c gn cho bin $b.
Biu thc trong PHP c th phc tp hn th, v d:
$a = 1;
$b = 2;
$c = 3;
$d = $a + $b + $c;

B. Bi tp
1.Vit chng trnh tnh giai tha ca mt s nhp vo t form

C.Tham kho
1.http://www.w3schools.com/php/php_variables.asp

Chng 4 : Cu lnh iu khin v vng lp trong PHP


A : Tm tt l thuyt

1-

Vng lp While.
Vng lp While l vng lp n gin. vng lp ny ch thc thi cc khi lnh bn
trong n khi biu thc iu kin tr v gi tr True.

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

While( biu thc iu kin)


{
Khi lnh c thc thi nu biu thc iu kin tr v gi tr True
}
Khi lnh c thc thi nu biu thc iu kin tr v gi tr False

Vng lp Do-While
Vng lp ny khng khc vng lp While l my. Vng lp ny thng c s dng
nu bn mun khi lnh trong vng lp c thc hin t nht l 1 ln
2-

Do
{
Khi lnh c thc thi nu biu thc iu kin tr v gi tr True
}
While( biu thc iu kin)
Khi lnh c thc thi nu biu thc iu kin tr v gi tr False

Vng lp For
Khc vi 2 vng lp trn. vng lp For dng ch nh khi lnh trong vng lp
c thc hin bao nhiu ln.
3-

for( gi tr ban u ; Biu thc iu kin ; Tng gi tr ban u)


{
Khi lnh c thc thi nu biu thc iu kin tr v gi tr True
}

Trung tm o to Lp trnh vin Quc t AiTi-Aptech


35/115 Ph nh Cng Hong Mai

Page 15 of 32

Cu lnh Break
i lc bn mun kt thc s thc thi ca mt vng lp ang din ra. i vi mc
ch ny PHP cung cp cu lnh break.
4-

Break n;

Cu lnh trn s ngt t n. n l s vng lp trong cng nht. nh vy break 1 s tng


ng vi break.

5-

Cu lnh Continue

Cu lnh ny thng c s dng trong trng hp trong s cc vng lp. Bn mun


dng thc thi khi lnh trong 1 vng lp no ri chuyn sang vng lp k tip.

6-

Cu lnh Exit

Cu lnh ny gip bn thot ra khi vng lp v chuyn sang khi lnh k tip

B - Tham kho

C - Bi tp

1- Nhp 1 s bt k t bn phm v dng vng lp a ra mt bng c s dng v


s th t bng s nhp vo. Bng trnh by ging bng sau.

Sch bi tp PHP

STT

AiTi-Aptech Kin to tng lai

Tn sn phm

S lng

Ti liu lu hnh ni b

n gi

Thnh tin

1
2
3
Tng

2- Dng vng lp v mt bng bt k vi s dng v s ct nhp t bn phm.


3- Dng vng lp gii quyt bi ton : Va g va ch,b li cho trn, 36 con, 100
chn chn?
4- Vit chng trnh tnh tng ca dy sau :
1 + 2 + 3 + + n (n nhp t bn phm)

Chng 5 : S dng hm trong PHP


A. Tm tt l thuyt
1-

Gii thiu v Hm
Khi bn c mt on script hay mt chc nng m bn c th s dng nhiu ln
trong mt chng trnh. Nhng bn khng mun vit i vit li nhiu ln th bn
hy ngh n hm(Function). Hm trong PHP c 2 loi chnh.

Trung tm o to Lp trnh vin Quc t AiTi-Aptech


35/115 Ph nh Cng Hong Mai

Page 17 of 32

+ Loi th 1: L nhng Hm c xy dng sn trong PHP.


+ Loi th 2 : L nhng hm m lp trnh vin t xy dng. Mc ch chnh
l p dng cc hm cho cng vic ca mnh. Lp trnh vin gii, nhiu kinh
nghim, lm vic lu nm l ngi t trang b cho mnh rt nhiu nhng hm t
xy dng. Nhng hm ny c c kt t cc kinh nghim lm vic ca lp trnh
vin trong cc Project
2-

Hm trong PHP
Hm c xy dng sn trong PHP. Cc hm ny c my loi chnh nh sau:
+ Mathematical Function
+ String Function
+ Date and Time Function
+ Error Handling Function
+ Database Function
+ Array Function
+ Mail Function

Bn c th tham kho thng tin v cc Hm loi ny trn trang web php.net

3-

Hm to bi ngi dng
a- C php nh ngha hm

Function ten_ham()
{
Khi lnh ca hm

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

VD
<?php
Function tinh_tong()
{
$a=100;$b=200;
$c=$a+$b;
Echo Tong cua 100 v 200 l : $c;
}
tinh_tong();
?>

b- nh ngha hm vi i s

Function ten_ham(doi_so1, doi_so2, )


{
Khi lnh ca hm
}

i s ca hm c chia ra lm 3 loi
-

i s mc nh

Trung tm o to Lp trnh vin Quc t AiTi-Aptech


35/115 Ph nh Cng Hong Mai

Page 19 of 32

i s loi ny cho php bn ch nh mt gi tr mc nh cho i s ca


hm. Cc gi tr mc nh ca bn phi l mt gi tr khng i.
VD :
Function mac_dinh(&$num, $increment = 1)
{
$num += $increment
}

$num =4;
mac_dinh($num);
mac_dinh($num,3);

i s theo gi tr
i s loi ny c th l bt k biu thc hp l no. Gi tr ca n s c
gn cho bin trong hm.

i s tham chiu
Vic chuyn theo tham chiu bt buc i s phi l mt bin. Thay v gi tr
ca mt bin c chuyn i th bin tng ng trong hm s trc tip tham
chiu n bin c chuyn bt c khi no c s dng
VD
Function tinh(&$n)
{
$n=$n*$n;
}

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

$number = 4;
tinh($number);
print $number;

Du & ng trc $n trong cc i s hm cho PHP bit rng cn chuyn n


theo tham chiu v kt qu ca cuc gi hm ny la $number bnh phng.

c- Gi tr tr li ca hm
Trong ny ta s dng cu lnh return cho ra gi tr t hm hay ni cch khc
mt bn sao ca gi tr c to v c tr v ni gi hm.
VD
<?php
Function tinh_luong($luongcoban)
{
$luong = 0.25*$luongcoban;
Return $luong;
}
$luongcoban = 500;
$B = tinh_luong();
Echo $B;
d- quy
quy l mt phng thc gi hm P ngay bn trong hm P m bn to ra. Mc
tiu ca quy l a bi ton v mt bi ton cng dng nhng phc tp gim dn
Trung tm o to Lp trnh vin Quc t AiTi-Aptech
35/115 Ph nh Cng Hong Mai

Page 21 of 32

cho n khi t n nhng bi ton c bn, d gii quyt. Mt phng thc quy c
chia lm 2 phn

+ Phn neo : Phn ny c thc hin khi cng vic qu n gin , c th tr li


kt qu trc tip ch khng cn 1 phng thc con no c.

+ Phn quy : Trong trng hp phng thc cha th gii bng phn neo, cn
xc nh phng thc con v gi quy gii cc phng thc con , khi c
kt qu tr v ca nhng phng thc con th phi hp kt qu ca chng li tr li kt
qu ca phng thc ban u

Cc c im ca phng thc quy :


+ S ln gi cc phng thc l chiu su ca quy
+ Phng thc quy c th dn ti trn vng nh stack
+ Mi phng thc quy phi c iu kin kt thc quy
VD
Tnh giai tha
<?php
$A=4;
function giai_thua($A)
{
If($A <= 1)
{
Return 1;

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

}
Else
{
Return $A*giai_thua($A-1);
}
}
Echo Giai thua ca 4 l : ;
$B=giai_thua($A);
Echo $B;
?>
B. Tham kho

C. Bi tp

1, S dng hm quy vit chng trnh tnh dy Fibonacci v tr th n. Vi s n


nhp t bn phm. n ch nhn gi tr t 1 cho n 15
2, Vit chng trnh nhp vo mt chui k t bt k. Ri cho bit tng s k t trong
chui l chn hay l.
3, S dng hm vit chng trnh tnh tng ca nhng dy sau :
a, 1 + 2 + 3 + + n (n nhp t bn phm)
b, 11 + 22 + 33 + + nn (n nhp t bn phm, ch nhn gi tr t 1 - 6)
c, 1! + 2! + 3! + + n! (n nhp t bn phm, ch nhn gi tr t 1 - 9)

Trung tm o to Lp trnh vin Quc t AiTi-Aptech


35/115 Ph nh Cng Hong Mai

Page 23 of 32

Chng 6 : Lm vic vi mng trong PHP


A. Tm tt l thuyt
1-

nh ngha mng
Mng l kiu d liu cha mt tp cc bin c t tn v c cng kiu.
Mi bin trong mng gi l mt thnh phn ca mng. tham chiu n
mt thnh phn ca mng phi s dng ch mc ca thnh phn .

2-

C php to mng s dng hm array()


$array_name = array([key => ] value, [key => ] value)
key : kha ca mng. kha c th l s hoc l chui
value : l gi tr ca kha tng ng.
V d v khi to mng.
array(1,2,3) ging nh array(0 => 1, 1 => 2 , 2 => 3)
array(1=>ONE, TWO, THREE) tng ng vi
array(1=>ONE, 2=> TWO, 3=> THREE)

Vi nhng mng c kha l chui th cn phi kha trong du ngoc


kp.VD :
$department = array(
a => Finance,
b => Sales,
c => HR,
d => Purchase)
echo $department[c] displays:

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

HR

3-

Truy cp cc thnh phn ca mng


truy cp vo cc thnh phn ca mng ta s dng c php sau :
$array_name[key] = element_value;
VD :
$department = array(
1 => Finance,
2 => Sales,
3 => HR,
4 => Purchase)

echo $department[1]
V d trn s hin th kt qu l Finance

4-

Ghp mng
c th ghp c mng ta s dng hm array_merge()
$merged_array_name = array_merge($first_array, $second_array);
VD :
$ITdept = array(
0 => Testing,
1 => Training);

$SalesPurcahsedept = array(
Trung tm o to Lp trnh vin Quc t AiTi-Aptech
35/115 Ph nh Cng Hong Mai

Page 25 of 32

0 => Advertising,
1 => Marketing);

$AdminDept = array_merge($ITdept, $SalesPurchasedept)

5-

Mng a chiu
Khi ta khai bo gi tr ca 1 thnh phn ca 1 mng l mt mng khc s cho
ta kt qu l mt mng a chiu. C php nh sau :
$array_name = array(
array(key => value), array(key => value))

VD : array ( array(name => John, age => 28),


array(name => Barbara, age => 67))
6-

Cc hm c lin quan n mng


a, Hm sort()
Hm ny c chc nng sp xp li cc gi tr ca cc thnh phn ca
mng
C php : sort(tn mng)
VD : sort($giatri)
b, Hm rsort()
Hm ny cng tng t nh hm sort() trn nhng l sp xp theo
chiu ngc li
C php : rsort(tn mng)
VD : rsort($giatri)
c, Hm arsort()

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

Hm ny cng sp xp ging nh hm rsort() nhng im khc nhau


l hm ny sp xp theo c ch mc v gi tr ca mng

B. Tham kho
C. Bi tp

1- Vit chng trnh s dng hm rand() (a ra s interger ngu nhin) nhp d


liu cho mng c di n. Vi n nhp t bn phm ri s dng mng lm cc
cu sau:
a- m xem c bao nhiu thnh phn trong mng c gi tr l s chn.
b- m xem c bao nhiu thnh phn trong mng c gi tr l s nh hn 100
2- Vi mt mng c nhp sn d liu.Vit chng trnh lm cc cu sau:
a- In ra v tr ca cc thnh phn trong mng gi tr l s m
b- In ra v tr ca cc thnh phn trong mng gi tr c s bng 0
3- Vit chng trnh s dng hm rand() (a ra s interger ngu nhin) nhp d
liu cho mng c di n. Vi n nhp t bn phm ri in cc s ra mn hnh. Tip
theo sp xp cc s theo th t tng dn ri li in ra mn hnh
4- Cho mt mng l 1 biu thc ton hc dng trung t y du ngoc cho sn.
VD : ((8 + ((6 2) / 3)) * (5 * (7 + 2)))
Vit chng trnh tnh biu thc y
Chng 7 : Thao tc vi CSDL
A. Bi tp
Trc nghim: Hy chn cc phng n ng:
1. kt ni ti CSDL MySQL, ta s dng hm:
a. Mysql_fetch_array()
Trung tm o to Lp trnh vin Quc t AiTi-Aptech
35/115 Ph nh Cng Hong Mai

Page 27 of 32

b. Sql_fetch_array()
c. Mysql_connect()
d. Sql_connect().
2. Hm mysql_select_db() c dng :
a. La chn my ch chy CSDL MySQL
b. La chn mt c s d liu do MySQL qun l
c. La chn mt bng do MySQL qun l
d. La chn mt dng d liu trong bng do MySQL qun l
3. Cu lnh SQL Insert into c dng :
a. Thm mt record vo bng
b. Xo mt record
c. Chnh sa thng tin ca record
d. C ba phng n trn u sai
4. Hm mysql_query() c dng :
a. Truy vn d liu t MySQL
b. La chn CSDL MySQL
c. Kt ni ti CSDL MySQL
d. Ngt kt ni ti CSDL MySQL.
5. Hm no trong s cc hm di y c dng ly ra mt bn ghi t tp kt qu tr v:
a. Mysql_select_data()
b. Mysql_fetch_array()
c. Mysql_get_record()
d. Mysql_fetch_record()
Bi tp thc hnh:
Trn cc Website, vic phn quyn s dng cho mt ngi/nhm ngi c ngha quan trng. VD: ngi qun tr
c quyn xem, xo, sa tt c thng tin trn Website, thnh vin c quyn tham gia bnh lun ...

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

Cc thng tin v ngi s dng Website c lu vo mt bng nh sau:


STT

Tn trng

M t

ID_MEMBER (int, auto increment)

Xc nh nh danh ca thnh vin

User_name (varchar 20)

Xc nh tn truy cp ca thnh vin

Password (varchar 60)

Xc nh mt khu ca thnh vin

Full_name (varchar 50)

Xc nh h tn y ca thnh vin

Email (varchar 200)

a ch email ca thnh vin

Groups (int)

Xc nh nhm quyn truy cp. VD: vi cc member


c nhm quyn =1 th ngi c ton quyn vi
Website (Administrator).

Yu cu: S dng PHP vit chng trnh:


-

Thm mi mt thnh vin vo bng.

Xo b mt thnh vin

Chnh sa thng tin ca mt thnh vin.

Hin th danh sch cc thnh vin theo th t ABC ca trng User_name.

Chng 8 . Cookie v Session trong PHP


A. Bi tp
Bi tp trc nghim: La chn cc phng n ng:
1. Hm setcookie() c th c dng
a. Trc khi gi bt k d liu g xung trnh duyt
b. Sau khi gi ht d liu xung trnh duyt
c. bt k v tr no.
2. Cookie c lu :
a. Trnh duyt
Trung tm o to Lp trnh vin Quc t AiTi-Aptech
35/115 Ph nh Cng Hong Mai

Page 29 of 32

b. My ch
c. C hai phng n trn u ng
d. C hai phng n trn u sai
3. Bin mng no sau y c dng ly d liu lu trong cookie:
a. $_COOKIE[]
b. $_COOKIES[]
c. $_GET[]
d. $_POST[]
4. Cc cu no sau y l ng:
a. Cookie v session u c lu trn my ch
b. Cookie v session u c lu trn my khch
c. Cookie c lu trn my ch, cn session c lu trn my khch
d. Cookie c lu trn my khch, cn session c lu trn my ch
Bi tp thc hnh: Login Form.
Trong cc ng dng thc tin, xc nh xem mt thnh vin no ng nhp vo h thng hay cha, ngi
ta s dng mt form HTML ngi s dng nhp tn truy cp v mt khu. Sau khi ngi s dng bm nt
submit, mt chng trnh s tm kim trong c s d liu xem tn truy cp v mt khu c tn ti hay khng? Nu
nh tn truy cp v mt khu m ngi dng nhp vo ging nh trong CSDL, h thng s thit lp mt session
xc nh rng NSD ang s dng h thng.
Hy xy dng mt chng trnh nh sau:
-

Hin th form nhp tn truy cp v mt khu.

Nu NSD nhp thng tin vo form, kim tra xem tn truy cp v mt khu c ng hay khng.

Nu ng:

Thit lp session xc nh phin lm vic ca ngi s dng

Hin th thng bo rng NSD ng nhp thnh cng km lin kt logout.

Nu ngi dng kch chn logout, xo phin lm vic v hin th thng bo chia tay.

Nu sai, thit lp cookie m s ln ngi dng ng nhp, ng thi hin th li form ng


nhp.

Sch bi tp PHP

AiTi-Aptech Kin to tng lai

Ti liu lu hnh ni b

Nu ngi dng nhp sai tn truy cp v mt khu qu ba ln th thng bo rng ngi khng
c php th ng nhp na.

Chng 9 : Email v OOP


A. Bi tp
Bi tp trc nghim: La chn phng n ng
1. Cu lnh no sau y s gi email thnh cng:
a. mail (admin@aptech.com,Hello,Welcome to AITI);
b. mail (Hello, admin@aptech.com,Welcome to AITI);
c. mail (Hello,Welcome to AITI, admin@aptech.com);
2. Tham s tu chn th 4 trong hm mail() c dng :
a. Gi thm cc thng tin trong phn header ca email
b. Gi nh km file theo email
c. nh dng email theo dng HTML
d. Tt c cc phng n trn u ng
3. Mt lp cc i tng c khai bo bi t kho:
a. new
b. class
c. create new
d. create class
4. $this-> mang ngha:
a. Tham chiu ti mt phng thc/ thuc tnh trong lp hin hnh
b. Tham chiu ti mt phng thc/ thuc tnh trong lp cha
c. Tham chiu ti mt phng thc/ thuc tnh trong lp con
5. khi gn mt i tng a thuc lp b, ta s dng cu lnh:
a. $a = new $b;
Trung tm o to Lp trnh vin Quc t AiTi-Aptech
35/115 Ph nh Cng Hong Mai

Page 31 of 32

b. $a = new b;
c. a = new $b;
d. a = new b;

Bi tp thc hnh:
-

Xy dng class user_info vi cc thuc tnh tng ng vi cc trng trong bng nh m t


chng Thao tc vi CSDL v cc phng thc sau y:
o

Function ShowLoginForm(): Hin th form ng nhp HTML.

Function CheckLogin(): Kim tra xem tn truy cp v mt khu c ng nh lu trong


CSDL hay khng. Nu ng nhp ng th lu cc thng tin ca ngi dng vo cc thuc
tnh trong lp.

Xy dng class member k tha t class user_info, b sung phng thc ShowData hin th
danh sch cc thnh vin lu trong CSDL.

Xy dng class admin k tha t class member, vit li phng thc ShowData trong class
admin, kim tra xem nu nh ngi ng nhp thuc nhm 1 th hin th cc lin kt xo, sa
tng thnh vin trn danh sch.

You might also like