You are on page 1of 68

Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy

Trang 1/68 www.qhonline.info


Trung Tm Do To Cng Ngh Mng Vit Chuyn
Ti Liu Luu Hnh Ni B
www.qhonline.info

GIO TRNH
PHP & MYSQL



Bin Son:
GV. Bi Quc Huy


Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 2/68 www.qhonline.info
Loi Ni Du

Quyn gio trnh ny duoc tng hop tu nhung ti liu v kinh nghim thuc tin qua nhiu
nm giang day cua giang vin, v duoc soan thao cho ph hop voi ni dung mn hoc.
Khc voi gio trnh mang tnh thuong mai, cc tu ngu, cch din giai mang xu th thut
ngu, gio trnh duoc xy dung trn hnh thuc d doc, d hiu v gn gui voi thuc t, tuy
nhin diu d khng c nghia hoc vin c th chi tham khao gio trnh m khng di hoc.
Nu cc ban mun hiu cn k kin thuc v nghia cua gio trnh, ban nn tham gia cc
kha hoc PHP dy du tai trung tm do tao mang Vit Chuyn.
Mc d d kim tra d xc thuc, cung nhu tnh dng dn cua gio trnh, nhung khi bin
soan chc chn s c t nhiu li lin quan dn tu ngu, c php. Rt mong nhn duoc
nhiu su dng gp cua cc ban.
Moi kin dng gp cua cc ban vui lng truy cp vo website: www.qhonline.info (l
website c nhn cua tc gia). Hoc www.ddcntt.vn (l website cua trung tm).

Giang vin
Bi Quc Huy
TP.H Ch Minh. Ngy 15 Thng 06 Nm 2006
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 3/68 www.qhonline.info
Phn A: Co Ban V HTML & Javascript
I Cc The HTML co ban
1- Cu trc chun:
<HTML>
<HEAD><TITLE>Tiu D Website</TITLE>
</HEAD>
<BODY>
Ni dung website duoc vit tai dy
</BODY>
</HTML>
+ Mt cu trc HTML lun bao gm the dng v the mo.
V du : <B> the Mo
</B> The Dng - Duoc phn bit bng du / ngay truoc the
+ Cc the HTML hon ton c th vit hoa hoc thuong. Tuy nhin nn theo 1 quy tc
chung (vit hoa th vit hoa ht, nguoc lai).
+ Mt website cng t the th s cng chay nhanh hon.
2- Cc the co ban :
Tiu D: <H>Ni Dung</H> (v du: <H1>Welcome, admin</H1>).
The H bao gm cc thuc tnh tu (H1 H6). Nhung chi Su dung tu H1 H3.
In Dm: <B>Ni Dung</B> (v du: <b>Welcome, admin</b>)
In Nghing: <I>Ni Dung</I> (v du: <i>welcome, Admin</i>)
Gach Duoi : <U>Ni Dung</U> (V du: <u>welcome, Admin</u>)
Xung 1 Dng : <BR> - The ny khng c the dng.
Xung 2 Dng : <P> - C hoc khng the dng cung duoc.
Dinh Dang Chu Bng The <FONT>
+ Kch thuoc chu : <FONT SIZE=Thng S> Ni Dung</FONT>
V du: <font size=2>Hello, How Are You ?</font>
+ Kiu Chu : <FONT FACE=Kiu Chu> Ni Dung</FONT>
V du: <font face=tahoma>Hello, How Are You ?</font>
+ Mu Chu : <FONT COLOR=Mu Chu> Ni Dung</FONT>
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 4/68 www.qhonline.info
V du: <font color=red> Hello, How Are You ?</font>
Tao Lin Kt : <A HREF=Link> Ni Dung</A>
V Du: <a href=abc.html>Hello, Huy</a>
+ Mo 1 cua s moi voi lin kt: TARGET=_BLANK
V du: <a href=abc.html target=_balnk>Hello, Huy</a>
+ Mo lin kt d ngay trn trang hin thi: TARGET=_SEFT
V du: <a href=abc.html target=_seft>Hello, Huy</a>
Dinh dang thuc tnh : ALIGN=LEFT, RIGHT, CENTER, JUSTIFY
+ Su dung kt hop voi the <P>
V du: <p align=center>Ni dung Vn ban s o giua
+ Su dung kt hop voi cc the khc nhu <img>,<table>, <div>,.
Chn hnh anh vo website:
<IMG SRC=URL Hnh BORDER=Thng S HSPACE=Thng S
VSPACE=Thng S ALIGN=Thuc Tnh WIDTH=Thng S
HEIGHT=Thng S>
+ <IMG SRC=URL> c php chnh d xut ra hnh anh.
+ <IMG SRC=URL Hnh BORDER=Thng S> c php duoc su dung khi
hnh anh di km voi lin kt.
V du : <a href=abc.html><img src=def.gif border=1></a>
Tu cu lnh trn s cho ra hnh def.gif. Tuy nhin bao boc hnh anh d s c 1
duong vin.
V du: <a href=abc.html><img src=def.gif border=0></a>
Tu cu lnh trn s cho ra hnh def.gif. Nhung khng c vin xung quanh
+ Hspace : khoang cch tu l phai cua hnh dn l tri vn ban
+ Vspace: khoang cch tu TOP cua hnh dn BOTTOM cua vn ban
+ Align : Dinh dang tri, phai, giua cua hnh (canh l).
+ Width : Chiu rng cua tm hnh.
+ Height : Chiu cao cua tm hnh.
II To bang trong HTML :
D tao 1 bang chng ta nn hnh dung duoc dng v ct. V p dt 1 s quy lut, d vic
thuc thi d hon so voi yu cu dt ra.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 5/68 www.qhonline.info
Mt bang bao gm 2 thuc tnh l dng v ct. Vy ta c quy tc d c 1 bang du liu. Ta
di tu bang truoc, sau d ke dng v chia ct trn dng dLm tun tu cho dn ht yu
cu vic tao bang.
1 Bang bt du v kt thc s c c php : <table> </table>
1 Dng bt du v kt thc s c c php : <tr> </tr>
1 Ct bt du v kt thc s c c php : <td> </td>
V du:
A B C D
1 2 3 4
Nhu bang o trn ta s xy dung nhu sau :
+ Gm 1 bang.
+ Gm 2 dng
+ Gm 4 ct trn 1 dng
Vy ta c c php tao bang co ban nhu sau :
<Table>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>

Cc thuc tnh trn Bang (Table).
o Width : Chiu rng cua bang.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 6/68 www.qhonline.info
o Height: Chiu cao cua bang.
o Align : Cc thuc tnh tri, phai, giua theo chiu ngang cua bang
o Valign : Cc thuc tnh trn, duoi, giua theo chiu doc cua bang.
o Background : Mu nn cua bang bng 1 hnh anh. (chi c tc dung trn ct v
bang).
o Bgcolor : Mu nn bang bng nhung mu theo thng s (chi c tc dung trn ct
v bang). V du: white, blue, green, red,
o Cellpadding : Khoang cch tu chn chu dn canh duoi.
o Cellspacing : Khoang cch cua cc canh.
o Rowspan : Gp theo dng
V du :



o Colspan : Gp theo ct
V du:



* Cc thuc tnh cua table pha trn du c th p dung di voi ct (td). Nhung khng th
p dung di voi dng.
Bi Tp p Dng: Thit k 1 bang bng HTML nhu hnh bn duoi :

Thu 2 Thu 3 Thu 4 Thu 5 Thu 6 Thu 7
Ton A1 Anh Vn PHP&MYSQL Kinh t Chnh Tri
Phng 301 ASP.NET CCNA Vt L A1
Yu cu :
1 Vit trn HTML, khng dng bt ky tool h tro no.
2 Thoi gian trong 15 pht
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 7/68 www.qhonline.info
III To Form nhp liu trong HTML :
Form nhp liu duoc dng d ly du liu tu pha nguoi truy cp, khch hng,.Thng
qua h thng website. C php co ban cua Form cung c the bt du v kt thc :
C php chnh :
<form method="POST" action="link" name=Tn>
Ni dung cua form
</form>
+ Method : L phuong thuc truyn nhn du liu. Gm 2 phuong thuc l POST v GET.
+ Action : L duong dn dn lin kt xu l form.
+ Name : l tn cua Form d.
Co cu cua Form bao gm nhung thuc tnh sau :
1- Dang Text : (Nhu nhp ho tn, dia chi, s Din Thoai,.)
C php :
<input type="Thuc tnh" name="Tn" size="chiu di" value="gi tri">
+ Type : Thuc tnh c hai loai l Text (khi nguoi nhp s thy duoc ni dung
dang nhp v Password (nguoi nhp s khng thy duoc ni dung dang nhp)
+ Name : tn cua hp nhp liu (v du: name, address, phone,..)
+ Size : Chiu di cua hp nhp liu.
+ Value: Gi tri mun hin thi (thuong voi hp nhp liu th t su dung).
2- Dang Vn ban Textarea : (nhu nhp thng tin c nhn, ghi ch,..)
C php :
<textarea name="textarea" cols="45" rows="5" ></textarea>
+ C the bt du v kt thc.
+ Name: Tn cua hp nhp liu.
+ Cols : Duoc xem l chiu rng cua hp nhp liu
+ rows: Duoc xem l chiu cao cua hp nhp liu
3- Dang Lua Chon : (nhu chon lua gioi tnh nam hoc nu)
C php :
<input type="radio" value="N" name="hot" checked>
+ Type : Radio l dinh dang dnh cho su lua chon
+ Value : Gi tri m chng ta mun truyn khi user lua chon
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 8/68 www.qhonline.info
+ Name : Tn cua dinh dang lua chon
+ Thuc tnh checked. Nu add vo s mc dinh chon lua
V du:
<input type="radio" value="m" name="sex" checked> Male
<input type="radio" value="f" name="sex" > Female
Tu v du trn ta thy nu trong 1 form chon lua gioi tnh. Th thuc tnh name
phai ging nhau. O dy. Thuc tnh male duoc lua chon mc dinh.
4- Dang Thanh cuon : (nhu chon quc tich Vit Nam,.)
C php:
<select size="thng s" name="tn">
<option value="gi tri" selected>Lua chon </option>
</select>
+ Size : l kch thuoc cua hp thoai m ban mun. Thuong l 1.
+ Name : l tn cua thanh cun y.
+ Option: l nhung thuc tnh ban mun chon
+ Thuc tnh selected Nu thm vo s mc dinh chon lua.
+ Gi tri : l thng t ban mun truyn vo khi chng ta chon lua.
V du:
<select size="1" name="country">
<option value=VN selected>Vit Nam </option>
<option value=CN>Trung Quc </option>
</select>
O v du ny chng ta thy. Vit Nam l quc gia duoc lua chon.
5- Dang Chon Nhiu : (nhu bang dnh du so thch: music, sport, game,..)
C Php:
<input type="checkbox" name="tn" value="gi tri">
+ Type= Checkbox l dinh dang cua hp thoai
+ Tn : l tn cua muc chon lua
+ Gi tri: L thng s cn truyn vo.
6- Dang Nt Nhan : (nhu chp nhn hoc lm lai,..)
C php :
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 9/68 www.qhonline.info
<input type="Lua chon" value="Gi tri" name="Tn">
Type c hai loai chnh l : submit b reset
+ Submit cho php goi du liu ln trnh duyt d xu l.
+ Reset : xa ton b du liu tu cc form trn.
Gi tri: l tn hin thi trn nt
Tn : l tn cua nt nhn.

Bi tp p Dng :
Vit lnh hin thi 1 form nhu bn duoi :



Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 10/68 www.qhonline.info
IV- Cc the nng cao:
1- Tao ch chay :
C php co ban : <Marquee> Ni Dung </Marquee>
M ta : Vn ban nm giua hai the ny s di chuyn tuy theo cc gi tri thuc tnh duoc
thit lp. Mt s thuc tnh cua Marquee l:
Direction: C gi tri bng Left hoc Right l huong chuyn dng cua vn ban.
ScrollDelay: Gi tri nguyn duong ny l s mili giy vn ban ngung truoc khi chuyn
dng tip. Gi tri cng nho, chuyn dng cng nhanh.
Behavior: Loai chuyn dng cua text. Scroll, Slide, Alternate
Align With text: Doan vn ban duoc canh chinh trong vng din tch cua marquee. C 3
gi tri: Top, Middle, Bottom.
Loop: Gi tri nguyn thit lp s chu ky chuyn dng cua doan vn ban.
V du :
<Marquee align="middle" direction="right" scrolldelay="60">
Cho mung ban d dn website cua chng ti
</Marquee>
2 Su dung Frame:
Bng cch dng frame (khung), ta c th ngt trang web thnh cc vng ring bit (cua
s) v th hin cc tp tin HTML khc nhau trong mi vng. Voi cch ny, mi vng c
th chuyn sang trang web khc trong khi cc vng khc vn khng thay di.
C php co ban :
<iframe src=URL Name=Tn Frameborder=Thng s height=Thng s
width=thng s scrolling=Thng s allowtransparency> </iframe>
SRC : URL cua trang mun hin thi.
Name : Tn cua frame
Frameborder : Duong vin cua frame (thuong l 0 hoc 1)
Height : chiu cao cua frame
Width : Chiu rng cua frame.
Scrolling : Hin thi thanh truot (c 3 thuc tnh l No, Yes, Auto).
Allowtransparency: Cho php background cua frame trong sut.

Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 11/68 www.qhonline.info
V du :
<iframe src=test_page.html Name=test_frame Frameborder=0 height=300
width=300 scrolling=No allowtransparency></iframe>
3- Tao danh sch:
HTML c mt tp cc the cho php tao ra cc danh sch dang phn cp. C hai dang
danh sch: khng c thu tu v c thu tu. Cc danh sch khng c thu tu l danh sch
dang nt, trong khi d danh sch c thu tu thuong l danh sch c dnh s. Ta cung c
th kt hop hai loai ny d tao ra danh sch phuc tap hon.
a) Danh sch c thu tu :
Cc muc cua mt danh sch c thu tu duoc hin thi voi cc con s thay v cc nt. Su
dung the <OL> (Order List) d thit lp mt danh sch c thu tu, nhu duoc th hin trong
doan m sau. Hnh anh th hin cch m trnh duyt hin thi doan m ny.
C Php : <OL type=[a] [i] [I]> </OL>
V du :
<OL>
<LI>This is the first level-1 item in the list.
<LI>This is the second level-1 item in the list.
<OL>
<LI>This is the first level-2 item in the list.
<LI>And this is the second level-2 item in the list.
</OL>
<LI>This is the third level-1 item in the list.
</OL>
b) Danh sch khng c thu tu :
C php : <UL type=[square] [cicle] [disc]> </UL>
V du :
<UL Type="Disc">This is the first level header.
<LI>This is the first level-1 item in the list.
<LI>This is the second level-1 item in the list.
<UL>
<LI>This is the first level-2 item in the list.
<LI>And this is the second level-2 item in the list.
</UL>
<LI>This is the third level-1 item in the list.
</UL>


Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 12/68 www.qhonline.info
4- Su dung the <DIV>:
DIV Duoc xem nhu l cc the chua (the mang). Chng rt huu dung trong vic phn chia
cc khi vn ban voi phn xung quanh n m khng lm anh huong dn dinh dang cua
ring n. Cc the ny thuong duoc dng voi cc dinh dang style sheet CSS v dang duoc
ua chung trong thit k layout cua nhung trang web phuc tap.
V du :
Here is <DIV STYLE="font:bold 14pt">some text</DIV> in a DIV.
V- CASCADING STYLE SHEET (CSS)
Dinh nghia v bang kiu xp chng (css) su dung d tch bit format trang v ni dung
cua trang web. Voi CSS, ta c th bin di moi thu tu kch c, kiu, mu sc cua vn ban
cho dn khoang cch giua cc chu ci v cc dng, duong bin v phn dm xung quanh
phn tu, vi tr chnh xc cua di tuong trn trang.
1- inh nghia truc tip :
Bang kiu ton cuc (hoc bang kiu duoc nhng vo) duoc km theo nhu l mt phn cua
h so HTML. Loai bang kiu ny xc dinh bin gioi cua n bng the mo <STYLE> v
the dng </STYLE>, n thuong duoc dt trong phn head cua trang HTML.
V du:
<HTML>
<HEAD>
<STYLE>
H1 {font-size: 16pt; font-weight: bold; color: red}
H2 {font-style: italic; font-size: 24pt; color: green}
DIV {font-weight: bold; font-style: italic}
</STYLE>
</HEAD>
<BODY>
<DIV>This text is in a DIV.</DIV>
<H1>This text is in an H1.</H1>
<H2>This text is in an H2.</H2>
</BODY>
</HTML>
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 13/68 www.qhonline.info
Hin Thi :






M ta thuc tnh :
Color: mu chu
Font-size : Kch thuoc cua chu
Font-style : Dinh dang chu (italic : Nghing, blod: in dm, underline: gach duoi).
Font-family: Kiu chu
Background-color : mu nn
Text decoration: Dinh dang link.
+ None : khng dinh dang g ca
+ Underline: gach duoi lin kt.
+ Overline: gach trn lin kt
2- inh nghia gin tip:
Kha nng dinh dang duoc d cp trong nhung phn truoc khng chi dung lai o muc d
cua mt trang web don m cn c th kim sot kiu trn nhiu trang web hay c th trn
ton b website bng cch su dung bang kiu lin kt. Mt bang kiu lin kt (hay bang
kiu bn ngoi) chi don gian l mt tp tin vn ban, bao gm nhung dinh nghia kiu. Tp
tin ny duoc luu voi phn mo rng l CSS. Tp ny (nm ngoi tp tin HTML) c th
duoc tham chiu hoc lin kt boi vn ban HTML bng cch su dung the <LINK> cua
trang HTML.
V du: Du tin, su dung notepad d soan thao tp tin c ni dung nhu sau:
H1 {font-size: 16pt; font-weight: bold; color:red}
H2 {font-style: italic; font-size:24pt ; color:green}
DIV {font-weight: bold; font-style: italic}
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 14/68 www.qhonline.info
Luu tp tin voi tn bt ky c phn mo rng l CSS (v du: style.css). Cung cn ch
rng, bang kiu lin kt ny khng km theo cc thnh phn <Style> v </Style> (tuc
trong file CSS khng c cc the ny).
By gio tp tin tao mt file HTML chua mt lin kt dn bang kiu bn ngoi d dinh
nghia.
V du:
<HTML>
<HEAD>
<LINK HREF="styles.css" REL="STYLESHEET" TYPE="text/css">
</HEAD>
<BODY>
<DIV>This text is in a DIV.</DIV>
<H1>This text is in an H1.</H1>
<H2>This text is in an H2.</H2>
<H2 STYLE="font-size: 36pt">This is modified H2 text.</H2>
</BODY>
</HTML>
Trong v du ny tp tin su dung the <LINK> trong phn du cua h so HTML. The ny
chua thuc tnh HREF xc dinh vi tr cua tp tin dch. Thuc tnh REL s dinh r rng
lin kt ny l mt tham chiu dn mt bang kiu v thuc tnh TYPE dinh r loai bang
kiu. Thoi dim hin tai th text/css l loai bang kiu duoc h tro ph bin v duy nht.
Bang kiu lin kt c anh huong toi h so HTML ging nhu bang kiu ton cuc (bang
kiu nhng). Moi phn tu trong h so HTML m the cua chng duoc dinh nghia trong tp
tin style.css s duoc th hin bng cch su dung kiu d duoc xc dinh.
V khng nm trong bt ky tp tin HTML dc bit no, nn bang kiu lin kt ngoi c
th duoc lin kt voi s luong h so khng gioi han. V du, tp tin c th tao bang kiu
cho ton b Website v lin kt tung trang voi bang kiu d. Kha nng ny rt huu ch
khi tp tin mun duy tr cch th hin, cung nhu cch cam nhn nht qun trn ton b
website. N cung rt tin loi khi mun thay di cch th hin tng th cua Website.
3- inh Nghia Trn 1 Lop:
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 15/68 www.qhonline.info
L mt bin dinh nghia format cua cc thuc tnh trong cc the nhung moi the du c th
dng duoc.
C php : .tnlop {cc thuc tnh}.
V du:
<HTML>
<HEAD>
<STYLE>
.large
{
font-size: 24pt;
font-style : bold;
font-family : tahoma;
color: green;
Background-color: blue;
}
.small {font-size: 8pt}
</STYLE>
</HEAD>
<BODY>
<H2 CLASS="small">The small class on an H2 element.</H2>
<DIV CLASS="large">The large class on a DIV element.</DIV><BR>
<P CLASS="small">The small class on a P element.</P>
<B CLASS="large">The large class on a B element.</B><BR>
</BODY>
</HTML>
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 16/68 www.qhonline.info
Phn B: PHP & MYSQL
Bi 1: Tng Quan V PHP

I - Gii thiu v PHP.
PHP (Hypertext Preprocessor) l ngn ngu script trn server duoc thit k d d dng xy
dung cc trang Web dng. M PHP c th thuc thi trn Webserver d tao ra m HTML
v xut ra trnh duyt web theo yu cu cua nguoi su dung.
Ngn ngu PHP ra doi nm 1994 Rasmus Lerdorf sau d duoc pht trin boi nhiu nguoi
trai qua nhiu phin ban. Phin ban hin tai l PHP 5 d duoc cng b 7/2004.
C nhiu l do khin cho vic su dung ngn ngu ny chim uu th xin nu ra dy mt s
l do co ban :
- M ngun mo (open source code)
- Min ph, download d dng tu Internet.
- Ngn ngu rt d hoc, d vit.
- M ngun khng phai sua lai nhiu khi vit chay cho cc h diu hnh tu
Windows, Linux, Unix
- Rt don gian trong vic kt ni voi nhiu ngun DBMS, v du nhu : MySQL,
Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase, Empress,
FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis v nhiu h thng
CSDL thuc H Diu Hnh Unix (Unix dbm) cng bt cu DBMS no c su h tro
co ch ODBC (Open Database Connectivity) v du nhu DB2 cua IBM.

So d v lp trnh server side cua PHP.



Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 17/68 www.qhonline.info
1: Trnh duyt gui yu cu toi trang PHP.
2: Web server gui cc yu cu d toi trnh thng dich PHP.
3-4: Trnh thng dich PHP thuc thi cc doan m PHP. Qu trnh ny c th
lin quan dn nhiu ti nguyn nhu filesystem, database...
5: Kt qua cua qu trnh thng dich l cc m HTML duoc tra v cho Server..
6: Server gui m kt qua HTML v lai trnh duyt.

II- Kin Thc Co ban
1- C php chnh :
PHP cung c the bt du v kt thc ging voi ngn ngu HTML. Chi khc, di voi PHP
chng ta c nhiu cch d th hin.
Cch 1 : C php chnh:
<?php M lnh PHP ?>
Cch 2: C php ngn gon
<? M lnh PHP ?>
Cch 3: C php ging voi ASP.
<% M lnh PHP %>
Mc d c 3 cch th hin. Nhung di voi 1 lp trnh vin c kinh nghim th vic su
dung cch 1 vn l lua chon ti uu.
Trong PHP d kt thc 1 dng lnh chng ta su dung du ;
D ch thch 1 doan du liu no d trong PHP ta su dung du // cho tung dng. Hoc
dng cp the /*..*/ cho tung cum m lnh.
V du:
<?
Echo PHP is simple; //day la vi du ve code PHP
/* Voi cu phap nay chung ta
Co the chu thich 1 cum ma lenh */
?>
2- Xuat d liu ra trnh duyt
D xut du liu ra trnh duyt chng ta c nhung dng c php sau :
+ Echo Thng tin;
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 18/68 www.qhonline.info
+ Printf Thng tin;
Thng tin bao gm : bin, chui, hoc lnh HTML .
V du :
<?php
Echo Hello word;
Printf<br><font color=red>Who Are You ?</font>;
?>
Nu giua hai chui mun lin kt voi nhau ta su dung du .
V du :
<?php
Echo Hello.who are you ?;
?>
3- Khi nim bin, hng, chuoi v cc kiu d liu.
a) Bin trong PHP.
Bin duoc xem l vng nho du liu tam thoi. V gi tri c th thay di duoc. Bin duoc
bt du bng k hiu $. V theo sau chng l 1 tu, 1 cum tu nhung phai vit lin hoc
c gach duoi.
1 bin duoc xem l hop l khi n thoa cc yu t :
+ Tn cua bin phai bt du bng du gach duoi v theo sau l cc k tu, s hay du gach
duoi.
+ Tn cua bin khng duoc php trng voi cc tu kha cua PHP.
Trong PHP d su dung 1 bin chng ta thuong phai khai bo truoc, tuy nhin di voi cc
lp trnh vin khi su dung ho thuong xu l cng mt lc cc cng vic, nghia l vua khi
bo vua gn du liu cho bin.
Ban thn bin cung c th gn cho cc kiu du liu khc. V ty theo dinh cua nguoi
lp trnh mong mun trn chng.
Mt s v du v bin :
$a= 100 // bin a o dy c gi tri l 100.
$a= PHP is easy // Bin a o dy c gi tri PHP Is easy.
Biena=123 //C li v bt du 1 bin phai c du $
$123a=PHP //C li v phn tn bt du cua bin l dang s.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 19/68 www.qhonline.info
b) Khi nim v hng trong PHP.
Nu bin l ci c th thay di duoc th nguoc lai hng l ci chng ta khng th thay di
duoc. Hng trong PHP duoc dinh nghia boi hm define theo c php: define (string
tn_hng, gi_tri_hng ).
Cung ging voi bin hng duoc xem l hop l th chng phai dp ung 1 s yu t :
+ Hng khng c du $ o truoc tn.
+ Hng c th truy cp bt cu vi tr no trong m lnh
+ Hng chi duoc php gn gi tri duy nht 1 ln.
+ Hng thuong vit bng chu in d phn bit voi bin
V du :
define (C, COMPANY);
define (YELLOW, #ffff00);
c) Khi nim v chuoi:
Chui l mt nhm cc k tu, s, khoang trng, du ngt duoc dt trong cc du nhy.
V du:
Huy
welcome to VietNam
D tao 1 bin chui, chng ta phai gn gi tri chui cho 1 bin hop l.
V du:
$fisrt_name= Nguyen;
$last_name= Van A;
D lin kt 1 chui v 1 bin chng ta thuong su dung du .
V du:
<?php
$test=VietNam;
echo welcome to.$test;
echo <br><font color=red>welcome to.$test.</font><br>;
?>
d) Kiu d liu trong PHP
Cc kiu du liu khc nhau chim cc luong b nho khc nhau v c th duoc xu l theo
cch khc nhau khi chng duoc theo tc trong 1 script.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 20/68 www.qhonline.info
Trong PHP chng ta c 6 kiu du liu chnh nhu sau :
Kiu D Liu V d M Ta
Integer 10 Mt s nguyn
Double 5.208 Kiu s thuc
String How are you ? Mt tp hop cc k tu
Boolean True or False Gi tri true hoc false
Object Huong di tuong trong PHP
Array Mang trong PHP, chua cc phn tu.
Chng ta c th su dung hm dung sn gettype() cua PHP4 d kim tra kiu cua bt ky
bin.
V du:
<?php
$a= 5;
Echo gettype($a); // Integer.
$a=<br>;
Echo gettype($a); //String
?>
III- Tng Kt:
Sau bi ny cc ban d c nhung khi nim du tin v PHP, cc c php, cc kiu du
liu, v cch lm vic voi mi truong PHP nhu th no. O bi sau, chng ta s tip tuc
tip cn voi cc thut ton v c php PHP mt cch r rng v quen thuc trong cc
ngn ngu lp trnh.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 21/68 www.qhonline.info
Bi 2 : Ton Tu V Biu Thuc
I Ton tu co ban.
1- Ton tu gn:
Chng ta d tung tip xc voi ton tu ny boi vic khoi tao 1 bin. N gm k tu don =.
Ton tu gn ly gi tri cua ton hang bn phai gn n vo ton hang bn tri.
V du: $name = Johny Nguyen;
2- Ton tu so hoc:
Ta c bang cc php ton s hoc nhu sau:
Ton Tu L giai V d Kt qua
+ Cng hai s hang 10+8 18
- Tru hai s hang 10-8 2
* Nhn hai s hang 10*8 80
/ Chia hai s hang 10/3 3.33333333
% Tra v s du 10%3 1
3- Ton tu so snh:
Ta c cc php so snh co ban nhu sau:
Php Ton Tn Giai Thch V D
= = Bng Hai s hang bng nhau $a= =5
!= Khng bng Hai s hang khng bng nhau $a != 5
= = = Dng nht Hai s bng nhau v cng kiu $a = = = 5
> Lon hon V tri lon hon v phai $a > 5
>= Lon hon hoc bng V tri lon hon hoc bng v phai $a >= 5
< Nho hon V tri nho hon v phai $a < 5
<= Nho hon hoc bng V tri nho hon hoc bng v phai $a <= 5
4- Ton tu logic
Ton tu logic l cc t hop cc gi tri boolean. V du: ton tu or tro v true nu ton tu
tri hoc ton tu phai l true.
True || false true.


Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 22/68 www.qhonline.info
Ta c bang cc ton tu nhu sau:
Ton Tu Tn Tra v True Nu V du Kt qua
|| Or V tri hoc v phai l True True || false True
Or Or V tri hoc v phai l True True || false True
Xor Xor V tri hoc v phai l True
nhung khng phai ca hai
True || True False
&& And V tri v v phai l true True && false False
And And V tri v v phai l true True && false False
! Not khng phai l true !true False

5- Php gn kt hop:
Khi tao m PHP, chng ta s thuong nhn thy cn phai tng hoc giam luong bin mt
s nguyn no d. Ban s thuong thuc hin diu ny khi chng ta dm 1 gi tri no d
trong vng lp.
Php Ton V d L Giai
++ $a++ Bng voi $a= $a + 1
-- $a-- Bng voi $a= $a 1
+= $a+=$b Bng voi $a= $a + $b
-= $a-=$b Bng voi $a= $a - $b
*= $a*=$b Bng voi $a= $a * $b
/= $a/=$b Bng voi $a= $a / $b

II- Cc biu thc co ban:
1- Biu thuc diu kin:
C php:If(Diu kin)
{
hnh dng
}
V du:
<?php
$a=5;
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 23/68 www.qhonline.info
$b=7;
If($a < $b)
{
Echo Bien A co gia tri nho hon bien B;
}
Else
{
Echo Bien A co gia tri lon hon bien B;
?>
2- Vng lp trong PHP:
a) While..
C php:
While(diu kin)
{
Hnh dng thuc thi
}
V du:
<?php
$a=1;
While($a < 10)
{
Echo gia tri $a la;
$a++;
}
?>
Bi tp p dung:
1- Vit 1 trang web xut ra gi tri tu 1->20. Voi dinh dang font mu do, kiu
Tahoma, canh phai.
2- Vit 1 trang web c gi tri tu 1->20. Hy xut ra trnh duyt nhung s chn nm
trong khoang 1->20 d.

Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 24/68 www.qhonline.info
Dp n:
Cu 1:
<?php
$a=1;
while($a <= 20)
{
echo "<br>$a";
$a++;
}
?>
Cu 2:
<?php
$a=1;
while($a <= 20)
{
if($a%2==0)
echo "<br>$a";
$a++;
}
?>
b) Do......while:
C php:
Do
{
Hnh dng thuc thi
}while(diu kin)
V du:
<?php
$a=5;
do{
echo "day la gia tri cua $a";
$a++;
}while($a >6)
?>
c) For..Loop
C php:
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 25/68 www.qhonline.info
For( gi tri ; diu kin ; bin tng hoc giam)
{ Hnh dng }
V du :
<?php
$a=2;
for($i=1; $i<=10; $i++)
{
echo"$a x $i =".$a*$i."<br>";
}
?>

Bi tp v du:
Xy dung 1 website thoa yu cu xut ra bang cuu chuong tu 2 10.
Dp n:
<?php
for($i=2; $i <= 10; $i++)
{
echo "Bang cuu chuong cua $i<br>";
for($j=1; $j <=10; $j++)
{
echo "$i x $j =".$i*$j."<br>";
}
echo "<p>";
}
?>

d) Pht biu switch:
C php:
Switch(bin)
{
Case gi tri 1: Hnh dng; Break;

Case gi tri N: Hnh dng; Break;
Default: Hnh dng; Break;
}
V du:
<?php
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 26/68 www.qhonline.info
$a=5;
switch($a)
{
case 1: echo "day la gia tri $a"; break;
case 2: echo "day la gia tri $a"; break;
case 3: echo "day la gia tri $a"; break;
case 4: echo "day la gia tri $a"; break;
case 5: echo "<font color=red>day la gia tri $a</font>"; break;
default: echo Khong co gia tri phu hop; break;

}
?>

III Tng kt:
Kt thc bi hoc ny, cc ban t nhiu d nm duoc nhung thuc tnh co ban cua cc
php ton hoc trong PHP, ngoi ra chng ta cung tung buoc hiu duoc c php cua
tung biu thuc.
Di voi cc vng lp, chng ta cn hiu v vn chng mt cch linh hoat v mm
deo, phn bit duoc while v dowhile. Su dung hm switch trong truong hop c
qu nhiu gi tri ifelse tra v.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 27/68 www.qhonline.info
Bi 3: Mang Trong PHP (Array)
I- Nhng khi nim co ban:
Chng ta c th tao 1 mng voi cc phn tu khng dng nht v mt du liu. Dy l
mt uu dim cua PHP so voi cc loai ngn ngu khc nhu C++ hay Java
1- Cch khoi tao :
c nhiu cch
$countries[] = cr;
$countries[] = de;
$countries[] = ca;
Luu : giua tn bin mng v du [] khng duoc cch khoang trng m phai vit lin
voi nhau, nu khng khi lp trnh CT s khng bo li nhung s cho kt qua sai.
Chi s mc dinh trong khoi tao mng nu khng chi dinh cu th s l bt du tu 0, 1,
2... hoc chng ta s vit tuong minh hon nhu sau :
$countries[0] = cr;
$countries[1] = de;
$countries[2] = ca;
Chng ta cung c th khoi tao mng 1 cch khng tun tu nhu sau :
$countries[50] = cr;
$countries[20] = de;
$countries[10] = ca;
$countries[] = uk; // s mang chi s l 51
Hoc :
$countries = array (cr, de, us);
echo ($countries[2]); // s in ra us
Nu mun ly chi s du l 1 ta khoi tao nhu sau :
$countries = array (1=> cr, de, us);
echo ($countries[2]); // s in ra de
Ton tu => c th thay di vi tr
v du :
$countries = array (cr, 7=>de, us); /* index 0 l cr, index 7 l de,
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 28/68 www.qhonline.info
index 8 l us */
D dm s phn tu cua mng ta dng hm count, nhu v du o trn nu ta ghi
echo (count ($countries)); // s in ra 3
2- oi voi cc mng loai tuan tu:
Ta c th in ra theo doan CT sau:
v du :
$countries = array (cr, de, us);
$num_elements = count ($countries);
for ($idx = 0; $idx < $num_elements; $idx++) {
echo ($countries[$idx] . <BR>);
}

3- oi voi cc mng loai khng tuan tu:
Cch 1 :
v du :
$countries[50] = "cr";
$countries[20] = "de";
$countries[10] = "us";
$countries[] = "uk";
reset ($countries); /* Dua pointer cua mng v vi tr khai bo du tin l index 50 */
while (list ($key, $value) = each ($countries)) {
echo ("Element $key equals $value <BR>"); /* Ln luot hin thi theo thu tu d khai
bo ban du l index 50, k tip l index 20 ri index 10, cui cng l index 51 */
}

Co ch list () : Gn chi s index cua mng cho di s thu nht cua list l $key, gi tri
tuong ung voi chi s index d cua mng cho di s thu hai cua co ch
list () l $value
each () : Cu mi ln duoc goi s di chuyn pointer cua mng dn thnh phn k tip
cua mng, gn chi s index cua mng cho $key v gi tri tuong ung voi chi s index
d cua mng cho $value cua co ch list ().
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 29/68 www.qhonline.info
Cch 2 :
V du :
function println ($s) {
echo ($s <BR>);
}
$countries = array (ca, cr, de, us);
array_walk ($countries, println);

4- Mng c chi s l kiu chui:
V du :
$countries[ca] = Canada;
$countries[uk] = United Kingdom;
$countries[us] = United States;
$countries[cr] = Costa Rica;
reset ($countries);
while (list ($key, $value) = each ($countries)) {
echo ("Element $key equals $value <BR>");
}

5- Mng nhiu chiu:
V du :
$continents = array (europe=>array (de, uk), north america=>array (ca,
cr, us));
echo ($continents[europe][1]); // in ra uk
echo ($continents[north america][2]); // in ra us
so d biu din mng 2 chiu o trn nhu sau :

$continents[europe] $continents[north america]
[0] [1] [0] [1] [2]
de uk ca cr us

Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 30/68 www.qhonline.info
Php duyt cho mng o trn duoc thuc hin nhu sau :
v du :
while (list ($key1) = each ($continents)) {
echo ($key1 : <BR>);
while (list ($key2, $value) = each ($continents[$key1])) {
echo (- $value<BR>);
}
}

II- Cc hm sp xp trn mang:
Quy lut chung trong sp xp mang, chng uu tin sp s truoc, k dn l cc k tu
du, ri moi dn cc k tu chu, sp
xp theo alphabetical
1- Khi chi so (index) l so :
Hm sort () :
V du :
$countries = array (us, uk, ca, cr, de);
sort ($countries);
while (list ($key, $value) = each ($countries)) {
echo ("Element $key equals $value <BR>");
}
s hin th| ra nhu sau :
Element 0 equals ca
Element 1 equals cr
Element 2 equals de
Element 3 equals uk
Element 4 equals us
* Ghi Ch: sp xp gi tri tng theo alphabetical, chi s index bt du tu 0.

2- Khi chi so (index) l chuoi :
Hm asort () :
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 31/68 www.qhonline.info
V du :
$countries = array (us=>United States, uk=>United Kingdom,
ca=>Canada, cr=>Costa Rica, de=>Germany);
asort ($countries);
while (list ($key, $value) = each ($countries)) {
echo ("Element $key equals $value <BR>");
}
Kt qua :
Element ca equals Canada
Element cr equals Costa Rica
Element de equals Germany
Element uk equals United Kingdom
Element us equals United States
hm asort () giu nguyn chi s chui, chi sp xp trn gi tri chui cua chi s chui
tuong ung.
Cc hm rsort () v arsort () cch thuc su dung ging nhu hm sort () v asort ()
nhung sp xp theo huong nguoc lai voi trt tu truoc d.

3- Sp xp tng dan theo chi so (index) :
Hm ksort () :
V du :
$countries = array (e=>United States, d=>United Kingdom,
c=>Canada, b=>Costa Rica, a=>Germany);
ksort ($countries);
while (list ($key, $value) = each ($countries)) {
echo ("Element $key equals $value <BR>");
}
Kt qua :
Element a equals Germany
Element b equals Costa Rica
Element c equals Canada
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 32/68 www.qhonline.info
Element d equals United Kingdom
Element e equals United States
Luu : khng c hm sp xp giam dn theo chi s (index), mun sp xp nhu th ta
su dung hm ksort (), ri sau d su dung hm arsort ()d dat duoc muc dch nu trn.

4- Hm sp xp theo quy dinh truoc cua nguoi su dung:
a) Chi lin quan dn gi tri tuong ung voi chi s (index) :
Hm usort () : khng giu lai chi s (index) cu
V du :
function by_length ($a, $b) {
$l_a = strlen ($a);
$l_b = strlen ($b);
if ($l_a == $l_b) return 0;
return ($l_a < $l_b) ? 1 : 1;
}
$countries = array (e=>United States, d=>United Kingdom,
c=>Canada, b=>Costa Rica, a=>Germany);
usort ($countries, by_length);
while (list ($key, $value) = each ($countries)) {
echo ("Element $key equals $value <BR>");
}
Kt qua :
Element 0 equals Canada
Element 1 equals Germany
Element 2 equals Costa Rica
Element 3 equals United States
Element 4 equals United Kingdom
Vic su dung hm usort () trong sp xp cho php nguoi su dung dua vo quy dinh
sp xp cua ring ho nhu trong v du trn l v chiu di cua cu: cu ngn o trn, cu
di o duoi, nhung hm usort () khng giu lai duoc chi s (index) nguyn thuy nhu lc
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 33/68 www.qhonline.info
ban du cua mng, mun giu nguyn chi s (index) nhu lc ban du ta hy su dung
hm uasort ().
b) Chi lin quan dn vic sp xp chi s (index) theo quy dinh truoc boi nguoi su
dung : ta su dung hm uksort () (cch su dung th tuong tu nhu hm vua hoc o trn)
c) Hm tao dy s nguyn ngu nhin trong pham vi tu a -> b :
(diu kin: a : integer, b : integer v a < b)
V du : Tao dy s nguyn ngu nhin trong pham tu 1 dn 10
$int = range (1, 10);
srand (time ());
suffle ($int);
while (list ( , $num) = each ($int)) {
echo ($num <BR>);
}

III Tng kt:
Qua bi hoc ny, chng ta tm hiu k v cc thnh phn cua mang mt chiu, nhiu
chiu v cc hm co ban v xu l du liu. Hiu r cu trc mang, su sp xp dng b
s gip ch cho cc ban rt nhiu trong nhung ung dung lon.

Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 34/68 www.qhonline.info
Bi 4: Hm V Goi Lai Hm
I- To Hm Trong Php:
Ta nn tao cc hm voi l do: D tng tnh nht qun, d tin cy, giam thoi gian vit
m v tng tnh mm deo cho chuong trnh.
Trong php, hm (c gi tri tra v) v thu tuc (khng c gi tri tra v) du duoc goi
chung l hm. Dinh nghia mt hm duoc xy dung boi nguoi su dung nhu sau:
function tnhm([thams 1, tham s 2, ...)
{
//Ni dung phn dinh nghia cua hm
}
Trong d: function: l tu kho.
- Tn hm: L mt tn hop l duoc dt theo qui tc nhu dt tn bin v khng trng
voi cc tn hm d xy dung trong php.
- Mt hm c th c mt hay nhiu tham s hay khng c tham s no. Cc tham
s (nu c) s khng c km theo kiu du liu m kiu cua n s tuy thuc vo
gi tri nhn duoc khi goi hm.
- Phn ni dung hm nm trong cp du bao khi {}.
- Hm s nhn gi tri tra v thng qua pht biu return gitri.
- return; s thot khoi hm v khng tra v gi tri no.
- return biuthuc; s thot khoi chuong trnh v tra v gi tri biuthuc.
- Hm c th dt bt cu vi tr no trong trang v chi duoc thi hnh khi ta thuc hin
goi hm.
V du: Vit hm kim tra xem mt s c phai l s nguyn t hay khng. Hm s
nhn gi tri tra v: true hay false tuong ung voi tham s nhn vo l s nguyn t hay
khng.
<?
//Hm c gi tri tra v: true/false.
function IsNguyenTo($num)
{
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 35/68 www.qhonline.info

for($i=2; $i<$num; $i++)
if ($num % $i==0) return false;
return true; }
// Hm khng c gi tri tra v. Kt qua in ngay trong hm
function IsNguyenTo2($num)
{
$i=2;
$nto = 1;
while ($i<$num)
{
if ($num % $i==0)
{
$nto = 0;
break; //Thot khoi while
}
$i++;
}
if ($nto) echo "| " .$num;
}
$ArrNum = array(2, 3, 5, 6, 9, 10, 23, 28, 29);
echo " Danh sach cac so nguyen to trong mang :<br>";
//Duyt qua cc phn tu trong mang
for ($i=0; $i<9; $i++)
//Truyn tham s v goi hm.
if (IsNguyenTo($ArrNum[$i]))
echo "| ". $ArrNum[$i];
echo "<br>";
for ($i=0; $i<9; $i++)
IsNguyenTo2($ArrNum[$i]);
?>
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 36/68 www.qhonline.info
II- Truyn Cc Gi Tr| M}c D|nh:
Cc hm trong php c th nhn cc tham s mc dinh. Cc tham s mc dinh khi dinh
nghi hm, chng duoc gn gi tri. $thams = gitri. Cc hm c tham s mc dinh
nn chuyn cc tham s mc dinh sang phai.
function tnhm($thams_1, $thams_2 = gatri_2, $thams_3=gitri_3)
Cc tham s $thams_2 v $thams_3 l cc gi tri mc dinh. Khi goi hm, nu ta chi
truyn 1 gi tri cho hm th gi tri d l cua $thams_1. Cc tham s $thams_2 v
$thams_3 nhn cc gi tri l gatri_2 v gitri_3.
V du: Hm function F($num1, $num2 = 5) {} ta s goi F(3) F(3, 5).

III- Truyn Tham Bin V Tham Tr|:
Tt ca cc v du truoc, tt ca vic truyn bin du l tham tri. D truyn tham bin
(bin duoc truyn c th thay di ni dung khi ra khoi hm), khi goi hm, ta dt thm
du & truoc bin cn truyn tham bin.
V du:
<? function F($a, $b)
{
$a = 5;
$b = 5;
echo "<br>Trong ham F(), a = " .$a ." va b= " .$b;
}
$a = 8;
$b = 8;
echo "<br>1. Ngoai ham F(), a = " .$a." va b= " .$b;
//Goi hm tham tri.
F($a, $b);
echo " <br>2. Ngoai ham F(), a = " .$a." va b= " .$b;
//Goi hm voi bin $a l tham bin
F(&$a, $b);
echo " <br>3. Ngoai ham F() a = " .$a." va b= " .$b;
?>
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 37/68 www.qhonline.info
Kt qua:
1. Ngoai ham F(), a = 8 va b= 8
Trong ham F(), a = 5 va b= 5
2. Ngoai ham F(), a = 8 va b= 8
Trong ham F(), a = 5 va b= 5
3. Ngoai ham F() a = 5 va b= 8

IV- Tm vc cua bin:
Mt bin trong mt hm chi c pham vi trong hm d. Tuy nhin, nu trong mt hm,
ta cn truy cp dn mt bin m khng thng qua truyn tham s qua goi hm, ta phai
su dung tu kho global truoc bin nhu minh hoa trong v du sau: Hm local_Func c
truy cp dn mt bin ngoi nhung khng su dung tu kho global. Nguoc lai hm
global_Func cung truy cp dn cng mt bin value, nhung tc dng o hai hm s
khc nhau.
V du:
<?
function localFunc()
{
$value = 100;
echo <p>Trong local, value co gia tri la : + $value;
}
function globalFunc()
{
global $value;
echo <p>Trong Global, value co gia tri la : + $value;
}
$value = 5;
echo <p>1.Gtri bien value = . $value;
localFunc();
echo <p>2.Gtri bien value = . $value
globalFunc();
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 38/68 www.qhonline.info
echo <p>3. Gtri bien value = . $value
?>

Kt qua:
1. Gtri bien value = 5
Trong local, value co gia tri la: 100
2.Gtri bien value =5
Global, value co gia tri la :5
3. Gtri bien value = 5

V- Su dng li m PHP:
D su dung lai m trong nhiu trang web (cc script), ta thuong vit cc hm, dinh
nghia cc hng hay cc doan m v luu vo mt file ring. Khi d, mt trang php no
cn su dung cc doan m d vit, c th chn vo vi tr cn thit. D chn mt file c
sn vo trang web, ta su dung mt trong bn cu lnh sau: include (filename), require
, include_once, require_once.
V du: <? Include (functions.php) ?> s chn file functions.php tu cng thu muc voi
trang dang vit vo ngay vi tr dt lnh include.
V du: c file includefile.php c ni dung
<?php
echo 'You have included a file';
?>
Tao file mainfile.php c ni dung.
<?php
include 'includefile.php';
echo 'I should have included a file.';
?>
File mainfile.php tuong duong voi file c ni dung:
<?php
echo 'You have included a file';
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 39/68 www.qhonline.info
echo 'I should have included a file.';
?>
Khc bit giua include, include_once, require, require_once
Include: Doc file filename vo ngay tai vi tr cu lnh. Truong truong hop khng tm
thy file filename, Chuong trnh pht ra canh bo nhung vn tip tuc thuc thi cc cu
lnh sau include.
Require: Thuc thi ging include, tuy nhin khi khng tm thy filename, chuong
trnh s khng tip tuc thuc thi cc cu lnh tip theo.
Require_once v Include_once: Lm vic ging nhu require v include nhung n
chi cho php filename chi duoc chn vo trang web mt ln.

VI- Tng kt:
Kt thc bi hoc ny, hn cc ban d c nhung khi nim co ban v hm v cch su
dung lai m PHP. Trn ung dung thuc t vic dng cc hm d triu goi dng vai tr
kh quan trong, n gip m ngun cua nguoi su dung logic v d dng chinh sua hon,
vic ung dung n trn website nhu th no cung s ty bin hon so voi cch vit truc
tip trn tung file.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 40/68 www.qhonline.info
Bi 5: Lm Vic Voi Chui
I- Nhng khi nim co ban:
Trong PHP chui duoc xc dinh theo 3 cch:
+ Du nhy don : VD: abc;
+ Du nhy kp : VD abc;
+ Heredoc
V du:
<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
?>
Khuyn khch su dung kiu nhy kp v n h tro nhiu k tu dc bit hon kiu nhy
don.
1- Phuong thuc noi chuoi v k tu dc bit trong PHP:
D ni 2 chui voi nhau, PHP cho php nguoi su dung dng c php: du (.) d ni
hai chui voi nhau thnh 1 chui di hon.
V du:
<?php
$a=abc;
Echo 12345 .$a. mnb;
?>
D xu l nhung k tu la trong chui nhu du hoc $, PHP cung cp cho ta 1 phuong
thuc xu l hiu qua. D l thm du \ sau mi gi tri.
V du:
<?php
Echo gia tri \$a trong PHP that \de hieu\ phai khong nao;
?>
Ta c bang k tu sau:
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 41/68 www.qhonline.info
\n K tu xung dng
\r Tro v du dng
\t K tu tab
\\ backslash
\$ dollar sign
\" double-quote

II- Cc hm v chui co ban:
1- Hm substr() :
c php : string substr (string source, int begin, int length);
tra v 1 chui con trong chui cn ly, di s thu 3 l ty chon, vi tr du tin cua
chui duoc tnh l vi tr 0.
v du 1:
echo (substr (christopher, 1)); // in ra hristopher
echo (substr (christopher, -2)); // in ra er
//Nu di s thu hai l s m n s dm tu cui chui nguoc lai pha truoc s k tu
bng voi gi tri tuyt di cua s m d.
echo (substr (christopher, -5, 3)); // in ra oph
echo (substr (christopher, -3)); // in ra her
echo (substr (christopher, 2, 3)); // in ra ris
echo (substr (christopher, 2, -3)); // in ra ristop
echo (substr (christopher, -6, -3)); // in ra top
echo (substr (christopher, 7, -8)); // in ra chui rng
2- Hm strlen():
c php : int strlen (string str);
xc dinh chiu di cua chui
V du :
echo (strlen (Christopher)); // in ra s 11
3- Hm thay doi kiu ch:
+ Hm strtoupper () : di chu thuong thnh hoa
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 42/68 www.qhonline.info
v du : strttoupper (toi); // in ra TOI
+ Hm strtolower () : di chu hoa thnh thuong
v du : strlower (TOI); // in ra toi
+ Hm ucfirst () : di chu in k tu du tin cua cu
v du : ucfirst (in house); // in ra In house
+ Hm ucwords () : di chu in k tu du tin cua mi tu
v du : ucwords (in house); // in ra In House
4- Hm so snh chuoi:
C th dng ton tu so snh = = (bng), !=, <, <=, >, >=, ===d so snh cc chui.
Ngoi ra, ta cn c mt s phuong thuc so snh chui nhu sau:
Cc hm strcmp(), strcasecmp(), strnatcmp() s so snh cc chui theo php so snh
tu din.
Hm int strcmp(string S1, string S2): So snh 2 chui S1, S2 c phn bit
hoa/thuong. Hm ny tra v gi tri >0 nu S1>S2, 0 nu S1=S2 v gi tri <0 nu
S1<S2. Ni chung hm ny c th su dung ging ton tu so snh trong biu thuc.
Hm int strcasecmp(string S1, string S2): Ging hm strcmp() nhung khng phn bit
chu hoa v chu thuong.
V du
<?php
$var1 = "Hello";
$var2 = "hello";
echo Length $var1: . strlen($var1);

if (!strcasecmp ($var1, $var2))
echo $var1 = $var2 in a case-insensitive

if (strcmp($var1, $var2) >0)
echo $var1 > $var2;
if (strcmp($var1, $var2) <0)
echo $var1 < $var2;
if (strcmp($var1, $var2) ==0)
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 43/68 www.qhonline.info
echo $var1 = $var2;
?>

Kt qua hin th|:
Length Hello:5
Hello = hello in a case-insensitive
Hello < hello
5- Hm tm kim v thay th chuoi:
+ Tm kim chui bn trong chui : d tm kim 1 chui bn trong 1 chui khc, ban
c th su dung 1 trong 3 hm strstr (), strchr (), strrchr () hay stristr (), cc hm trn s
tra v chui str1, nu tm thy chui str1 trong chui str2, nguoc lai hm tra v gi tri
false, nu c nhiu chui con str1 trong str2, th hm ny chi tm kim chui str1 du
tin.
Hm strstr () :
c php : string strstr (string str1, string str2);
v du :
<?php
$str = Your customer service is excellent;
echo (strstr ($str, is) . <BR>); // is excellent
?>

+ Hm tao chui con:Hm string substr (string S, int start [, int length]): tra v
chui con duoc thnh lp tu chui S voi cc tham s start v length. Nu start >=0:
s tra v chui bt du tu vi tr start trong S.
V du:
<?php
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
?>
Nu start <0: s tra v chui bt du tu vi tr start cua S tnh tu cui chui.
<?php
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 44/68 www.qhonline.info
$rest = substr ("abcdef", -1); // returns "f"
$rest = substr ("abcdef", -2); // returns "ef"
$rest = substr ("abcdef", -3, 1); // returns "d"
?>
Nu length >=0 (gi tri mc dinh l 0), chui tra v c chiu di length k tu tnh tu
vi tr start.
Nu length < 0: Chui tra v chui tu start toi vi tr kt thc cch cui chui length k
tu.
+ Hm thay th chui con :
Hm str_replace () :
C php : string str_replace (string str1, string str2, string str);
Hm thay th chui S1 bng chui S2 trong chui S. Trong truong hop c nhiu S1
trong S, tt ca cc S1 du duoc thay boi S2 (thay th tt ca).
<?php
$bodytag = str_replace ("%body%", "black", "<body text=%body%>");
//$bodytag = "<body text=%body%>
?>

Hm substr_replace () :
C php : string substr_replace (string str, string replacement, int start, int [length]);
Hm ny s thay th chui str bng chui replacement, phn no cua chui str duoc
thay th s ty thuc vo 2 tham s l start v length.
+ start : vi tr bt du cua chui thay th replacement trong chui str
Nu start >= 0 : vi tr thay th s duoc tnh tu du chui tro di, start tnh bng don vi
k tu (vi tr thu nht cua chui l 0).
Nu start < 0 : N s duoc tnh bt du tu cui chui.
+length : l tham s ty chon, cho bit dim dung vic thay th. Nu khng c di s
ny th vic thay th s l tu vi tr start dn cui chui.
Nu length = 0 : vic thay th s l chn vo vi tr start v k tu truoc start
Nu length > 0 : cho bit s k tu m ban mun thay th voi replacement
Nu length < 0 : cho bit dim kt thc vic thay th tnh tu vi tr cui chui tro lai
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 45/68 www.qhonline.info
Cc hm duoc gioi thiu pha trn l nhung hm thng dung v thuong su dung. D
bit thm thng tin nhiu hm hon, cc ban c th truy cp vo website : php.net d
ly thng tin dy du v cc hm trong chui.

III- Tng kt:
O bi ny chng ta d lm tm hiu k v kiu du liu chui, nhung hm phu tro quan
trong trong vic lp trnh ung dung nhu tm kim, thay th, so snh,.Di voi PHP
chui l mt trong nhung mang c phong ph v cc hm, d su dung tt chng ban
cn hiu r nguyn tc hoat dng cua tung hm, nm vung cu trc co ban trong cc
hm chui d tu d chng ta d dng vn dung chng trong cc ung dung lon.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 46/68 www.qhonline.info
Bi 6: Cc Thao Tc Trn File
I- Co ban v File:
1- Mo file : Su dung hm fopen ()
C php : int fopen (string filename, string mode)
Di voi h diu hnh Unix hay Linux, thu muc gc duoc dinh nghia bng du /,
nhung di voi h diu hnh Windows, thu muc gc duoc dinh nghia trn mt dia cu
th no d v du nhu C:\, du phn cch giua cc thu muc v tp tin trong Unix hoc
Linux chng ta su dung du /, cn trong windows chng ta su dung \
v du :
trong Linux :
$fl = fopen (/website/customers.txt, w);
trong Windows :
$fw = fopen (C:\webdesign\sales.txt, r);
a. Cc ch do mo file :
Mode Din giai
r Read only
r+ Read_Write
w Write Only
w+ Write_Read. Nu file ny tn tai, ni dung cu s bi
xo di, cn nu khng tn tai n s duoc tao moi
a Mo duoi dang append du liu, chi c write, nu file
tn tai, s ghi tip vo phn duoi cua ni dung c
sn, nu file khng tn tai s duoc tao moi.
a+ Mo duoi dang append du liu (write v read), nu file
tn tai, du liu s ghi tip vo phn bn duoi cua ni
dung cu, nu file khng tn tai s duoc tao moi
b Mo duoi ch d file binary

Trong truong hop khng bit file nm o vi tr no trn h thng, ban c th khai bo
thm tham s l s 1 cho hm fopen () nhu sau :
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 47/68 www.qhonline.info
$fw = fopen (customers.txt, a, 1);
v du :
<html>
<body>
Open File <BR>
<?
$f = C:\thuchanh\vanban.txt
$fw = fopen ($f, a);
?>
</body>
</html>

b. Mo file thng qua ftp hay http :
V du :
$f = ftp://www.qhonline.info/orders.txt;
$fw = fopen ($f, a);
hoc :
$f = http://www.qhonline.info.com/orders.txt;
$fw = fopen ($f, a);

c. Mo file v vic su dung ton tu @ d bt loi
Xem doan chuong trnh sau dy :
<html>
<body>
Open file and Debug <BR>
<?
$f = C:\thuchanh\vanban.txt;
@$fw = fopen ($f, a);
if (!$fw) {
echo (File bi truc trc, khng mo duoc);
}
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 48/68 www.qhonline.info
?>
</body>
</html>

2- ng file : hm fclose ()
C php : int fclose (int fw)
$fw l bin nhn gi tri tra v khi goi hm mo file $fw = fopen (...);
3- Hin thi file : hm fpassthru ()
C php : int fpassthru (int fw)
Hm ny c th hin thi ca file anh
V du :
if (!$fw = fopen (picture.gif, rb)) {
echo (could not open file);
}
else {
fpassthru ($fw);
}

4- Doc file :
a) Hm fread ()
C php : string fread (int fw, int length);
mi ln doc length k tu
V du :
if (!$fw = fopen (vanban.txt, r)) {
echo (could not open file);
}
else {
$text = fread ($fw, 10); // Doc 10 k tu du cua file
fclose ($fw);
}
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 49/68 www.qhonline.info
Nu nhu file c s k tu t hon length k tu trong fread (), n s doc dng s k tu
cua file.
b) Hm fgetc ():
C php : string fgetc (int fw)
Doc dng 1 k tu cua file. Nu file rng (khng c k tu) th n s tra v mt chui
rng (false)
c) Hm fgets ()
C php : string fgets (int fw, int length);
s dung vic doc file khi gp k tu new line hay cui file.
d) Hm fgetss ()
C php v hoat dng y nhu hm fgets (), nhung cc k tu nm trong cp du <> s bi
loai bo khi doc, cho d vy n vn duoc tnh vo chiu di cua chui doc.
e) Hm file ()
C php : array file (string filename);
mi dng cua file duoc doc s l 1 phn tu cua mng, dng du tin cua file s l
phn tu 0
V du :
$arrtext = file (vanban.txt);
for ($i = 0; $i < count ($arrtext); $i++) {
echo (<P> $arrtext[$i] </P>);
}

5- Ghi ln file :
Hm fwrite () v fputs ()
C php : int fwrite (int fw, string str, int length);
int fputs (int fw, string str, int length);
Di s thu ba nu khng dua vo th ton b chui s duoc ghi, cn nu dua vo di
s thu ba th n s ghi vo file chui str (di thu hai) c d di dng bng chiu di
length cua di s thu ba.


Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 50/68 www.qhonline.info
II- Cc hm xu l file:
1- Cc hm dich chuyn hoc quan l con tro mau tin trong file :
a) Hm rewind ()
C php : int rewind (int fw);
Dua con tro mu tin v du file
b) Hm fseek ()
C php : int fseek (int fw, int offset);
Di chuyn con tro mu tin dn mt vi tr xc dinh trong file
offset : s byte hoc s character tnh tu du file
V du : fseek ($fw, 1); // di chuyn dn k tu thu hai cua file
c) Hm ftell ()
C php : int ftell (int fw);
cho bit vi tr hin thoi cua con tro mu tin
V du :
fseek ($fw, ftell ($fw) + 20); tu vi tr hin thoi dich chuyn thm 20 k tu
d) Hm feof ()
C php : int feof (int fw);
cho bit vi tr cui file
V du :
if (!$fw = fopen (vanban.txt, r)) {
echo (could not open file);
}
else {
while (!feof ($fw)) {
echo (fgetc ($fw));
}
}

2- Copy, Delete, Rename file:
a) Hm Copy ()
C php : int copy (string source, string destination);
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 51/68 www.qhonline.info
b) Hm unlink ()
C php : int unlink (string filename);
delete file, file duoc delete phai dng (khng mo)
c) Hm rename ()
C php : int rename (string oldname, string newname);
Dt tn file lai

II- Tng kt:
Vic su dung file mt cch thnh thao s gip ban d dng vn hnh cc ung dung
mang quy m vua v nho nhu: website nhiu ngn ngu, b dm,v ca nhung cng
ngh web moi nhu XML mt cch d dng,
Qua bi hoc ny chng ta cung hiu duoc nguyn l hoat dng, trnh tu xu l 1 file du
liu khi chng duoc triu goi trong ti liu PHP.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 52/68 www.qhonline.info
Bi 7: Xu L Form Trong PHP
I- Tuong tc vi ngui su dng:
PHP cho php nguoi su dung tuong tc voi chng thng qua form nhp liu duoc vit
thun ty trn HTML. Tuy nhin d lm duoc diu y PHP yu cu form phai dp
ung 1 s quy dinh chung dt ra.
Chng ta cng phn tch the form trong HTML sau:
<form name=Tn form action=link xu l method=Phuong thuc>
Chng ta thy rng 1 form phai bao gm:
Tn form d d dng tch bit voi gi tri cua chng.
Action: hnh dng chuyn tip dn link xu l.
Method: L phuong thuc truyn bao gm POST v GET.
V du:
<form action = check.php method = post name=reg>
Please type your name here : <BR>
<input type = text name = username><BR><BR>
<input type = submit value = Submit Data name=add>
</form>
Vy lm cch no d chng ta ly duoc gi tri vua nhp liu no ?.
PHP cho php ta ly gi tri dua vo 2 phuong thuc POST v GET.
Doi voi POST ta c : $_POST[Gi tri]
Di voi GET ta c : $_GET[Gi tri]
Vy voi doan code trn c th ly duoc bin xu l l : $_POST[username];
II- Xu l d liu t trang ngui nhp liu.
1- Phuong thuc POST:
Phuong thuc ny duoc su dung d ly du liu tu form nhp liu. V chuyn chng
ln trnh chu webserver.
2- Phuong thuc GET:
Phuong thuc ny cung duoc dng d ly du liu tu form nhp liu. Tuy nhin nhim
vu chnh cua n vn l ly ni dung trang du liu tu web server.
Bi tp v du:
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 53/68 www.qhonline.info
Xy dung 1 trang HTML voi ni dung gm form nhp liu ho v tn. Sau d dng 1
file php d xut ra thng tin ho v tn m nguoi su dung vua nhp liu.
Dp n:
Tao file userform.htm voi ni dung sau:
<html>
<form action = processform.php method = post>
Please type your name here : <BR>
<input type = text name = username><BR><BR>
<input type = submit value = Submit Data>
</form>
</html>
Tao file processform.php d xut ra du liu
<?
echo Welcome, . $_POST[username] . !;
?>

Bi tp p dung :
Tao 1 trang web voi hp thoai nhp liu username v password. Nu nguoi su dung
nhp thng tin username/password l admin/12345 th xut ra thng bo welcome,
admin voi kiu chu Tahoma, mu do. Nguoc lai nu nhp sai th xut thng bo
Username hoc password sai. Vui lng nhp lai.

Dp n:
Tao trang login.html voi ni dung sau:
<html>
<head>
<title>login page</title>
</head>
<body>
<form action="checklogin.php" method=POST>
Username <input type=text name="user" size=15>
<br>Password <input type=password name="pass" size=15>
<br><input type=submit name=submit value="Login">

</form>
</body>
</html>
Tip tuc tao trang checklogin.php voi ni dung sau:
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 54/68 www.qhonline.info
<?php
$username=$_POST['user'];
$password=$_POST['pass'];
if($username == "admin" && $password="12345")
{
echo "<font color=red face=tahoma>Welcome to, ".$username."<font>";
}
else
{
echo "<font color=red face=tahoma>Username hoac password khong chinh xac,
vui long dang nhap lai<font>";
}
?>

III- Tng Kt:
Kt thc bi ny cc ban d nm duoc k thut kim tra thng tin dua trn PHP. K
thut xy dung trang upload, kim tra tnh hop l cua nguoi su dung 1 cch d dng
boi su ty bin trong cc biu thuc cua PHP.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 55/68 www.qhonline.info
Bi 8: Quan L Phin Lm Vic
I- Tng quan v cookie:
Cookie l 1 doan du liu duoc ghi vo dia cung hoc b nho cua my nguoi su dung.
N duoc trnh duyt goi nguoc ln lai server mi khi browser tai 1 trang web tu
server.
Nhung thng tin duoc luu tru trong cookie hon ton phu thuc vo website trn
server. Mi website c th luu tru nhung thng tin khc nhau trong cookie, v du thoi
dim ln cui ta gh thm website, dnh du ta d login hay chua, v.v...
Cookie duoc tao ra boi website v goi toi browser, do vy 2 website khc nhau (cho
d cng host trn 1 server) s c 2 cookie khc nhau goi toi browser. Ngoi ra, mi
browser quan l v luu tru cookie theo cch ring cua mnh, cho nn 2 browser cng
truy cp vo 1 website s nhn duoc 2 cookie khc nhau.

1- Thit lap cookie trong PHP:
D thit lp cookie ta su dung c php:
Setcookie(tn cookie,gi tri)
Tn cookie l tn m chng ta dt cho phin lm vic.
Gi tri l thng s cua tn cookie.
V du:
Setcookie(username,admin)
Nhu v du trn ta thy voi tn l username v gi tri l admin.
Ch : Kich ban cookie phai dt trn moi gi tri tra v bao gm the HTML v lnh
echo.

2- Su dung cookie trong PHP:
D su dung lai cookie vua thit lp, chng ta su dung c php:
C php: $_COOKIE[tn cookies]
Tn cookie l tn m chng ta thit lp pha trn.
V du:
Tao trang cookie.php voi ni dung sau:
<?php
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 56/68 www.qhonline.info
setcookie("name","Kenny Huy");
?>
<html>
<head>
<title>Test page 1</title></head>
<body>
<b><a href=cookie2.php>Click here</a></b>
</body>
</html>
Tip tuc tao trang cookie2.php voi ni dung sau:
<html>
<head><title>Result Page</title></head>
<body>
<?php
echo "Ten cua ban la <b>".$_COOKIE['name']."</b>";
?>
</body>
</html>

3- inh dang cc tham so khc trong cookie:
C php co ban:
Setcookie(Tn Cookie,Gi tri,Thoi Gian,Duong dn,Tn min,An ton
Tn cookie l tn m chng ta dt cho phin lm vic.
Gi tri l thng s cua tn cookie.
Thoi gian l thoi han dng d thit lp su tn tai cua cookie. Duoc tnh theo s giy
so voi mc ngy 1-1-1970. Thuong duoc tnh bng thoi gian hin tai cng voi 1
khoang thoi gian no d mun su dung cookie
Duong dn l thu muc no th cookie c tc dung.
Tn min l tn trang web m chng ta thit lp cookie .
An ton l su lua chon cookie c duoc gui theo giao thuc HTTPS hay khng. Chon 1
l c v 0 l kt ni thng thuong(HTTP).
V du:
Setcookie(user_id,1301,time()+3600,/,,0);
Tn cookie: User_id
Gi tri: 1301
Thoi gian: Cookie tn tai trong 1 gio tnh tu thoi gian thit lp.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 57/68 www.qhonline.info
Duong dn: trn moi thu muc
Tn min: Bo qua thuc tnh ny
An ton: Chp nhn giao thuc HTTP(thng thuong).

4- Huy Cookie:
D huy 1 cookie d duoc tao ta c th dng 1 trong 2 cch sau:
a) C php: setcookie(Tn cookie)
Goi hm setcookie voi chi duy nht tn cookie m thi
b) Dng thoi gian ht han cookie l thoi dim trong qu khu.
V du: setcookie(name,Kenny Huy,time()-3600);
V du:
Tip tuc tao trang cookie3.php voi ni dung sau:
<?php
setcookie("name","Kenny Huy",time()-360);
?>
<html>
<head>
<title>Test page 1</title></head>
<body>
<b><a href=cookie2.php>Click here</a></b>
</body>
</html>

Bi tp p dng:
Xy dung website su dung tnh nng cookie thoa mn nhung yu cu sau:
1- Tao trang dng nhp voi username/password l : admin/vietchuyen. Nu user
dng nhp thnh cng th s xut ra dng welcome, admin.
2- Tao trang dng xut thot khoi phn quan tri
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 58/68 www.qhonline.info
II- Tng quan v SESSION
Mt cch khc quan l nguoi su dung l session. Session duoc hiu l khoang thoi
gian nguoi su dung giao tip voi 1 ung dung. Mt session duoc bt du khi nguoi su
dung truy cp vo ung dung ln du tin, v kt thc khi nguoi su dung thot khoi
ung dung. Mi session s c duoc cp mt dinh danh (ID) khc nhau v ni dung
duoc luu trong thu muc thit lp trong file php.ini (tham s session.save_path).
Trong PHP, session duoc xem nhu mt diu khin pha server d luu tru v quan l
phin lm vic. D lm duoc diu ny, khi mt nguoi su dung truy cp vo mt
website, webserver cung cp cho nguoi su dung mt xu gi tri l SessionID goi l
xu dinh danh- v du 9b02405434373d6d96c8db11ed819a60. Ga tri xu ny mt gi
tri ngu nhin v n duoc gui toi my nguoi su dung thng qua cookie c tn
PHPSESSID. Gi tri ny tn tai cho dn khi no chu ky sng cua session kt thc
hoc nguoi su dung di chuyn toi website khc. Chu ky sng cua session do
webserver qui dinh. Ta c th diu chinh chu ky ny khi cu hnh webserver.
Bn pha server, mt tp tin c tn tuong ung PHPSESSID cung duoc tao ra. Cc
bin session s duoc luu trong mt tp tin vn ban ny v o tai vi tr duoc qui dinh
trong file php.ini o dng session.save_path.

1- Thit lap 1 session trong PHP:
D thit lp 1 session ta su dung c php: session_start()
Doan code ny phai duoc nm trn cc kich ban HTML. Hoc nhung lnh echo,
printf.
D thit lp 1 gi tri session, ngoi vic cho php bt du thuc thi session. Chng ta
cn phai dng k 1 gi tri session. D tin cho vic gn gi tri cho session d.
Ta c c php sau: session_register(Name)
V du:
<?php
Session_start();
Session_register(username);
?>
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 59/68 www.qhonline.info
2- Su dung gi tri cua session:
Ging voi cookie. D su dung gi tri cua session ta su dung m lnh sau:
C php: $_SESSION[name]
Voi Name l tn m chng ta su dung hm session_register(name) d khai bo.
V du:
Tao trang session.php voi ni dung sau:
<?php
session_start();
session_register("name");
$_SESSION["name"] = "Kenny Huy";
?>
<html>
<head>
<title>Test page 1</title></head>
<body>
<b><a href=session2.php>Click here</a></b>
</body>
</html>
Tao trang session2.php voi ni dung sau:
<?
session_start();
?>
<html>
<head><title>Result Page</title></head>
<body>
<?php
echo "Ten cua ban la <b>".$_SESSION["name"]."</b>";
?>
</body>
</html>

3- Huy bo session trong PHP:
D huy bo gi tri cua session ta c nhung cch sau:
Session_destroy() // Cho php huy bo session
Session_unset()// Cho php huy bo session (bao gm tt ca nhung g c lin quan).
Ch : Nn cn trong khi su dung hm unset.
V du
Tao trang session3.php voi ni dung sau:
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 60/68 www.qhonline.info
<?php
session_start();
session_destroy();
?>
<html>
<head>
<title>Test page 1</title></head>
<body>
<b><a href=session2.php>Click here</a></b>
</body>
</html>

Bi tp p dng:
Xy dung website su dung tnh nng session thoa mn nhung yu cu sau:
1- Tao trang dng nhp voi username/password l : admin/vietchuyen. Nu user
dng nhp thnh cng th s xut ra dng welcome, admin.
2- Tao trang dng xut thot khoi phn quan tri

III- Tng Kt:
Sau bi hoc ny chng ta d nm duoc cch diu khin phin lm vic giua cookie v
session. Su dung chng trong tung truong hop cu th. Tu d c th p dung d vit
nhung ung dung nho nhu kim sot nguoi dng nhp, lm gio hng online,..

Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 61/68 www.qhonline.info
Bi 9: Tng Quan V MYSQL
I- Nhng khi nim co ban:
Mysql l h quan tri du liu min ph, duoc tch hop su dung chung voi apache, PHP.
Chnh yu t pht trin trong cng dng m ngun mo nn mysql d qua rt nhiu su h
tro cua nhung lp trnh vin yu thch m ngun mo.
1- Cch khoi dong v su dung MYSQL.
Chng ta su dung command nhu sau:
Mysql hname uuser ppass
D truy cp vo co so du liu.
Hoc su dung b appserv d vo nhanh hon theo duong dn sau:
Start/ Appserv/ Mysql command Line client
Sau d nhp password m chng ta d dt vo.
2- Nhng dinh nghia co ban:
a) inh nghia co so d liu, bang, cot:
Co so du liu: l tn cua co so du liu chng ta mun su dung
Bang: L 1 bang gi tri nm trong co so du liu.
Ct l 1 gi tri nm trong bang. Dng d luu tru cc truong du liu.
Thuc tnh
V du:
Bang user
User_id 1234
First_name Nguyen
Last_name Hai Anh
Username Haianh123
Password 12345
Email test@yahoo.com
Date 2007-12-12 16:25:30
Nhu vy ta c th hiu nhu sau:
1 co so du liu c th bao gm nhiu bang.
1 bang c th bao gm nhiu ct
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 62/68 www.qhonline.info
1 ct c th c hoc khng c nhung thuc tnh.
b) Dinh nghia 1 s thut ngu:
NULL : Gi tri cho php rng.
AUTO_INCREMENT : Cho php gi tri tng dn (tu dng).
UNSIGNED : Phai l s nguyn duong
PRIMARY KEY : Cho php n l kha chnh trong bang.
c)Loai du liu trong Mysql:
O dy chng ta chi gioi thiu 1 s loai thng dung: 1 s du liu khc c th tham khao
trn trang chu cua mysql.
Kiu d liu M Ta
Char Dinh dang text c chiu di tu 0->255
Varchar Dinh dang text c chiu di tu 0->255
Text Dinh dang text c chiu di 0->65535
Longtext Dinh dang text c chiu di 0->4294967215
INT Dinh dang s c chiu di tu 0->4294967215
Float Dinh dang s thp phn c chiu di nho
Double Dinh dang s thp phn c chiu di lon
Date Dinh dang thoi gian theo dinh dang: YYYY-MM-DD
DateTime Dinh dang thoi gian theo dinh dang: YYYY-MM-DD HH:MM:SS

3- Nhng c php co ban:
C php tao 1 co so du liu:
CREATE DATABASE tn_co_so_du_liu
C php su dung co so du liu: Use tn_database;
C php thot khoi co so du liu: Exit
C php tao 1 bang trong co so du liu:
CREATE TABLE user (<tn_ct> <m_ta>,,<tn_ct_n>..<m_ta_n>)
V du:
mysql> create table user(user_id INT(15) UNSIGNED NOT NULL
AUTO_INCREMENT, user
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 63/68 www.qhonline.info
ame VARCHAR(255) NOT NULL, password CHAR(50) NOT NULL, email
VARCHAR(200) NOT N
LL, PRIMARY KEY (user_id));
Query OK, 0 rows affected (0.01 sec)

Hin thi c bao nhiu bang: show tables;
Hin thi c bao nhiu ct trong bang: show columns from table;
Thm 1 ct vo bang :
ALTER TABLE tn_bang ADD <tn_ct> <thuc_tnh> AFTER <tn_ct>
V du:
mysql> alter table user add sex varchar(200) NOT NULL after email;
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0

II- Nhng c php sql co ban:
1- Thm gi tri vo bang:
C php: INSERT INTO Tn_bang(tn_ct) VALUES(Gi_tri_tuong_ung);
V du:
mysql> insert into user(username,password,email,sex,home) values("Lanna","12345"
,"lanna@yahoo.com","F","www.abc.com");
Query OK, 1 row affected (0.00 sec)
2- Truy xuat d liu:
C php: SELECT tn_ct FROM Tn_bang;
V du:
mysql> select user_id,username from user;
3 rows in set (0.00 sec)

4- Truy xuat d liu voi diu kin:
C php: SELECT tn_ct FROM Tn_bang WHERE diu kin;
V du:
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 64/68 www.qhonline.info
mysql> select user_id,username from user where user_id=2;

Bi tp p dng:
Tao co so du liu voi thng tin sau:
ID Fname Lname Email Password Sex Phone
1 Nguyen Van Hoa vanhoa@yahoo.com 12345 F 0903234532
2 Tran Hoa Hoa12@yahoo.com 23456 M 97234512
3 Nguyen Thi Thuy Thuy2a@yahoo.com 24625 F 98374642
4 Hoang Phi Hong phihong@hotmail.com 57265 M 94673257
5 Le Van Lam vanlam@gmail.com 45625 M 93562535
6 Nguyen Cam Nhung cnhung@gmail.com 52672 F 93525135
7 Hoang Phi Yen pyen@gmail.com 63456 F 94754363

Thuc hin cc cng vic sau:
1- Tao 1 bang voi cc ct trn.
2- Nhp liu thng tin theo nhu bang trn.
3- Lit k tt ca thng tin cua nhung ai c sex l female.
4- Lit k thng tin cua nguoi c Lname l Van Hoa.
5- Lit k tt ca thng tin cua nhung ai c sex l male v c ho l Nguyn.
6- Lit k fname,lname, email cua nhung ai c s phone 0903234532.
7- Dng hm m ha d bao mt password cua nguoi dng.

5- Truy cap d liu v sp xp theo trnh tu
C php:
SELECT tn_ct FROM Tn_bang
WHERE diu kin (c th c where hoc khng)
ORDER BY Theo quy uoc sp xp.
Trong d quy uoc sp xp bao gm hai thng s l ASC (tu trn xung duoi), DESC (tu
duoi ln trn).

V du:
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 65/68 www.qhonline.info
mysql> select user_id,username from user order by username ASC ;
Cu lnh trn ly ra thng tin user_id v username tu bang user v chng duoc sp xp
theo username trnh tu tu trn xung duoi.

6- Truy cap d liu c gioi han :
C php:
SELECT tn_ct FROM Tn_bang
WHERE diu kin (c th c where hoc khng)
LIMIT vi tr bt du, s record mun ly ra
V du:
mysql> select user_id,username from user order by username ASC limit 0,10 ;
Cu lnh trn ly ra thng tin user_id v username tu bang user. Chng duoc sp xp
theo username trnh tu tu trn xung duoi. V ly ra 10 record tu vi tr 0.

7- Cap nhat d liu trong bang:
C php:
Update tn_bang set tn_ct=Gi tri moi
WHERE (diu kin).
Nu khng c rng buc diu kin, chng s cp nht ton b gi tri moi cua cc record
trong bang.
V du:
mysql> update user set email=admin@qhonline.info where user_id=1 ;

8- Xa d liu trong bang:
C php:
DELETE FROM tn_bang WHERE (diu kin).
Nu khng c rng buc diu kin, chng s x ton b gi tri cua cc record trong bang.
V du
mysql>delete from user where user_id=1 ;

Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 66/68 www.qhonline.info
III- Mysql v PHP:
1- Kt noi co so d liu:
C php:
Mysql_connect(hostname,user,pass)

2- Lua chon co so d liu:
C php:
Mysql_select_db(tn_CSDL)
V d:
$conn=mysql_connect(localhost,root,root) or die( khong the ket noi);
Mysql_select_db(demo);

3- Thuc thi cu lnh truy van:
C php:
Mysql_query(Cu lnh SQL)

4- m so record trong bang:
C php:
Mysql_num_rows();

5- Lay d liu tu database:
C php:
Mysql_fetch_array();
V d :
<?php
$conn=mysql_connect(localhost,root,root) or die( khong the ket noi);
Mysql_select_db(demo);
$sql=select * from user;
$query=mysql_query($sql)
if(mysql_num_rows($query) != 0)
{
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 67/68 www.qhonline.info
$row=mysql_fetch_array($query)
}
?>

Bi tp p dng:
Xut thng tin nguoi dng tu co so du liu o bi tp trn bng PHP.
ID Fname Lname Email Password Sex Phone
1 Nguyen Van Hoa vanhoa@yahoo.com 12345 F 0903234532
2 Tran Hoa Hoa12@yahoo.com 23456 M 97234512
3 Nguyen Thi Thuy Thuy2a@yahoo.com 24625 F 98374642
4 Hoang Phi Hong phihong@hotmail.com 57265 M 94673257
5 Le Van Lam vanlam@gmail.com 45625 M 93562535
6 Nguyen Cam Nhung cnhung@gmail.com 52672 F 93525135
7 Hoang Phi Yen pyen@gmail.com 63456 F 94754363

IV- Tng kt:
O bi ny chng ta d lm vic voi sql v cc k thut kt ni voi database cua PHP. Cc
hm PHP h tro mysql hin nay c rt nhiu. Tuy nhin v tnh nng cung nhu phuong
thuc su dung th chng cung ging nhau. Do vy cc ban khng nn lo lng khi lm vic
voi nhung hm m chng ta dang nghin cuu.
Gio trnh PHP Cn Ban Giang Vin: Bi Quc Huy
Trang 68/68 www.qhonline.info
Phn C: Project Training
Voi nhung kin thuc d hoc duoc, ban hy p dung d xy dung hon chinh mt ung
dung web cu th v np chng cho giang vin cua ban.
Mt s project tiu biu khuyn khch cc hoc vin lm:
D ti 1: Xy dung trang tin tuc din tu voi cc tnh nng chuyn nghip nhu (chuyn
muc tin, tin tuc,

You might also like