Professional Documents
Culture Documents
PHP Practice Books - AitiAptech
PHP Practice Books - AitiAptech
Ti liu lu hnh ni b
Bi tp PHP
Page 1 of 32
Sch bi tp PHP
Ti liu lu hnh ni b
Li gii thiu
i thit k Sch bi tp
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
Sch bi tp PHP
Ti liu lu hnh ni b
<head>
3.
<title>M mu</title>
4.
</head>
5.
<body>
6.
<?php
7.
8.
?>
9.
</body>
10. </html>
Page 5 of 32
B. Bi tp
1.Ci t PHP v Apache web server bn mi nht ln my tnh c nhn
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
Sch bi tp PHP
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
Page 7 of 32
Sch bi tp PHP
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
Page 9 of 32
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,
gi tr NULL
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
Ti liu lu hnh ni b
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:
\$: k t $
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];
Page 11 of 32
$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
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.
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
?>
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
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
Ti liu lu hnh ni b
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-
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;
5-
Cu lnh Continue
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
Sch bi tp PHP
STT
Tn sn phm
S lng
Ti liu lu hnh ni b
n gi
Thnh tin
1
2
3
Tng
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.
Page 17 of 32
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
3-
Hm to bi ngi dng
a- C php nh ngha hm
Function ten_ham()
{
Khi lnh ca hm
Sch bi tp PHP
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
i s ca hm c chia ra lm 3 loi
-
i s mc nh
Page 19 of 32
$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
Ti liu lu hnh ni b
$number = 4;
tinh($number);
print $number;
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 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
Sch bi tp PHP
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
Page 23 of 32
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-
Sch bi tp PHP
Ti liu lu hnh ni b
HR
3-
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);
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))
Sch bi tp PHP
Ti liu lu hnh ni b
B. Tham kho
C. Bi tp
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
Ti liu lu hnh ni b
Tn trng
M t
Xc nh h tn y ca thnh vin
Groups (int)
Xo b mt thnh vin
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:
-
Nu NSD nhp thng tin vo form, kim tra xem tn truy cp v mt khu c ng hay khng.
Nu ng:
Nu ngi dng kch chn logout, xo phin lm vic v hin th thng bo chia tay.
Sch bi tp PHP
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.
Page 31 of 32
b. $a = new b;
c. a = new $b;
d. a = new b;
Bi tp thc hnh:
-
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.