SlideShare a Scribd company logo
1 of 68
Download to read offline
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 1/68 www.qhonline.info
Trung Tâm ào T o Công Ngh M ng Vi t Chuyên
Tài Li u L u Hành N i B
www.qhonline.info
GIÁO TRÌNH
PHP & MYSQL
Biên So n:
GV. Bùi Qu c Huy
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 2/68 www.qhonline.info
L i Nói u
Quy n giáo trình này c t ng h p t nh ng tài li u và kinh nghi m th c ti n qua nhi u
n m gi ng d y c a gi ng viên, và c so n th o cho phù h p v i n i dung môn h c.
Khác v i giáo trình mang tính th ng m i, các t ng , cách di n gi i mang xu th thu t
ng , giáo trình c xây d ng trên hình th c d c, d hi u và g n g i v i th c t , tuy
nhiên i u ó không có ngh a h c viên có th ch tham kh o giáo trình mà không i h c.
N u các b n mu n hi u c n k ki n th c và ý ngh a c a giáo trình, b n nên tham gia các
khóa h c PHP y t i trung tâm ào t o m ng Vi t Chuyên.
M c dù ã ki m tra xác th c, c ng nh tính úng n c a giáo trình, nh ng khi biên
soan ch c ch n s có ít nhi u l!i liên quan n t ng , cú pháp. R"t mong nh n c
nhi u s óng góp c a các b n.
M i ý ki n óng góp c a các b n vui lòng truy c p vào website: www.qhonline.info (là
website cá nhân c a tác gi ). Ho c www.ddcntt.vn (là website c a trung tâm).
Gi ng viên
Bùi Qu c Huy
TP.H# Chí Minh. Ngày 15 Tháng 06 N m 2006
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 3/68 www.qhonline.info
Ph n A: C B n V HTML & Javascript
I – Các Th HTML c b n
1- C u trúc chu n:
<HTML>
<HEAD><TITLE>Tiêu Website</TITLE>
</HEAD>
<BODY>
N i dung website c vi t t i ây
</BODY>
</HTML>
+ M t c"u trúc HTML luôn bao g#m th$ óng và th$ m%.
Ví d& : <B> Ł th$ M%
</B> Ł Th$ óng - c phân bi t b'ng d"u / ngay tr c th$
+ Các th$ HTML hoàn toàn có th vi t hoa ho c th ng. Tuy nhiên nên theo 1 quy t c
chung (vi t hoa thì vi t hoa h t, ng c l i).
+ M t website càng ít th$ thì s càng ch y nhanh h n.
2- Các th c b n :
Tiêu : <H>N i Dung</H> (ví d&: <H1>Welcome, admin</H1>).
Th$ H bao g#m các thu c tính t (H1 H6). Nh ng ch S( d&ng t H1 H3.
In m: <B>N i Dung</B> (ví d&: <b>Welcome, admin</b>)
In Nghiêng: <I>N i Dung</I> (ví d&: <i>welcome, Admin</i>)
G ch D i : <U>N i Dung</U> (Ví d&: <u>welcome, Admin</u>)
Xu ng 1 Dòng : <BR> - Th$ này không có th$ óng.
Xu ng 2 Dòng : <P> - Có ho c không th$ óng c ng c.
)nh D ng Ch B'ng Th$ <FONT>
+ Kích th c ch : <FONT SIZE=”Thông S ”> N i Dung</FONT>
Ví d&: <font size=2>Hello, How Are You ?</font>
+ Ki u Ch : <FONT FACE=”Ki u Ch ”> N i Dung</FONT>
Ví d&: <font face=tahoma>Hello, How Are You ?</font>
+ Màu Ch : <FONT COLOR=”Màu Ch ”> N i Dung</FONT>
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 4/68 www.qhonline.info
Ví d&: <font color=red> Hello, How Are You ?</font>
T o Liên K t : <A HREF=”Link”> N i Dung</A>
Ví D&: <a href=”abc.html”>Hello, Huy</a>
+ M% 1 c(a s m i v i liên k t: TARGET=_BLANK
Ví d&: <a href=”abc.html” target=_balnk>Hello, Huy</a>
+ M% liên k t ó ngay trên trang hi n th): TARGET=_SEFT
Ví d&: <a href=”abc.html” target=_seft>Hello, Huy</a>
)nh d ng thu c tính : ALIGN=LEFT, RIGHT, CENTER, JUSTIFY
+ S( d&ng k t h p v i th$ <P>
Ví d&: <p align=center>N i dung V n b n s % gi a
+ S( d&ng k t h p v i các th$ khác nh <img>,<table>, <div>,….
Chèn hình nh vào website:
<IMG SRC=”URL Hình” BORDER=”Thông S ” HSPACE=”Thông S ”
VSPACE=”Thông S ” ALIGN=”Thu c Tính” WIDTH=”Thông S ”
HEIGHT=”Thông S ”>
+ <IMG SRC=”URL”> cú pháp chính xu"t ra hình nh.
+ <IMG SRC=”URL Hình” BORDER=”Thông S ”> cú pháp c s( d&ng khi
hình nh i kèm v i liên k t.
Ví d& : <a href=”abc.html”><img src=”def.gif” border=”1”></a>
T câu l nh trên s cho ra hình def.gif. Tuy nhiên bao b c hình nh ó s có 1
ng vi n.
Ví d&: <a href=”abc.html”><img src=”def.gif” border=”0”></a>
T câu l nh trên s cho ra hình def.gif. Nh ng không có vi n xung quanh
+ Hspace : kho ng cách t l ph i c a hình n l trái v n b n
+ Vspace: kho ng cách t TOP c a hình n BOTTOM c a v n b n
+ Align : )nh d ng trái, ph i, gi a c a hình (canh l ).
+ Width : Chi u r ng c a t"m hình.
+ Height : Chi u cao c a t"m hình.
II– T o b ng trong HTML :
t o 1 b ng chúng ta nên hình dung c dòng và c t. Và áp t 1 s quy lu t, vi c
th c thi d h n so v i yêu c u t ra.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 5/68 www.qhonline.info
M t b ng bao g#m 2 thu c tính là dòng và c t. V y ta có quy t c có 1 b ng d li u. Ta
i t b ng tr c, sau ó k$ dòng và chia c t trên dòng ó…Làm tu n t cho n h t yêu
c u vi c t o b ng.
1 B ng b t u và k t thúc s có cú pháp : <table> </table>
1 Dòng b t u và k t thúc s có cú pháp : <tr> </tr>
1 C t b t u và k t thúc s có cú pháp : <td> </td>
Ví d&:
A B C D
1 2 3 4
Nh b ng % trên ta s xây d ng nh sau :
+ G#m 1 b ng.
+ G#m 2 dòng
+ G#m 4 c t trên 1 dòng
V y ta có cú pháp t o b ng c b n nh 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>
Các thu c tính trên B ng (Table).
o Width : Chi u r ng c a b ng.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 6/68 www.qhonline.info
o Height: Chiêu cao c a b ng.
o Align : Các thu c tính trái, ph i, gi a theo chi u ngang c a b ng
o Valign : Các thu c tính trên, d i, gi a theo chi u d c c a b ng.
o Background : Màu n n c a b ng b'ng 1 hình nh. (ch có tác d&ng trên c t và
b ng).
o Bgcolor : Màu n n b ng b'ng nh ng màu theo thông s (ch có tác d&ng trên c t
và b ng). Ví d&: white, blue, green, red,……
o Cellpadding : Kho ng cách t chân ch n c nh d i.
o Cellspacing : Kho ng cách c a các c nh.
o Rowspan : G p theo dòng
Ví d& :
o Colspan : G p theo c t
Ví d&:
* Các thu c tính c a table phía trên u có th áp d&ng i v i c t (td). Nh ng không th
áp d&ng i v i dòng.
Bài T p Áp D ng: Thi t k 1 b ng b'ng HTML nh hình bên d i :
Th 2 Th 3 Th 4 Th 5 Th 6 Th 7
Toán A1 Anh V n PHP&MYSQLKinh t Chính Tr)
Phòng 301 ASP.NET CCNA V t Lý A1
Yêu c u :
1 – Vi t trên HTML, không dùng b"t k* tool h! tr nào.
2 – Th i gian trong 15 phút
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 7/68 www.qhonline.info
III– T o Form nh p li u trong HTML :
Form nh p li u c dùng l"y d li u t phía ng i truy c p, khách hàng,….Thông
qua h th ng website. Cú pháp c b n c a Form c ng có th$ b t u và k t thúc :
Cú pháp chính :
<form method="POST" action="link" name=”Tên”>
N i dung c a form
</form>
+ Method : Là ph ng th c truy n nh n d li u. G#m 2 ph ng th c là POST và GET.
+ Action : Là ng d+n n liên k t x( lý form.
+ Name : là tên c a Form ó.
C c"u c a Form bao g#m nh ng thu c tính sau :
1- D ng Text : (Nh nh p h tên, )a ch , s i n Tho i,….)
Cú pháp :
<input type="Thu c tính" name="Tên" size="chi u dài" value="giá tr)">
+ Type : Thu c tính có hai lo i là Text (khi ng i nh p s th"y c n i dung
ang nh p và Password (ng i nh p s không th"y c n i dung ang nh p)
+ Name : tên c a h p nh p li u (ví d&: name, address, phone,…..)
+ Size : Chi u dài c a h p nh p li u.
+ Value: Giá tr) mu n hi n th) (th ng v i h p nh p li u thì ít s( d&ng).
2- D ng V n b n – Textarea : (nh nh p thông tin cá nhân, ghi chú,…..)
Cú pháp :
<textarea name="textarea" cols="45" rows="5" ></textarea>
+ Có th$ b t u và k t thúc.
+ Name: Tên c a h p nh p li u.
+ Cols : c xem là chi u r ng c a h p nh p li u
+ rows: c xem là chi u cao c a h p nh p li u
3- D ng L a Ch n : (nh ch n l a gi i tính nam ho c n )
Cú pháp :
<input type="radio" value="N" name="hot" checked>
+ Type : Radio là )nh d ng dành cho s l a ch n
+ Value : Giá tr) mà chúng ta mu n truy n khi user l a ch n
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 8/68 www.qhonline.info
+ Name : Tên c a )nh d ng l a ch n
+ Thu c tính “checked”. N u add vào s m c )nh ch n l a
Ví d&:
<input type="radio" value="m" name="sex" checked> Male
<input type="radio" value="f" name="sex" > Female
T ví d& trên ta th"y n u trong 1 form ch n l a gi i tính. Thì thu c tính “name”
ph i gi ng nhau. , ây. Thu c tính male c l a ch n m c )nh.
4- D ng Thanh cu n : (nh ch n qu c t)ch Vi t Nam,….)
Cú pháp:
<select size="thông s " name="tên">
<option value="giá tr)" selected>L a ch n </option>
</select>
+ Size : là kích th c c a h p tho i mà b n mu n. Th ng là 1.
+ Name : là tên c a thanh cu n "y.
+ Option: là nh ng thu c tính b n mu n ch n
+ Thu c tính “selected” N u thêm vào s m c )nh ch n l a.
+ Giá tr) : là thông t b n mu n truy n vào khi chúng ta ch n l a.
Ví d&:
<select size="1" name="country">
<option value=”VN” selected>Vi t Nam </option>
<option value=”CN”>Trung Qu c </option>
</select>
, ví d& này chúng ta th"y. Vi t Nam là qu c gia c l a ch n.
5- D ng Ch n Nhi u : (nh b ng ánh d"u s% thích: music, sport, game,…..)
Cú Pháp:
<input type="checkbox" name="tên" value="giá tr)">
+ Type= Checkbox là )nh d ng c a h p tho i
+ Tên : là tên c a m&c ch n l a
+ Giá tr): Là thông s c n truy n vào.
6- D ng Nút Nh n : (nh ch"p nh n ho c làm l i,…..)
Cú pháp :
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 9/68 www.qhonline.info
<input type="L a ch n" value="Giá tr)" name="Tên">
Type có hai lo i chính là : submit bà reset
+ Submit cho phép g%i d li u lên trình duy t x( lý.
+ Reset : xóa toàn b d li u t các form trên.
Giá tr): là tên hi n th) trên nút
Tên : là tên c a nút nh"n.
Bài t p Áp D ng :
Vi t l nh hi n th) 1 form nh bên d i :
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 10/68 www.qhonline.info
IV- Các th nâng cao:
1- T o ch ch y :
Cú pháp c b n : <Marquee> N i Dung </Marquee>
Mô t : V n b n n'm gi a hai th$ này s di chuy n tu* theo các giá tr) thu c tính c
thi t l p. M t s thu c tính c a Marquee là:
Direction: Có giá tr) b'ng Left ho c Right là h ng chuy n ng c a v n b n.
ScrollDelay: Giá tr) nguyên d ng này là s mili giây v n b n ng ng tr c khi chuy n
ng ti p. Giá tr) càng nh-, chuy n ng càng nhanh.
Behavior: Lo i chuy n ng c a text. Scroll, Slide, Alternate
Align With text: o n v n b n c canh ch nh trong vùng di n tích c a marquee. Có 3
giá tr): Top, Middle, Bottom.
Loop: Giá tr) nguyên thi t l p s chu k* chuy n ng c a o n v n b n.
Ví d& :
<Marquee align="middle" direction="right" scrolldelay="60">
Chào m ng b n ã n website c a chúng tôi
</Marquee>
2 – S d ng Frame:
B'ng cách dùng frame (khung), ta có th ng t trang web thành các vùng riêng bi t (c(a
s ) và th hi n các t p tin HTML khác nhau trong m!i vùng. V i cách này, m!i vùng có
th chuy n sang trang web khác trong khi các vùng khác v+n không thay i.
Cú pháp c b n :
<iframe src=”URL” Name=”Tên” Frameborder=”Thông s ” height=”Thông s ”
width=”thông s ” scrolling=”Thông s ” allowtransparency> </iframe>
SRC : URL c a trang mu n hi n th).
Name : Tên c a frame
Frameborder : ng vi n c a frame (th ng là 0 ho c 1)
Height : chi u cao c a frame
Width : Chi u r ng c a frame.
Scrolling : Hi n th) thanh tr t (có 3 thu c tính là “No”, “Yes”, “Auto”).
Allowtransparency: Cho phép background c a frame trong su t.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 11/68 www.qhonline.info
Ví d& :
<iframe src=”test_page.html” Name=”test_frame” Frameborder=”0” height=”300”
width=”300” scrolling=”No” allowtransparency></iframe>
3- T o danh sách:
HTML có m t t p các th$ cho phép t o ra các danh sách d ng phân c"p. Có hai d ng
danh sách: không có th t và có th t . Các danh sách không có th t là danh sách
d ng nút, trong khi ó danh sách có th t th ng là danh sách có ánh s . Ta c ng có
th k t h p hai lo i này t o ra danh sách ph c t p h n.
a) Danh sách có th t :
Các m&c c a m t danh sách có th t c hi n th) v i các con s thay vì các nút. S(
d&ng th$ <OL> (Order List) thi t l p m t danh sách có th t , nh c th hi n trong
o n mã sau. Hình nh th hi n cách mà trình duy t hi n th) o n mã này.
Cú Pháp : <OL type=”[a] [i] [I]”> </OL>
Ví d& :
<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 sách không có th t :
Cú pháp : <UL type=”[square] [cicle] [disc]”> </UL>
Ví d& :
<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>
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 12/68 www.qhonline.info
4- S d ng th <DIV>:
DIV c xem nh là các th$ ch a (th$ mang). Chúng r"t h u d&ng trong vi c phân chia
các kh i v n b n v i ph n xung quanh nó mà không làm nh h %ng n )nh d ng c a
riêng nó. Các th$ này th ng c dùng v i các )nh d ng style sheet CSS và ang c
a chu ng trong thi t k layout c a nh ng trang web ph c t p.
Ví d& :
Here is <DIV STYLE="font:bold 14pt">some text</DIV> in a DIV.
V- CASCADING STYLE SHEET (CSS)
)nh ngh a v b ng ki u x p ch#ng (css) s( d&ng tách bi t format trang và n i dung
c a trang web. V i CSS, ta có th bi n i m i th t kích c., ki u, màu s c c a v n b n
cho n kho ng cách gi a các ch cái và các dòng, ng biên và ph n m xung quanh
ph n t(, v) trí chính xác c a i t ng trên trang.
1- nh ngh a tr c ti p :
B ng ki u toàn c&c (ho c b ng ki u c nhúng vào) c kèm theo nh là m t ph n c a
h# s HTML. Lo i b ng ki u này xác )nh biên gi i c a nó b'ng th$ m% <STYLE> và
th$ óng </STYLE>, nó th ng c t trong ph n head c a trang HTML.
Ví d&:
<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>
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 13/68 www.qhonline.info
Hi n Th) :
Mô t thu c tính :
Color: màu ch
Font-size : Kích th c c a ch
Font-style : )nh d ng ch (italic : Nghiêng, blod: in m, underline: g ch d i).
Font-family: Ki u ch
Background-color : màu n n
Text –decoration: )nh d ng link.
+ None : không )nh d ng gì c
+ Underline: g ch d i liên k t.
+ Overline: g ch trên liên k t
2- nh ngh a gián ti p:
Kh n ng )nh d ng c c p trong nh ng ph n tr c không ch d ng l i % m c
c a m t trang web n mà còn có th ki m soát ki u trên nhi u trang web hay có th trên
toàn b website b'ng cách s( d&ng b ng ki u liên k t. M t b ng ki u liên k t (hay b ng
ki u bên ngoài) ch n gi n là m t t p tin v n b n, bao g#m nh ng )nh ngh a ki u. T p
tin này c l u v i ph n m% r ng là CSS. T p này (n'm ngoài t p tin HTML) có th
c tham chi u ho c liên k t b%i v n b n HTML b'ng cách s( d&ng th$ <LINK> c a
trang HTML.
Ví d&: u tiên, s( d&ng notepad so n th o t p tin có n i dung nh 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}
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 14/68 www.qhonline.info
L u t p tin v i tên b"t k* có ph n m% r ng là CSS (ví d&: style.css). C ng c n chú ý
r'ng, b ng ki u liên k t này không kèm theo các thành ph n <Style> và </Style> (t c
trong file CSS không có các th$ này).
Bây gi t p tin t o m t file HTML ch a m t liên k t n b ng ki u bên ngoài ã )nh
ngh a.
Ví d&:
<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í d& này t p tin s( d&ng th$ <LINK> trong ph n u c a h# s HTML. Th$ này
ch a thu c tính HREF xác )nh v) trí c a t p tin ích. Thu c tính REL s )nh rõ r'ng
liên k t này là m t tham chi u n m t b ng ki u và thu c tính TYPE )nh rõ lo i b ng
ki u. Th i i m hi n t i thì text/css là lo i b ng ki u c h! tr ph bi n và duy nh"t.
B ng ki u liên k t có nh h %ng t i h# s HTML gi ng nh b ng ki u toàn c&c (b ng
ki u nhúng). M i ph n t( trong h# s HTML mà th$ c a chúng c )nh ngh a trong t p
tin style.css s c th hi n b'ng cách s( d&ng ki u ã c xác )nh.
Vì không n'm trong b"t k* t p tin HTML c bi t nào, nên b ng ki u liên k t ngoài có
th c liên k t v i s l ng h# s không gi i h n. Ví d&, t p tin có th t o b ng ki u
cho toàn b Website và liên k t t ng trang v i b ng ki u ó. Kh n ng này r"t h u ích
khi t p tin mu n duy trì cách th hi n, c ng nh cách c m nh n nh"t quán trên toàn b
website. Nó c ng r"t ti n l i khi mu n thay i cách th hi n t ng th c a Website.
3- nh Ngh a Trên 1 L p:
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 15/68 www.qhonline.info
Là m t bi n )nh ngh a format c a các thu c tính trong các th$ nh ng m i th$ u có th
dùng c.
Cú pháp : .tênl p {các thu c tính}.
Ví d&:
<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>
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 16/68 www.qhonline.info
Ph n B: PHP & MYSQL
Bài 1: T ng Quan V PHP
I - Gi i thi u v PHP.
PHP (Hypertext Preprocessor) là ngôn ng script trên server c thi t k d dàng xây
d ng các trang Web ng. Mã PHP có th th c thi trên Webserver t o ra mã HTML
và xu"t ra trình duy t web theo yêu c u c a ng i s( d&ng.
Ngôn ng PHP ra i n m 1994 Rasmus Lerdorf sau ó c phát tri n b%i nhi u ng i
tr i qua nhi u phiên b n. Phiên b n hi n t i là PHP 5 ã c công b 7/2004.
Có nhi u lý do khi n cho vi c s( d&ng ngôn ng này chi m u th xin nêu ra ây m t s
lý do c b n :
- Mã ngu#n m% (open source code)
- Mi n phí, download d dàng t Internet.
- Ngôn ng r"t d h c, d vi t.
- Mã ngu#n không ph i s(a l i nhi u khi vi t ch y cho các h i u hành t
Windows, Linux, Unix
- R"t n gi n trong vi c k t n i v i nhi u ngu#n DBMS, ví d& nh : MySQL,
Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase, Empress,
FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhi u h th ng
CSDL thu c H i u Hành Unix (Unix dbm) cùng b"t c DBMS nào có s h tr
c ch ODBC (Open Database Connectivity) ví d& nh DB2 c a IBM.
S v l p trình server side c a PHP.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 17/68 www.qhonline.info
• 1: Trình duy t g(i yêu c u t i trang PHP.
• 2: Web server g(i các yêu c u ó t i trình thông d)ch PHP.
• 3-4: Trình thông d)ch PHP th c thi các an mã PHP. Quá trình này có th
liên quan n nhi u tài nguyên nh filesystem, database...
• 5: K t qu c a quá trình thông d)ch là các mã HTML c tr v cho Server..
• 6: Server g(i mã k t qu HTML v l i trình duy t.
II- Ki n Th c C b n
1- Cú pháp chính :
PHP c ng có th$ b t u và k t thúc gi ng v i ngôn ng HTML. Ch khác, i v i PHP
chúng ta có nhi u cách th hi n.
Cách 1 : Cú pháp chính:
<?php Mã l nh PHP ?>
Cách 2: Cú pháp ng n g n
<? Mã l nh PHP ?>
Cách 3: Cú pháp gi ng v i ASP.
<% Mã l nh PHP %>
M c dù có 3 cách th hi n. Nh ng i v i 1 l p trình viên có kinh nghi m thì vi c s(
d&ng cách 1 v+n là l a chon t i u.
Trong PHP k t thúc 1 dòng l nh chúng ta s( d&ng d"u “;”
chú thích 1 o n d li u nào ó trong PHP ta s( d&ng d"u “//” cho t ng dòng. Ho c
dùng c p th$ “/*……..*/” cho t ng c&m mã l nh.
Ví d&:
<?
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- Xu t d li u ra trình duyêt
xu"t d li u ra trình duy t chúng ta có nh ng dòng cú pháp sau :
+ Echo “Thông tin”;
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 18/68 www.qhonline.info
+ Printf “Thông tin”;
Thông tin bao g#m : bi n, chu!i, ho c l nh HTML ….
Ví d& :
<?php
Echo “Hello word”;
Printf”<br><font color=red>Who Are You ?</font>”;
?>
N u gi a hai chu!i mu n liên k t v i nhau ta s( d&ng d"u “.”
Ví d& :
<?php
Echo “Hello”.”who are you ?”;
?>
3- Khái ni m bi n, h ng, chu i và các ki u d li u.
a) Bi n trong PHP.
Bi n c xem là vùng nh d li u t m th i. Và giá tr) có th thay i c. Bi n c
b t u b'ng ký hi u “$”. Và theo sau chúng là 1 t , 1 c&m t nh ng ph i vi t li n ho c
có g ch d i.
1 bi n c xem là h p l khi nó th-a các y u t :
+ Tên c a bi n ph i b t u b'ng d"u g ch d i và theo sau là các ký t , s hay d"u g ch
d i.
+ Tên c a bi n không c phép trùng v i các t khóa c a PHP.
Trong PHP s( d&ng 1 bi n chúng ta th ng ph i khai báo tr c, tuy nhiên i v i các
l p trình viên khi s( d&ng h th ng x( lý cùng m t lúc các công vi c, ngh a là v a khái
báo v a gán d li u cho bi n.
B n thân bi n c ng có th gãn cho các ki u d li u khác. Và tùy theo ý )nh c a ng i
l p trình mong mu n trên chúng.
M t s ví d& v bi n :
$a= 100 // bi n a % ây có giá tr) là 100.
$a= “PHP is easy” // Bi n a % ây có giá tr) “PHP Is easy”.
Biena=123 //Có l!i vì b t u 1 bi n ph i có d"u “$”
$123a=”PHP” //Có l!i vì ph n tên b t u c a bi n là d ng s .
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 19/68 www.qhonline.info
b) Khái ni m v h ng trong PHP.
N u bi n là cái có th thay i c thì ng c l i h'ng là cái chúng ta không th thay i
c. H'ng trong PHP c )nh ngh a b%i hàm define theo cú pháp: define (string
tên_h'ng, giá_tr)_h'ng ).
C ng gi ng v i bi n h'ng c xem là h p l thì chúng ph i áp ng 1 s y u t :
+ H'ng không có d"u “$” % tr c tên.
+ H'ng có th truy c p b"t c v) trí nào trong mã l nh
+ H'ng ch c phép gán giá tr) duy nh"t 1 l n.
+ H'ng th ng vi t b'ng ch in phân bi t v i bi n
Ví d& :
define (“C”, “COMPANY”);
define (“YELLOW”, “#ffff00”);
c) Khái ni m v chu i:
Chu!i là m t nhóm các k/ t , s , kho ng tr ng, d"u ng t c t trong các d"u nháy.
Ví d&:
‘Huy’
“welcome to VietNam”
t o 1 bi n chu!i, chúng ta ph i gán giá tr) chu!i cho 1 bi n h p l .
Ví d&:
$fisrt_name= “Nguyen”;
$last_name= ‘Van A’;
liên k t 1 chu!i và 1 bi n chúng ta th ng s( d&ng d"u “.”
Ví d&:
<?php
$test=”VietNam”;
echo “welcome to”.$test;
echo “<br><font color=red>welcome to”.$test.”</font><br>”;
?>
d) Ki u d li u trong PHP
Các ki u d li u khác nhau chi m các l ng b nh khác nhau và có th c x( lý theo
cách khác nhau khi chúng c theo tác trong 1 script.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 20/68 www.qhonline.info
Trong PHP chúng ta có 6 ki u d li u chính nh sau :
Ki u D Li u Ví d Mô T
Integer 10 M t s nguyên
Double 5.208 Ki u s th c
String “How are you ?” M t t p h p các ký t
Boolean True or False Giá tr) true ho c false
Object H ng i t ng trong PHP
Array M ng trong PHP, ch a các ph n t(.
Chúng ta có th s( d&ng hàm d ng s0n gettype() c a PHP4 ki m tra ki u c a b"t k*
bi n.
Ví d&:
<?php
$a= 5;
Echo gettype($a); // Integer.
$a=”<br>”;
Echo gettype($a); //String
?>
III- T ng K t:
Sau bài này các b n ã có nh ng khái ni m u tiên v PHP, các cú pháp, các ki u d
li u, và cách làm vi c v i môi tr ng PHP nh th nào. , bài sau, chúng ta s ti p t&c
ti p c n v i các thu t toán và cú pháp PHP m t cách rõ ràng và quen thu c trong các
ngôn ng l p trình.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 21/68 www.qhonline.info
Bài 2 : Toán T( Và Bi u Th c
I – Toán t c b n.
1- Toán t gán:
Chúng ta ã t ng ti p xúc v i toán t( này b%i vi c kh%i t o 1 bi n. Nó g#m ký t n =.
Toán t( gán l"y giá tr) c a toán h ng bên ph i gán nó vào toán h ng bên trái.
Ví d&: $name = “Johny Nguyen”;
2- Toán t s h c:
Ta có b ng các phép toán s h c nh sau:
Toán T Lý gi i Ví d K t qu
+ C ng hai s h ng 10+8 18
- Tr hai s h ng 10-8 2
* Nhân hai s h ng 10*8 80
/ Chia hai s h ng 10/3 3.33333333
% Tr v s d 10%3 1
3- Toán t so sánh:
Ta có các phép so sánh c b n nh sau:
Phép Toán Tên Gi i Thích Ví D
= = B'ng Hai s h ng b'ng nhau $a= =5
!= Không b'ng Hai s h ng không b'ng nhau $a != 5
= = = #ng nh"t Hai s b'ng nhau và cùng ki u $a = = = 5
> L n h n V trái l n h n v ph i $a > 5
>= L n h n ho c b'ng V trái l n h n ho c b'ng v ph i $a >= 5
< Nh- h n V trái nh- h n v ph i $a < 5
<= Nh% h n ho c b'ng V trái nh- h n ho c b'ng v ph i $a <= 5
4- Toán t logic
Toán t( logic là các t h p các giá tr) boolean. Ví d&: toán t( or tr% v true n u toán t(
trái ho c toán t( ph i là true.
True || false true.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 22/68 www.qhonline.info
Ta có b ng các toán t( nh sau:
Toán T( Tên Tr v True N u Ví d& K t qu
|| Or V trái ho c v ph i là True True || false True
Or Or V trái ho c v ph i là True True || false True
Xor Xor V trái ho c v ph i là True
nh ng không ph i c hai
True || True False
&& And V trái và v ph i là true True && false False
And And V trái và v ph i là true True && false False
! Not không ph i là true !true False
5- Phép gán k t h p:
Khi t o mã PHP, chúng ta s th ng nh n th"y c n ph i t ng ho c gi m l ng bi n m t
s nguyên nào ó. B n s th ng th c hi n i u này khi chúng ta m 1 giá tr) nào ó
trong vòng l p.
Phép Toán Ví d Lý Gi i
++ $a++ B'ng v i $a= $a + 1
-- $a-- B'ng v i $a= $a – 1
+= $a+=$b B'ng v i $a= $a + $b
-= $a-=$b B'ng v i $a= $a - $b
*= $a*=$b B'ng v i $a= $a * $b
/= $a/=$b B'ng v i $a= $a / $b
II- Các bi u th c c b n:
1- Bi u th c i u ki n:
Cú pháp:If( i u ki n)
{
hành ng
}
Ví d&:
<?php
$a=5;
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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- Vòng l p trong PHP:
a) While…..
Cú pháp:
While( i u ki n)
{
Hành ng – th c thi
}
Ví d&:
<?php
$a=1;
While($a < 10)
{
Echo “gia tri $a la”;
$a++;
}
?>
Bài t p áp d&ng:
1- Vi t 1 trang web xu"t ra giá tr) t 1->20. V i )nh d ng font màu -, ki u
Tahoma, canh ph i.
2- Vi t 1 trang web có giá tr) t 1->20. Hãy xu"t ra trình duy t nh ng s ch0n n'm
trong kho ng 1->20 ó.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 24/68 www.qhonline.info
áp Án:
Câu 1:
<?php
$a=1;
while($a <= 20)
{
echo "<br>$a";
$a++;
}
?>
Câu 2:
<?php
$a=1;
while($a <= 20)
{
if($a%2==0)
echo "<br>$a";
$a++;
}
?>
b) Do......while:
Cú pháp:
Do
{
Hành ng th c thi
}while( i u ki n)
Ví d&:
<?php
$a=5;
do{
echo "day la gia tri cua $a";
$a++;
}while($a >6)
?>
c) For…..Loop
Cú pháp:
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 25/68 www.qhonline.info
For( giá tr) ; i u ki n ; bi n t ng ho c gi m)
{ Hành ng }
Ví d& :
<?php
$a=2;
for($i=1; $i<=10; $i++)
{
echo"$a x $i =".$a*$i."<br>";
}
?>
Bài t p ví d&:
Xây d ng 1 website th-a yêu c u xu"t ra b ng c(u ch ng t 2 10.
áp á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) Phát bi u switch:
Cú pháp:
Switch(bi n)
{
Case giá tr) 1: Hành ng; Break;
…………
Case giá tr) N: Hành ng; Break;
Default: Hành ng; Break;
}
Ví d&:
<?php
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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 – T ng k t:
K t thúc bài h c này, các b n ít nhi u ã n m c nh ng thu c tính c b n c a các
phép toán h c trong PHP, ngoài ra chúng ta c ng t ng b c hi u c cú pháp c a
t ng bi u th c.
i v i các vòng l p, chúng ta c n hi u và v n chúng m t cách linh ho t và m m
d$o, phân bi t c while và do…while. S( d&ng hàm switch trong tr ng h p có
quá nhi u giá tr) if…else tr v .
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 27/68 www.qhonline.info
Bài 3: M ng Trong PHP (Array)
I- Nh ng khái ni m c b n:
Chúng ta có th t o 1 mãng v i các ph n t( không #ng nh"t v m t d li u. ây là
m t u i m c a PHP so v i các lo i ngôn ng khác nh C++ hay Java
1- Cách kh i t o :
có nhi u cách
$countries[] = “cr”;
$countries[] = “de”;
$countries[] = “ca”;
L u ý : gi a tên bi n mãng và d"u [] không c cách kho ng tr ng mà ph i vi t li n
v i nhau, n u không khi l p trình CT s không báo l!i nh ng s cho k t q a sai.
Ch s m c )nh trong kh%i t o mãng n u không ch )nh c& th s là b t u t 0, 1,
2... ho c chúng ta s vi t t ng minh h n nh sau :
$countries[0] = “cr”;
$countries[1] = “de”;
$countries[2] = “ca”;
Chúng ta c ng có th kh%i t o mãng 1 cách không tu n t nh sau :
$countries[50] = “cr”;
$countries[20] = “de”;
$countries[10] = “ca”;
$countries[] = “uk”; // s mang ch s là 51
Ho c :
$countries = array (“cr”, “de”, “us”);
echo ($countries[2]); // s in ra “us”
N u mu n l"y ch s u là 1 ta kh%i t o nh sau :
$countries = array (1=> “cr”, “de”, “us”);
echo ($countries[2]); // s in ra “de”
Toán t( => có th thay i v) trí
ví d& :
$countries = array (“cr”, 7=>“de”, “us”); /* index 0 là “cr”, index 7 là “de”,
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 28/68 www.qhonline.info
index 8 là “us” */
m s ph n t( c a mãng ta dùng hàm count, nh ví d& % trên n u ta ghi
echo (count ($countries)); // s in ra 3
2- i v i các mãng lo i tu n t :
Ta có th in ra theo o n CT sau:
ví d& :
$countries = array (“cr”, “de”, “us”);
$num_elements = count ($countries);
for ($idx = 0; $idx < $num_elements; $idx++) {
echo (“$countries[$idx]” . “<BR>”);
}
3- i v i các mãng lo i không tu n t :
Cách 1 :
ví d& :
$countries[50] = "cr";
$countries[20] = "de";
$countries[10] = "us";
$countries[] = "uk";
reset ($countries); /* a pointer c a mãng v v) trí khai báo u tiên là index 50 */
while (list ($key, $value) = each ($countries)) {
echo ("Element $key equals $value <BR>"); /* L n l t hi n th) theo th t ã khai
báo ban u là index 50, k ti p là index 20 r#i index 10, cu i cùng là index 51 */
}
C ch list () : Gán ch s index c a mãng cho i s th nh"t c a list là $key, giá tr)
t ng ng v i ch s index ó c a mãng cho i s th hai c a c ch
list () là $value
each () : C m!i l n c g i s di chuy n pointer c a mãng n thành ph n k ti p
c a mãng, gán ch s index c a mãng cho $key và giá tr) t ng ng v i ch s index
ó c a mãng cho $value c a c ch list ().
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 29/68 www.qhonline.info
Cách 2 :
Ví d& :
function println ($s) {
echo (“$s <BR>”);
}
$countries = array (“ca”, “cr”, “de”, “us”);
array_walk ($countries, println);
4- Mãng có ch s là ki u chu!i:
Ví d& :
$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- Mãng nhi u chi u:
Ví d& :
$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”
s # bi u di n mãng 2 chi u % trên nh sau :
$continents[“europe”] $continents[“north america”]
[0] [1] [0] [1] [2]
“de” “uk” “ca” “cr” “us”
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 30/68 www.qhonline.info
Phép duy t cho mãng % trên c th c hi n nh sau :
ví d& :
while (list ($key1) = each ($continents)) {
echo (“$key1 : <BR>”);
while (list ($key2, $value) = each ($continents[“$key1”])) {
echo (“- $value<BR>”);
}
}
II- Các hàm s p x p trên m ng:
Quy lu t chung trong s p x p m ng, chúng u tiên s p s tr c, k n là các ký t
d"u, r#i m i n các ký t ch , s p
x p theo alphabetical
1- Khi ch s (index) là s :
Hàm sort () :
Ví d& :
$countries = array (“us”, “uk”, “ca”, “cr”, “de”);
sort ($countries);
while (list ($key, $value) = each ($countries)) {
echo ("Element $key equals $value <BR>");
}
s hi n th ra nh sau :
Element 0 equals ca
Element 1 equals cr
Element 2 equals de
Element 3 equals uk
Element 4 equals us
* Ghi Chú: s p x p giá tr) t ng theo alphabetical, ch s index b t u t 0.
2- Khi ch s (index) là chu i :
Hàm asort () :
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 31/68 www.qhonline.info
Ví d& :
$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>");
}
K t qu :
Element ca equals Canada
Element cr equals Costa Rica
Element de equals Germany
Element uk equals United Kingdom
Element us equals United States
hàm asort () gi nguyên ch s chu!i, ch s p x p trên giá tr) chu!i c a ch s chu!i
t ng ng.
Các hàm rsort () và arsort () cách th c s( d&ng gi ng nh hàm sort () và asort ()
nh ng s p x p theo h ng ng c l i v i tr t t tr c ó.
3- S p x p t ng d n theo ch s (index) :
Hàm ksort () :
Ví d& :
$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>");
}
K t qu :
Element a equals Germany
Element b equals Costa Rica
Element c equals Canada
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 32/68 www.qhonline.info
Element d equals United Kingdom
Element e equals United States
L u ý : không có hàm s p x p gi m d n theo ch s (index), mu n s p x p nh th ta
s( d&ng hàm ksort (), r#i sau ó s( d&ng hàm arsort () t c m&c ích nêu trên.
4- Hàm s p x p theo quy nh tr c c a ng !i s d ng:
a) Ch liên quan n giá tr) t ng ng v i ch s (index) :
Hàm usort () : không gi l i ch s (index) c
Ví d& :
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>");
}
K t qu :
Element 0 equals Canada
Element 1 equals Germany
Element 2 equals Costa Rica
Element 3 equals United States
Element 4 equals United Kingdom
Vi c s( d&ng hàm usort () trong s p x p cho phép ng i s( d&ng a vào quy )nh
s p x p c a riêng h nh trong ví d& trên là v chi u dài c a câu: câu ng n % trên, câu
dài % d i, nh ng hàm usort () không gi l i c ch s (index) nguyên th y nh lúc
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 33/68 www.qhonline.info
ban u c a mãng, mu n gi nguyên ch s (index) nh lúc ban u ta hãy s( d&ng
hàm uasort ().
b) Ch liên quan n vi c s p x p ch s (index) theo quy )nh tr c b%i ng i s(
d&ng : ta s( d&ng hàm uksort () (cách s( d&ng thì t ng t nh hàm v a h c % trên)
c) Hàm t o dãy s nguyên ng+u nhiên trong ph m vi t a -> b :
( i u ki n: a : integer, b : integer và a < b)
Ví d& : T o dãy s nguyên ng+u nhiên trong ph m t 1 n 10
$int = range (1, 10);
srand (time ());
suffle ($int);
while (list ( , $num) = each ($int)) {
echo (“$num <BR>”);
}
III – T ng k t:
Qua bài h c này, chúng ta tìm hi u k/ v các thành ph n c a m ng m t chi u, nhi u
chi u và các hàm c b n v x( lý d li u. Hi u rõ c"u trúc m ng, s s p x p #ng b
s giúp ích cho các b n r"t nhi u trong nh ng ng d&ng l n.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 34/68 www.qhonline.info
Bài 4: Hàm Và G i L i Hàm
I- T o Hàm Trong Php:
Ta nên t o các hàm v i lý do: t ng tính nh"t quán, tin c y, gi m th i gian vi t
mã và t ng tính m m d$o cho ch ng trình.
Trong php, hàm (có giá tr) tr v ) và th t&c (không có giá tr) tr v ) u c g i
chung là hàm. )nh ngh a m t hàm c xây d ng b%i ng i s( d&ng nh sau:
function tênhàm([thams 1, tham s 2, ...)
{
//N i dung ph n )nh ngh a c a hàm
}
Trong ó: function: là t khoá.
- Tên hàm: Là m t tên h p l c t theo qui t c nh t tên bi n và không trùng
v i các tên hàm ã xây d ng trong php.
- M t hàm có th có m t hay nhi u tham s hay không có tham s nào. Các tham
s (n u có) s không có kèm theo ki u d li u mà ki u c a nó s tu* thu c vào
giá tr) nh n c khi g i hàm.
- Ph n n i dung hàm n'm trong c p d"u bao kh i {}.
- Hàm s nh n giá tr) tr v thông qua phát bi u return giátr).
- return; s thoát kh-i hàm và không tr v giá tr) nào.
- return bi uth c; s thoát kh-i ch ng trình và tr v giá tr) bi uth c.
- Hàm có th t b"t c v) trí nào trong trang và ch c thi hành khi ta th c hi n
g i hàm.
Ví d&: Vi t hàm ki m tra xem m t s có ph i là s nguyên t hay không. Hàm s
nh n giá tr) tr v : true hay false t ng ng v i tham s nh n vào là s nguyên t hay
không.
<?
//Hàm có giá tr) tr v : true/false.
function IsNguyenTo($num)
{
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 35/68 www.qhonline.info
for($i=2; $i<$num; $i++)
if ($num % $i==0) return false;
return true; }
// Hàm không có giá tr) tr v . K t qu in ngay trong hàm
function IsNguyenTo2($num)
{
$i=2;
$nto = 1;
while ($i<$num)
{
if ($num % $i==0)
{
$nto = 0;
break; //Thoát kh-i 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>";
//Duy t qua các ph n t( trong m ng
for ($i=0; $i<9; $i++)
//Truy n tham s và g i hàm.
if (IsNguyenTo($ArrNum[$i]))
echo "| ". $ArrNum[$i];
echo "<br>";
for ($i=0; $i<9; $i++)
IsNguyenTo2($ArrNum[$i]);
?>
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 36/68 www.qhonline.info
II- Truy n Các Giá Tr M c nh:
Các hàm trong php có th nh n các tham s m c )nh. Các tham s m c )nh khi )nh
nghiã hàm, chúng c gán giá tr). $thams = giátr). Các hàm có tham s m c )nh
nên chuy n các tham s m c )nh sang ph i.
function tênhàm($thams _1, $thams _2 = gíatri_2, $thams _3=giátr)_3)
Các tham s $thams _2 và $thams _3 là các giá tr) m c )nh. Khi g i hàm, n u ta ch
truy n 1 giá tr) cho hàm thì giá tr) ó là c a $thams _1. Các tham s $thams _2 và
$thams _3 nh n các giá tr) là gíatri_2 và giátr)_3.
Ví d&: Hàm function F($num1, $num2 = 5) {…} ta s g i F(3) 1 F(3, 5).
III- Truy n Tham Bi n Và Tham Tr :
T"t c các ví d& tr c, t"t c vi c truy n bi n u là tham tr). truy n tham bi n
(bi n c truy n có th thay i n i dung khi ra kh-i hàm), khi g i hàm, ta t thêm
d"u & tr c bi n c n truy n tham bi n.
Ví d&:
<? 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;
//G i hàm tham tr).
F($a, $b);
echo " <br>2. Ngoai ham F(), a = " .$a." va b= " .$b;
//G i hàm v i bi n $a là tham bi n
F(&$a, $b);
echo " <br>3. Ngoai ham F() a = " .$a." va b= " .$b;
?>
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 37/68 www.qhonline.info
K t qu :
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- T m v c c a bi n:
M t bi n trong m t hàm ch có ph m vi trong hàm ó. Tuy nhiên, n u trong m t hàm,
ta c n truy c p n m t bi n mà không thông qua truy n tham s qua g i hàm, ta ph i
s( d&ng t khoá global tr c bi n nh minh ho trong ví d& sau: Hàm local_Func có
truy c p n m t bi n ngoài nh ng không s( d&ng t khoá global. Ng c l i hàm
global_Func c ng truy c p n cùng m t bi n value, nh ng tác ng % hai hàm s
khác nhau.
Ví d&:
<?
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();
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 38/68 www.qhonline.info
echo “<p>3. Gtri bien value = “ . $value
?>
K t qu :
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- S d ng l i mã PHP:
s( d&ng l i mã trong nhi u trang web (các script), ta th ng vi t các hàm, )nh
ngh a các h'ng hay các o n mã và l u vào m t file riêng. Khi ó, m t trang php nào
c n s( d&ng các o n mã ã vi t, có th chèn vào v) trí c n thi t. chèn m t file có
s0n vào trang web, ta s( d&ng m t trong b n câu l nh sau: include (filename), require
, include_once, require_once.
Ví d&: <? Include (“functions.php”) ?> s chèn file functions.php t cùng th m&c v i
trang ang vi t vào ngay v) trí t l nh include.
Ví d&: có file includefile.php có n i dung
<?php
echo 'You have included a file';
?>
T o file mainfile.php có n i dung.
<?php
include 'includefile.php';
echo 'I should have included a file.';
?>
File mainfile.php t ng ng v i file có n i dung:
<?php
echo 'You have included a file';
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 39/68 www.qhonline.info
echo 'I should have included a file.';
?>
Khác bi t gi a include, include_once, require, require_once
Include: c file filename vào ngay t i v) trí câu l nh. Tr ng tr ng h p không tìm
th"y file filename, Ch ng trình phát ra c nh báo nh ng v+n ti p t&c th c thi các câu
l nh sau include.
Require: Th c thi gi ng include, tuy nhiên khi không tìm th"y filename, ch ng
trình s không ti p t&c th c thi các câu l nh ti p theo.
Require_once và Include_once: Làm vi c gi ng nh require và include nh ng nó
ch cho phép filename ch c chèn vào trang web m t l n.
VI- T ng k t:
K t thúc bài h c này, h2n các b n ã có nh ng khái ni m c b n v hàm và cách s(
d&ng l i mã PHP. Trên ng d&ng th c t vi c dùng các hàm tri u g i óng vai trò
khá quan tr ng, nó giúp mã ngu#n c a ng i s( d&ng logic và d dàng ch nh s(a h n,
vi c ng d&ng nó trên website nh th nào c ng s tùy bi n h n so v i cách vi t tr c
ti p trên t ng file.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 40/68 www.qhonline.info
Bài 5: Làm Vi c V i Chu!i
I- Nh ng khái ni m c b n:
Trong PHP chu!i c xác )nh theo 3 cách:
+ D"u nháy n : VD: ‘abc’;
+ D"u nháy kép : VD “abc”;
+ Heredoc
Ví d&:
<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
?>
Khuy n khích s( d&ng ki u nháy kép vì nó h! tr nhi u ký t c bi t h n ki u nháy
n.
1- Ph "ng th c n i chu i và ký t c bi t trong PHP:
n i 2 chu!i v i nhau, PHP cho phép ng i s( d&ng dùng cú pháp: d"u (.) n i
hai chu!i v i nhau thành 1 chu!i dài h n.
Ví d&:
<?php
$a=”abc”;
Echo “12345 ”.$a. “mnb”;
?>
x( lý nh ng ký t l trong chu!i nh d"u “ ho c $, PHP cung c"p cho ta 1 ph ng
th c x( lý hi u qu . ó là thêm d"u “” sau m!i giá tr).
Ví d&:
<?php
Echo “gia tri $a trong PHP that “de hieu” phai khong nao”;
?>
Ta có b ng ký t sau:
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 41/68 www.qhonline.info
n Ký t xu ng dòng
r Tr% v u dòng
t Ký t tab
 backslash
$ dollar sign
" double-quote
II- Các hàm v chu i c b n:
1- Hàm substr() :
cú pháp : string substr (string source, int begin, int length);
tr v 1 chu!i con trong chu!i c n l"y, i s th 3 là tùy ch n, v) trí u tiên c a
chu!i c tính là v) trí 0.
ví d& 1:
echo (substr (“christopher”, 1)); // in ra “hristopher”
echo (substr (“christopher”, -2)); // in ra “er”
//N u i s th hai là s âm nó s m t cu i chu!i ng c l i phía tr c s ký t
b'ng v i giá tr) tuy t i c a s âm ó.
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 “” chu!i r!ng
2- Hàm strlen():
cú pháp : int strlen (string str);
xác )nh chi u dài c a chu!i
Ví d& :
echo (strlen (“Christopher”)); // in ra s 11
3- Hàm thay #i ki u ch :
+ Hàm strtoupper () : i ch th ng thành hoa
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 42/68 www.qhonline.info
ví d& : strttoupper (“toi”); // in ra “TOI”
+ Hàm strtolower () : i ch hoa thành th ng
ví d& : strlower (“TOI”); // in ra “toi”
+ Hàm ucfirst () : i ch in ký t u tiên c a câu
ví d& : ucfirst (“in house”); // in ra “In house”
+ Hàm ucwords () : i ch in ký t u tiên c a m!i t
ví d& : ucwords (“in house”); // in ra “In House”
4- Hàm so sánh chu i:
Có th dùng toán t( so sánh = = (b'ng), !=, <, <=, >, >=, === so sánh các chu!i.
Ngoài ra, ta còn có m t s ph ng th c so sánh chu!i nh sau:
Các hàm strcmp(), strcasecmp(), strnatcmp() s so sánh các chu!i theo phép so sánh
t i n.
Hàm int strcmp(string S1, string S2): So sánh 2 chu!i S1, S2 có phân bi t
hoa/th ng. Hàm này tr v giá tr) >0 n u S1>S2, 0 n u S1=S2 và giá tr) <0 n u
S1<S2. Nói chung hàm này có th s( d&ng gi ng toán t( so sánh trong bi u th c.
Hàm int strcasecmp(string S1, string S2): Gi ng hàm strcmp() nh ng không phân bi t
ch hoa và ch th ng.
Ví d&
<?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)
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 43/68 www.qhonline.info
echo “$var1 = $var2”;
?>
K t qu hi n th :
Length Hello:5
Hello = hello in a case-insensitive
Hello < hello
5- Hàm tìm ki m và thay th chu i:
+ Tìm ki m chu!i bên trong chu!i : tìm ki m 1 chu!i bên trong 1 chu!i khác, b n
có th s( d&ng 1 trong 3 hàm strstr (), strchr (), strrchr () hay stristr (), các hàm trên s
tr v chu!i str1, n u tìm th"y chu!i str1 trong chu!i str2, ng c l i hàm tr v giá tr)
false, n u có nhi u chu!i con str1 trong str2, thì hàm này ch tìm ki m chu!i str1 u
tiên.
Hàm strstr () :
cú pháp : string strstr (string str1, string str2);
ví d& :
<?php
$str = “Your customer service is excellent”;
echo (strstr ($str, “is”) . “<BR>”); // is excellent
?>
+ Hàm t o chu!i con:Hàm string substr (string S, int start [, int length]): tr v
chu!i con c thành l p t( chu!i S v i các tham s start và length. N u start >=0:
s tr v chu!i b t u t v) trí start trong S.
Ví d&:
<?php
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
?>
N u start <0: s tr v chu!i b t u t v) trí start c a S tính t cu i chu!i.
<?php
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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"
?>
N u length >=0 (giá tr) m c )nh là 0), chu!i tr v có chi u dài length ký t tính t
v) trí start.
N u length < 0: Chu!i tr v chu!i t start t i v) trí k t thúc cách cu i chu!i length ký
t .
+ Hàm thay th chu!i con :
Hàm str_replace () :
Cú pháp : string str_replace (string str1, string str2, string str);
Hàm thay th chu!i S1 b'ng chu!i S2 trong chu!i S. Trong tr ng h p có nhi u S1
trong S, t"t c các S1 u c thay b%i S2 (thay th t"t c ).
<?php
$bodytag = str_replace ("%body%", "black", "<body text=%body%>");
//$bodytag = "<body text=%body%>”
?>
Hàm substr_replace () :
Cú pháp : string substr_replace (string str, string replacement, int start, int [length]);
Hàm này s thay th chu!i str b'ng chu!i replacement, ph n nào c a chu!i str c
thay th s tùy thu c vào 2 tham s là start và length.
+ start : v) trí b t u c a chu!i thay th replacement trong chu!i str
N u start >= 0 : v) trí thay th s c tính t u chu!i tr% i, start tính b'ng n v)
ký t (v) trí th nh"t c a chu!i là 0).
N u start < 0 : Nó s c tính b t u t cu i chu!i.
+length : là tham s tùy ch n, cho bi t i m d ng vi c thay th . N u không có i s
này thì vi c thay th s là t v) trí start n cu i chu!i.
N u length = 0 : vi c thay th s là chèn vào v) trí start và ký t tr c start
N u length > 0 : cho bi t s ký t mà b n mu n thay th v i replacement
N u length < 0 : cho bi t i m k t thúc vi c thay th tính t v) trí cu i chu!i tr% l i
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 45/68 www.qhonline.info
Các hàm c gi i thi u phía trên là nh ng hàm thông d&ng và th ng s( d&ng.
bi t thêm thông tin nhi u hàm h n, các b n có th truy c p vào website : php.net
l"y thông tin y v các hàm trong chu!i.
III- T ng k t:
, bài này chúng ta ã làm tìm hi u k/ v ki u d li u chu!i, nh ng hàm ph& tr quan
tr ng trong vi c l p trình ng d&ng nh tìm ki m, thay th , so sánh,…. i v i PHP
chu!i là m t trong nh ng m ng có phong phú v các hàm, s( d&ng t t chúng b n
c n hi u rõ nguyên t c ho t ng c a t ng hàm, n m v ng c"u trúc c b n trong các
hàm chu!i t ó chúng ta d dàng v n d&ng chúng trong các ng d&ng l n.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 46/68 www.qhonline.info
Bài 6: Các Thao Tác Trên File
I- C b n v File:
1- M file : S( d&ng hàm fopen ()
Cú pháp : int fopen (string filename, string mode)
i v i h i u hành Unix hay Linux, th m&c g c c )nh ngh a b'ng d"u /,
nh ng i v i h i u hành Windows, th m&c g c c )nh ngh a trên m t d a c&
th nào ó ví d& nh C:, d"u phân cách gi a các th m&c và t p tin trong Unix ho c
Linux chúng ta s( d&ng d"u /, còn trong windows chúng ta s( d&ng 
ví d& :
trong Linux :
$fl = fopen (“/website/customers.txt”, “w”);
trong Windows :
$fw = fopen (“C:webdesignsales.txt”, “r”);
a. Các ch m file :
Mode Di n gi i
r Read only
r+ Read_Write
w Write Only
w+ Write_Read. N u file này t#n t i, n i dung c s b)
xoá i, còn n u không t#n t i nó s c t o m i
a M% d i d ng append d li u, ch có write, n u file
t#n t i, s ghi ti p vào ph n d i c a n i dung có
s0n, n u file không t#n t i s c t o m i.
a+ M% d i d ng append d li u (write và read), n u file
t#n t i, d li u s ghi ti p vào ph n bên d i c a n i
dung c , n u file không t#n t i s c t o m i
b M% d i ch file binary
Trong tr ng h p không bi t file n'm % v) trí nào trên h th ng, b n có th khai báo
thêm tham s là s 1 cho hàm fopen () nh sau :
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 47/68 www.qhonline.info
$fw = fopen (“customers.txt”, “a”, 1);
ví d& :
<html>
<body>
Open File <BR>
<?
$f = “C:thuchanhvanban.txt”
$fw = fopen ($f, “a”);
?>
</body>
</html>
b. M file thông qua ftp hay http :
Ví d& :
$f = “ftp://www.qhonline.info/orders.txt”;
$fw = fopen ($f, “a”);
ho c :
$f = “http://www.qhonline.info.com/orders.txt”;
$fw = fopen ($f, “a”);
c. M file và vi c s d ng toán t @ b t l i
Xem o n ch ng trình sau ây :
<html>
<body>
Open file and Debug <BR>
<?
$f = “C:thuchanhvanban.txt”;
@$fw = fopen ($f, “a”);
if (!$fw) {
echo (“File b) tr&c tr c, không m% c”);
}
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 48/68 www.qhonline.info
?>
</body>
</html>
2- óng file : hàm fclose ()
Cú pháp : int fclose (int fw)
$fw là bi n nh n giá tr) tr v khi g i hàm m% file $fw = fopen (...);
3- Hi n th file : hàm fpassthru ()
Cú pháp : int fpassthru (int fw)
Hàm này có th hi n th) c file nh
Ví d& :
if (!$fw = fopen (“picture.gif”, “rb”)) {
echo (“could not open file”);
}
else {
fpassthru ($fw);
}
4- c file :
a) Hàm fread ()
Cú pháp : string fread (int fw, int length);
m!i l n c length ký t
Ví d& :
if (!$fw = fopen (“vanban.txt”, “r”)) {
echo (“could not open file”);
}
else {
$text = fread ($fw, 10); // c 10 ký t u c a file
fclose ($fw);
}
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 49/68 www.qhonline.info
N u nh file có s ký t ít h n length ký t trong fread (), nó s c úng s ký t
c a file.
b) Hàm fgetc ():
Cú pháp : string fgetc (int fw)
c úng 1 ký t c a file. N u file r!ng (không có ký t ) thì nó s tr v m t chu!i
r!ng (false)
c) Hàm fgets ()
Cú pháp : string fgets (int fw, int length);
s d ng vi c c file khi g p ký t new line hay cu i file.
d) Hàm fgetss ()
Cú pháp và ho t ng y nh hàm fgets (), nh ng các ký t n'm trong c p d"u <> s b)
lo i b- khi c, cho dù v y nó v+n c tính vào chi u dài c a chu!i c.
e) Hàm file ()
Cú pháp : array file (string filename);
m!i dòng c a file c c s là 1 ph n t( c a mãng, dòng u tiên c a file s là
ph n t( 0
Ví d& :
$arrtext = file (“vanban.txt”);
for ($i = 0; $i < count ($arrtext); $i++) {
echo (“<P> $arrtext[$i] </P>”);
}
5- Ghi lên file :
Hàm fwrite () và fputs ()
Cú pháp : int fwrite (int fw, string str, int length);
int fputs (int fw, string str, int length);
i s th ba n u không a vào thì toàn b chu!i s c ghi, còn n u a vào i
s th ba thì nó s ghi vào file chu!i str ( i th hai) có dài úng b'ng chi u dài
length c a i s th ba.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 50/68 www.qhonline.info
II- Các hàm x lý file:
1- Các hàm d ch chuy n ho c qu n lý con tr$ m%u tin trong file :
a) Hàm rewind ()
Cú pháp : int rewind (int fw);
a con tr- m3u tin v u file
b) Hàm fseek ()
Cú pháp : int fseek (int fw, int offset);
Di chuy n con tr- m3u tin n m t v) trí xác )nh trong file
offset : s byte ho c s character tính t u file
Ví d& : fseek ($fw, 1); // di chuy n n ký t th hai c a file
c) Hàm ftell ()
Cú pháp : int ftell (int fw);
cho bi t v) trí hi n th i c a con tr- m3u tin
Ví d& :
fseek ($fw, ftell ($fw) + 20); t v) trí hi n th i d)ch chuy n thêm 20 ký t
d) Hàm feof ()
Cú pháp : int feof (int fw);
cho bi t v) trí cu i file
Ví d& :
if (!$fw = fopen (“vanban.txt”, “r”)) {
echo (“could not open file”);
}
else {
while (!feof ($fw)) {
echo (fgetc ($fw));
}
}
2- Copy, Delete, Rename file:
a) Hàm Copy ()
Cú pháp : int copy (string source, string destination);
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 51/68 www.qhonline.info
b) Hàm unlink ()
Cú pháp : int unlink (string filename);
delete file, file c delete ph i óng (không m%)
c) Hàm rename ()
Cú pháp : int rename (string oldname, string newname);
t tên file l i
II- T ng k t:
Vi c s( d&ng file m t cách thành th o s giúp b n d dàng v n hành các ng d&ng
mang quy mô v a và nh- nh : website nhi u ngôn ng , b m,…và c nh ng công
ngh web m i nh XML m t cách d dàng,
Qua bài h c này chúng ta c ng hi u c nguyên lý ho t ng, trình t x( lý 1 file d
li u khi chúng c tri u g i trong tài li u PHP.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 52/68 www.qhonline.info
Bài 7: X( Lý Form Trong PHP
I- T ng tác v i ng i s d ng:
PHP cho phép ng i s( d&ng t ng tác v i chúng thông qua form nh p li u c vi t
thu n túy trên HTML. Tuy nhiên làm c i u "y PHP yêu c u form ph i áp
ng 1 s quy )nh chung t ra.
Chúng ta cùng phân tích th$ form trong HTML sau:
<form name=”Tên form” action=”link x( lý” method=”Ph ng th c”>
Chúng ta th"y r'ng 1 form ph i bao g#m:
Tên form d dàng tách bi t v i giá tr) c a chúng.
Action: hành ng chuy n ti p n link x( lý.
Method: Là ph ng th c truy n bao g#m POST và GET.
Ví d&:
<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>
V y làm cách nào chúng ta l"y c giá tr) v a nh p li u nào ?.
PHP cho phép ta l"y giá tr) d a vào 2 ph ng th c POST và GET.
i v i POST ta có : $_POST[‘Giá tr)’]
i v i GET ta có : $_GET[‘Giá tr)’]
V y v i o n code trên có th l"y c bi n x( lý là : $_POST[‘username’];
II- X lý d li u t! trang ng i nh p li u.
1- Ph "ng th c POST:
Ph ng th c này c s( d&ng l"y d li u t form nh p li u. Và chuy n chúng
lên trình ch webserver.
2- Ph "ng th c GET:
Ph ng th c này c ng c dùng l"y d li u t form nh p li u. Tuy nhiên nhi m
v& chính c a nó v+n là l"y n i dung trang d li u t web server.
Bài t p ví d&:
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 53/68 www.qhonline.info
Xây d ng 1 trang HTML v i n i dung g#m form nh p li u h và tên. Sau ó dùng 1
file php xu"t ra thông tin h và tên mà ng i s( d&ng v a nh p li u.
áp Án:
T o file userform.htm v i n i 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>
T o file processform.php xu"t ra d li u
<?
echo “Welcome, ” . $_POST[‘username’] . “!”;
?>
Bài t p áp d&ng :
T o 1 trang web v i h p tho i nh p li u username và password. N u ng i s( d&ng
nh p thông tin username/password là admin/12345 thì xu"t ra thông báo “welcome,
admin” v i ki u ch Tahoma, màu -. Ng c l i n u nh p sai thì xu"t thông báo
“Username ho c password sai. Vui lòng nh p l i”.
áp án:
T o trang login.html v i n i 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>
Ti p t&c t o trang checklogin.php v i n i dung sau:
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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- T ng K t:
K t thúc bài này các b n ã n m c k/ thu t ki m tra thông tin d a trên PHP. K/
thu t xây d ng trang upload, ki m tra tính h p l c a ng i s( d&ng 1 cách d dàng
b%i s tùy bi n trong các bi u th c c a PHP.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 55/68 www.qhonline.info
Bài 8: Qu n Lý Phiên Làm Vi c
I- T ng quan v cookie:
Cookie là 1 o n d li u c ghi vào a c ng ho c b nh c a máy ng i s( d&ng.
Nó c trình duy t g%i ng c lên l i server m!i khi browser t i 1 trang web t
server.
Nh ng thông tin c l u tr trong cookie hoàn toàn ph& thu c vào website trên
server. M!i website có th l u tr nh ng thông tin khác nhau trong cookie, ví d& th i
i m l n cu i ta ghé th m website, ánh d"u ta ã login hay ch a, v.v...
Cookie c t o ra b%i website và g%i t i browser, do v y 2 website khác nhau (cho
dù cùng host trên 1 server) s có 2 cookie khác nhau g%i t i browser. Ngoài ra, m!i
browser qu n lý và l u tr cookie theo cách riêng c a mình, cho nên 2 browser cùng
truy c p vào 1 website s nh n c 2 cookie khác nhau.
1- Thi t l&p cookie trong PHP:
thi t l p cookie ta s( d&ng cú pháp:
Setcookie(“tên cookie”,”giá tr)”)
Tên cookie là tên mà chúng ta t cho phiên làm vi c.
Giá tr) là thông s c a tên cookie.
Ví d&:
Setcookie(“username”,”admin”)
Nh ví d& trên ta th"y v i tên là username và giá tr) là admin.
Chú ý: K)ch b n cookie ph i t trên m i giá tr) tr v bao g#m th$ HTML và l nh
echo.
2- S d ng cookie trong PHP:
s( d&ng l i cookie v a thi t l p, chúng ta s( d&ng cú pháp:
Cú pháp: $_COOKIE[“tên cookies”]
Tên cookie là tên mà chúng ta thi t l p phía trên.
Ví d&:
T o trang cookie.php v i n i dung sau:
<?php
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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>
Ti p t&c t o trang cookie2.php v i n i dung sau:
<html>
<head><title>Result Page</title></head>
<body>
<?php
echo "Ten cua ban la <b>".$_COOKIE['name']."</b>";
?>
</body>
</html>
3- nh d ng các tham s khác trong cookie:
Cú pháp c b n:
Setcookie(“Tên Cookie”,”Giá tr)”,”Th i Gian”,” ng d+n”,”Tên mi n”,”An toàn”
Tên cookie là tên mà chúng ta t cho phiên làm vi c.
Giá tr) là thông s c a tên cookie.
Th i gian là th i h n dùng thi t l p s t#n t i c a cookie. c tính theo s giây
so v i m c ngày 1-1-1970. Th ng c tính b'ng th i gian hi n t i c ng v i 1
kho ng th i gian nào ó mu n s( d&ng cookie
ng d+n là th m&c nào thì cookie có tác d&ng.
Tên mi n là tên trang web mà chúng ta thi t l p cookie .
An toàn là s l a ch n cookie có c g(i theo giao th c HTTPS hay không. Ch n 1
là có và 0 là k t n i thông th ng(HTTP).
Ví d&:
Setcookie(“user_id”,”1301”,time()+3600,”/”,””,0);
Tên cookie: User_id
Giá tr): 1301
Th i gian: Cookie t#n t i trong 1 gi tính t th i gian thi t l p.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 57/68 www.qhonline.info
ng d+n: trên m i th m&c
Tên mi n: B- qua thu c tính này
An toàn: Ch"p nh n giao th c HTTP(thông th ng).
4- H y Cookie:
h y 1 cookie ã c t o ta có th dùng 1 trong 2 cách sau:
a) Cú pháp: setcookie(“Tên cookie”)
G i hàm setcookie v i ch duy nh"t tên cookie mà thôi
b) Dùng th i gian h t h n cookie là th i i m trong quá kh .
Ví d&: setcookie(“name”,”Kenny Huy”,time()-3600);
Ví d&:
Ti p t&c t o trang cookie3.php v i n i 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>
Bài t p áp d ng:
Xây d ng website s( d&ng tính n ng cookie th-a mãn nh ng yêu c u sau:
1- T o trang ng nh p v i username/password là : admin/vietchuyen. N u user
ng nh p thành công thì s xu"t ra dòng welcome, admin.
2- T o trang ng xu"t thoát kh-i ph n qu n tr)
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 58/68 www.qhonline.info
II- T ng quan v SESSION
M t cách khác qu n lý ng i s( d&ng là session. Session c hi u là kho ng th i
gian ng i s( d&ng giao ti p v i 1 ng d&ng. M t session c b t u khi ng i s(
d&ng truy c p vào ng d&ng l n u tiên, và k t thúc khi ng i s( d&ng thoát kh-i
ng d&ng. M!i session s có c c"p m t )nh danh (ID) khác nhau và n i dung
c l u trong th m&c thi t l p trong file php.ini (tham s session.save_path).
Trong PHP, session c xem nh m t i u khi n phía server l u tr và qu n lý
phiên làm vi c. làm c i u này, khi m t ng i s( d&ng truy c p vào m t
website, webserver cung c"p cho ng i s( d&ng m t xâu giá tr) là SessionID g i là
xâu )nh danh- ví d& 9b02405434373d6d96c8db11ed819a60. Gía tr) xâu này m t giá
tr) ng+u nhiên và nó c g(i t i máy ng i s( d&ng thông qua cookie có tên
PHPSESSID. Giá tr) này t#n t i cho n khi nào chu k* s ng c a session k t thúc
ho c ng i s( d&ng di chuy n t i website khác. Chu k* s ng c a session do
webserver qui )nh. Ta có th i u ch nh chu k* này khi c"u hình webserver.
Bên phía server, m t t p tin có tên t ng ng PHPSESSID c ng c t o ra. Các
bi n session s c l u trong m t t p tin v n b n này và % t i v) trí c qui )nh
trong file php.ini % dòng session.save_path.
1- Thi t l&p 1 session trong PHP:
thi t l p 1 session ta s( d&ng cú pháp: session_start()
o n code này ph i c n'm trên các k)ch b n HTML. Ho c nh ng l nh echo,
printf.
thi t l p 1 giá tr) session, ngoài vi c cho phép b t u th c thi session. Chúng ta
còn ph i ng ký 1 giá tr) session. ti n cho vi c gán giá tr) cho session ó.
Ta có cú pháp sau: session_register(“Name”)
Ví d&:
<?php
Session_start();
Session_register(“username”);
?>
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 59/68 www.qhonline.info
2- S d ng giá tr c a session:
Gi ng v i cookie. s( d&ng giá tr) c a session ta s( d&ng mã l nh sau:
Cú pháp: $_SESSION[“name”]
V i Name là tên mà chúng ta s( d&ng hàm session_register(“name”) khai báo.
Ví d&:
T o trang session.php v i n i 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>
T o trang session2.php v i n i 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- H y b$ session trong PHP:
h y b- giá tr) c a session ta có nh ng cách sau:
Session_destroy() // Cho phép h y b- session
Session_unset()// Cho phép h y b- session (bao g#m t"t c nh ng gì có liên quan).
Chú ý: Nên c3n tr ng khi s( d&ng hàm unset.
Ví d&
T o trang session3.php v i n i dung sau:
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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>
Bài t p áp d ng:
Xây d ng website s( d&ng tính n ng session th-a mãn nh ng yêu c u sau:
1- T o trang ng nh p v i username/password là : admin/vietchuyen. N u user
ng nh p thành công thì s xu"t ra dòng welcome, admin.
2- T o trang ng xu"t thoát kh-i ph n qu n tr)
III- T ng K t:
Sau bài h c này chúng ta ã n m c cách i u khi n phiên làm vi c gi a cookie và
session. S( d&ng chúng trong t ng tr ng h p c& th . T ó có th áp d&ng vi t
nh ng ng d&ng nh- nh ki m soát ng i ng nh p, làm gi- hàng online,…..
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 61/68 www.qhonline.info
Bài 9: T ng Quan V MYSQL
I- Nh ng khái ni m c b n:
Mysql là h qu n tr) d li u mi n phí, c tích h p s( d&ng chung v i apache, PHP.
Chính y u t phát tri n trong c ng #ng mã ngu#n m% nên mysql ã qua r"t nhi u s h!
tr c a nh ng l p trình viên yêu thích mã ngu#n m%.
1- Cách kh i ng và s d ng MYSQL.
Chúng ta s( d&ng command nh sau:
Mysql –hname –uuser –ppass
truy c p vào c s% d li u.
Ho c s( d&ng b appserv vào nhanh h n theo ng d+n sau:
Start/ Appserv/ Mysql command Line client
Sau ó nh p password mà chúng ta ã t vào.
2- Nh ng nh ngh a c" b n:
a) nh ngh a c" s d li u, b ng, c t:
C s% d li u: là tên c a c s% d li u chúng ta mu n s( d&ng
B ng: Là 1 b ng giá tr) n'm trong c s% d li u.
C t là 1 giá tr) n'm trong b ng. Dùng l u tr các tr ng d li u.
Thu c tính
Ví d&:
B ng 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
Nh v y ta có th hi u nh sau:
1 c s% d li u có th bao g#m nhi u b ng.
1 b ng có th bao g#m nhi u c t
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 62/68 www.qhonline.info
1 c t có th có ho c không có nh ng thu c tính.
b) )nh ngh a 1 s thu t ng :
NULL : Giá tr) cho phép r!ng.
AUTO_INCREMENT : Cho phép giá tr) t ng d n (t ng).
UNSIGNED : Ph i là s nguyên d ng
PRIMARY KEY : Cho phép nó là khóa chính trong b ng.
c)Lo i d li u trong Mysql:
, ây chúng t ch gi i thi u 1 s lo i thông d&ng: 1 s d li u khác có th tham kh o
trên trang ch c a mysql.
Ki u d li u Mô T
Char )nh d ng text có chi u dài t 0->255
Varchar )nh d ng text có chi u dài t 0->255
Text )nh d ng text có chi u dài 0->65535
Longtext )nh d ng text có chi u dài 0->4294967215
INT )nh d ng s có chi u dài t 0->4294967215
Float )nh d ng s th p phân có chi u dài nh-
Double )nh d ng s th p phân có chi u dài l n
Date )nh d ng th i gian theo )nh d ng: YYYY-MM-DD
DateTime )nh d ng th i gian theo )nh d ng: YYYY-MM-DD HH:MM:SS
3- Nh ng cú pháp c" b n:
Cú pháp t o 1 c s% d li u:
CREATE DATABASE tên_c _s%_d _li u
Cú pháp s( d&ng c s% d li u: Use tên_database;
Cú pháp thoát kh-i c s% d li u: Exit
Cú pháp t o 1 b ng trong c s% d li u:
CREATE TABLE user (<tên_c t> <mô_t >,…,<tên_c t_n>…..<mô_t _n>)
Ví d&:
mysql> create table user(user_id INT(15) UNSIGNED NOT NULL
AUTO_INCREMENT, user
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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)
Hi n th) có bao nhi u b ng: show tables;
Hi n th) có bao nhiêu c t trong b ng: show columns from table;
Thêm 1 c t vào b ng :
ALTER TABLE tên_b ng ADD <tên_c t> <thu c_tính> AFTER <tên_c t>
Ví d&:
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- Nh ng cú pháp sql c b n:
1- Thêm giá tr vào b ng:
Cú pháp: INSERT INTO Tên_b ng(tên_c t) VALUES(Giá_tr)_t ng_ ng);
Ví d&:
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 xu t d li u:
Cú pháp: SELECT tên_c t FROM Tên_b ng;
Ví d&:
mysql> select user_id,username from user;
3 rows in set (0.00 sec)
4- Truy xu t d li u v i i u ki n:
Cú pháp: SELECT tên_c t FROM Tên_b ng WHERE i u ki n;
Ví d&:
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 64/68 www.qhonline.info
mysql> select user_id,username from user where user_id=2;
Bài t p áp d ng:
T o c s% d li u v i thông 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
Th c hi n các công vi c sau:
1- T o 1 b ng v i các c t trên.
2- Nh p li u thông tin theo nh b ng trên.
3- Li t kê t"t c thông tin c a nh ng ai có sex là female.
4- Li t kê thông tin c a ng i có Lname là “Van Hoa”.
5- Li t kê t"t c thông tin c a nh ng ai có sex là male và có h là “Nguy n”.
6- Li t kê fname,lname, email c a nh ng ai có s phone “0903234532”.
7- Dùng hàm mã hóa b o m t password c a ng i dùng.
5- Truy c&p d li u và s p x p theo trình t
Cú pháp:
SELECT tên_c t FROM Tên_b ng
WHERE i u ki n (có th có where ho c không)
ORDER BY Theo quy c s p x p.
Trong ó quy c s p x p bao g#m hai thông s là ASC (t trên xu ng d i), DESC (t
d i lên trên).
Ví d&:
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 65/68 www.qhonline.info
mysql> select user_id,username from user order by username ASC ;
Câu l nh trên l"y ra thông tin user_id và username t b ng user và chúng c s p x p
theo username trình t t trên xu ng d i.
6- Truy c&p d li u có gi i h n :
Cú pháp:
SELECT tên_c t FROM Tên_b ng
WHERE i u ki n (có th có where ho c không)
LIMIT v) trí b t u, s record mu n l"y ra
Ví d&:
mysql> select user_id,username from user order by username ASC limit 0,10 ;
Câu l nh trên l"y ra thông tin user_id và username t b ng user. Chúng c s p x p
theo username trình t t trên xu ng d i. Và l"y ra 10 record t v) trí 0.
7- C&p nh&t d li u trong b ng:
Cú pháp:
Update tên_b ng set tên_c t=Giá tr) m i
WHERE ( i u ki n).
N u không có ràng bu c i u ki n, chúng s c p nh t toàn b giá tr) m i c a các record
trong b ng.
Ví d&:
mysql> update user set email=”admin@qhonline.info” where user_id=1 ;
8- Xóa d li u trong b ng:
Cú pháp:
DELETE FROM tên_b ng WHERE ( i u ki n).
N u không có ràng bu c i u ki n, chúng s xó toàn b giá tr) c a các record trong b ng.
Ví d&
mysql>delete from user where user_id=1 ;
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 66/68 www.qhonline.info
III- Mysql và PHP:
1- K t n i c" s d li u:
Cú pháp:
Mysql_connect(“hostname”,”user”,”pass”)
2- L a ch n c" s d li u:
Cú pháp:
Mysql_select_db(“tên_CSDL”)
Ví d :
$conn=mysql_connect(“localhost”,”root”,”root”) or die(“ khong the ket noi”);
Mysql_select_db(“demo”);
3- Th c thi câu l nh truy v n:
Cú pháp:
Mysql_query(“Câu l nh SQL”)
4- m s record trong b ng:
Cú pháp:
Mysql_num_rows();
5- L y d li u t' database:
Cú pháp:
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)
{
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 67/68 www.qhonline.info
$row=mysql_fetch_array($query)
}
?>
Bài t p áp d ng:
Xu"t thông tin ng i dùng t c s% d li u % bài t p trên b'ng 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- T ng k t:
, bài này chúng ta ã làm vi c v i sql và các k/ thu t k t n i v i database c a PHP. Các
hàm PHP h! tr mysql hi n nay có r"t nhi u. Tuy nhiên v tính n ng c ng nh ph ng
th c s( d&ng thì chúng c ng gi ng nhau. Do v y các b n không nên lo l ng khi làm vi c
v i nh ng hàm mà chúng ta ang nghiên c u.
Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy
Trang 68/68 www.qhonline.info
Ph n C: Project Training
V i nh ng ki n th c ã h c c, b n hãy áp d&ng xây d ng hoàn ch nh m t ng
d&ng web c& th và n p chúng cho gi ng viên c a b n.
M t s project tiêu bi u khuy n khích các h c viên làm:
tài 1: Xây d ng trang tin t c i n t( v i các tính n ng chuyên nghi p nh (chuyên
m&c tin, tin t c,…

More Related Content

What's hot

Lập trình với microsoft visual basic 6.0
Lập trình với microsoft visual basic 6.0Lập trình với microsoft visual basic 6.0
Lập trình với microsoft visual basic 6.0Học Huỳnh Bá
 
Báo cáo bài tập lớn Website tin tức bằng PHP
Báo cáo bài tập lớn Website tin tức bằng PHPBáo cáo bài tập lớn Website tin tức bằng PHP
Báo cáo bài tập lớn Website tin tức bằng PHPMinh Chiến
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựAskSock Ngô Quang Đạo
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên nataliej4
 
Tấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select unionTấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select unionNguyễn Danh Thanh
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laraveljackjohn45
 
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNGBÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNGTrường Phạm
 
Lập trình web - HTML cơ bản
Lập trình web - HTML cơ bảnLập trình web - HTML cơ bản
Lập trình web - HTML cơ bảnNhóc Nhóc
 
Đề thi trắc nghiệm Xác suất thống kê có lời giải
Đề thi trắc nghiệm Xác suất thống kê có lời giảiĐề thi trắc nghiệm Xác suất thống kê có lời giải
Đề thi trắc nghiệm Xác suất thống kê có lời giải希夢 坂井
 
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...hoainhan1501
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngJojo Kim
 
đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155nataliej4
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTMasterCode.vn
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHan Nguyen
 
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178Đồ án access 01677525178
 
Xây dựng website tìm kiếm phòng trọ trực tuyến
Xây dựng website tìm kiếm phòng trọ trực tuyếnXây dựng website tìm kiếm phòng trọ trực tuyến
Xây dựng website tìm kiếm phòng trọ trực tuyếntrương dũng
 

What's hot (20)

Lập trình với microsoft visual basic 6.0
Lập trình với microsoft visual basic 6.0Lập trình với microsoft visual basic 6.0
Lập trình với microsoft visual basic 6.0
 
Báo cáo bài tập lớn Website tin tức bằng PHP
Báo cáo bài tập lớn Website tin tức bằng PHPBáo cáo bài tập lớn Website tin tức bằng PHP
Báo cáo bài tập lớn Website tin tức bằng PHP
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
 
Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Tấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select unionTấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select union
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
 
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNGBÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
 
Lập trình web - HTML cơ bản
Lập trình web - HTML cơ bảnLập trình web - HTML cơ bản
Lập trình web - HTML cơ bản
 
Đề thi trắc nghiệm Xác suất thống kê có lời giải
Đề thi trắc nghiệm Xác suất thống kê có lời giảiĐề thi trắc nghiệm Xác suất thống kê có lời giải
Đề thi trắc nghiệm Xác suất thống kê có lời giải
 
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thống
 
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đ
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đĐề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đ
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đ
 
đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
 
Lập trình hướng đối tượng - p3
Lập trình hướng đối tượng - p3Lập trình hướng đối tượng - p3
Lập trình hướng đối tượng - p3
 
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
 
Xây dựng website tìm kiếm phòng trọ trực tuyến
Xây dựng website tìm kiếm phòng trọ trực tuyếnXây dựng website tìm kiếm phòng trọ trực tuyến
Xây dựng website tìm kiếm phòng trọ trực tuyến
 

Similar to Giáo Trình PHP & MySql căn bản

Giao trinh thiet ke web 1
Giao trinh thiet ke web 1Giao trinh thiet ke web 1
Giao trinh thiet ke web 1vtngtram
 
Access 18 263_634034061782634040
Access 18 263_634034061782634040Access 18 263_634034061782634040
Access 18 263_634034061782634040Học Huỳnh Bá
 
bctntlvn (110).pdf
bctntlvn (110).pdfbctntlvn (110).pdf
bctntlvn (110).pdfLuanvan84
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvansatthu127
 
Chương trình học SEO website-by Bùi Huân
Chương trình học SEO website-by Bùi HuânChương trình học SEO website-by Bùi Huân
Chương trình học SEO website-by Bùi Huânhuan bui
 
tailieuxanh_th_14_full_permission__5466.pdf
tailieuxanh_th_14_full_permission__5466.pdftailieuxanh_th_14_full_permission__5466.pdf
tailieuxanh_th_14_full_permission__5466.pdfTuyetHa9
 
Tin học ứng dụng trong kinh doanh data4u
Tin học ứng dụng trong kinh doanh data4uTin học ứng dụng trong kinh doanh data4u
Tin học ứng dụng trong kinh doanh data4uXephang Daihoc
 
Chuong 3 tinh toan va thiet ke mong coc
Chuong 3 tinh toan va thiet ke mong cocChuong 3 tinh toan va thiet ke mong coc
Chuong 3 tinh toan va thiet ke mong cocHoàng Gia
 
Html vnn canban
Html vnn canbanHtml vnn canban
Html vnn canbanhieusy
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Cu Sock
 
Lap trinh huong_doi_tuong
Lap trinh huong_doi_tuongLap trinh huong_doi_tuong
Lap trinh huong_doi_tuongvovantrjnh
 
Giáo trình lập trình C
Giáo trình lập trình CGiáo trình lập trình C
Giáo trình lập trình CFreelancer
 
Gtxstk dhnn1
Gtxstk dhnn1Gtxstk dhnn1
Gtxstk dhnn1Phi Phi
 
Huong dan su dung va debug voi dev c++
Huong dan su dung va debug voi dev c++Huong dan su dung va debug voi dev c++
Huong dan su dung va debug voi dev c++tuandong_ptit
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnMasterCode.vn
 
Giao an tin hoc 11 - Tuan 08 - On tap chuong 04 - vtq ngoc
Giao an tin hoc 11 - Tuan 08 - On tap chuong 04 - vtq ngocGiao an tin hoc 11 - Tuan 08 - On tap chuong 04 - vtq ngoc
Giao an tin hoc 11 - Tuan 08 - On tap chuong 04 - vtq ngocNgoc Vu Thi Quynh
 

Similar to Giáo Trình PHP & MySql căn bản (20)

Giao trinh thiet ke web 1
Giao trinh thiet ke web 1Giao trinh thiet ke web 1
Giao trinh thiet ke web 1
 
Access 18 263_634034061782634040
Access 18 263_634034061782634040Access 18 263_634034061782634040
Access 18 263_634034061782634040
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvan
 
bctntlvn (110).pdf
bctntlvn (110).pdfbctntlvn (110).pdf
bctntlvn (110).pdf
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvan
 
Chương trình học SEO website-by Bùi Huân
Chương trình học SEO website-by Bùi HuânChương trình học SEO website-by Bùi Huân
Chương trình học SEO website-by Bùi Huân
 
tailieuxanh_th_14_full_permission__5466.pdf
tailieuxanh_th_14_full_permission__5466.pdftailieuxanh_th_14_full_permission__5466.pdf
tailieuxanh_th_14_full_permission__5466.pdf
 
Tin học ứng dụng trong kinh doanh data4u
Tin học ứng dụng trong kinh doanh data4uTin học ứng dụng trong kinh doanh data4u
Tin học ứng dụng trong kinh doanh data4u
 
Chuong 3 tinh toan va thiet ke mong coc
Chuong 3 tinh toan va thiet ke mong cocChuong 3 tinh toan va thiet ke mong coc
Chuong 3 tinh toan va thiet ke mong coc
 
Html vnn canban
Html vnn canbanHtml vnn canban
Html vnn canban
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191
 
Lap trinh huong_doi_tuong
Lap trinh huong_doi_tuongLap trinh huong_doi_tuong
Lap trinh huong_doi_tuong
 
Giáo trình lập trình C
Giáo trình lập trình CGiáo trình lập trình C
Giáo trình lập trình C
 
Gtxstk dhnn1
Gtxstk dhnn1Gtxstk dhnn1
Gtxstk dhnn1
 
Giao trinh xac suat thong ke hn1
Giao trinh xac suat thong ke   hn1Giao trinh xac suat thong ke   hn1
Giao trinh xac suat thong ke hn1
 
Huong dan su dung va debug voi dev c++
Huong dan su dung va debug voi dev c++Huong dan su dung va debug voi dev c++
Huong dan su dung va debug voi dev c++
 
Html
HtmlHtml
Html
 
Chuong 1
Chuong 1Chuong 1
Chuong 1
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
 
Giao an tin hoc 11 - Tuan 08 - On tap chuong 04 - vtq ngoc
Giao an tin hoc 11 - Tuan 08 - On tap chuong 04 - vtq ngocGiao an tin hoc 11 - Tuan 08 - On tap chuong 04 - vtq ngoc
Giao an tin hoc 11 - Tuan 08 - On tap chuong 04 - vtq ngoc
 

Giáo Trình PHP & MySql căn bản

  • 1. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 1/68 www.qhonline.info Trung Tâm ào T o Công Ngh M ng Vi t Chuyên Tài Li u L u Hành N i B www.qhonline.info GIÁO TRÌNH PHP & MYSQL Biên So n: GV. Bùi Qu c Huy
  • 2. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 2/68 www.qhonline.info L i Nói u Quy n giáo trình này c t ng h p t nh ng tài li u và kinh nghi m th c ti n qua nhi u n m gi ng d y c a gi ng viên, và c so n th o cho phù h p v i n i dung môn h c. Khác v i giáo trình mang tính th ng m i, các t ng , cách di n gi i mang xu th thu t ng , giáo trình c xây d ng trên hình th c d c, d hi u và g n g i v i th c t , tuy nhiên i u ó không có ngh a h c viên có th ch tham kh o giáo trình mà không i h c. N u các b n mu n hi u c n k ki n th c và ý ngh a c a giáo trình, b n nên tham gia các khóa h c PHP y t i trung tâm ào t o m ng Vi t Chuyên. M c dù ã ki m tra xác th c, c ng nh tính úng n c a giáo trình, nh ng khi biên soan ch c ch n s có ít nhi u l!i liên quan n t ng , cú pháp. R"t mong nh n c nhi u s óng góp c a các b n. M i ý ki n óng góp c a các b n vui lòng truy c p vào website: www.qhonline.info (là website cá nhân c a tác gi ). Ho c www.ddcntt.vn (là website c a trung tâm). Gi ng viên Bùi Qu c Huy TP.H# Chí Minh. Ngày 15 Tháng 06 N m 2006
  • 3. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 3/68 www.qhonline.info Ph n A: C B n V HTML & Javascript I – Các Th HTML c b n 1- C u trúc chu n: <HTML> <HEAD><TITLE>Tiêu Website</TITLE> </HEAD> <BODY> N i dung website c vi t t i ây </BODY> </HTML> + M t c"u trúc HTML luôn bao g#m th$ óng và th$ m%. Ví d& : <B> Ł th$ M% </B> Ł Th$ óng - c phân bi t b'ng d"u / ngay tr c th$ + Các th$ HTML hoàn toàn có th vi t hoa ho c th ng. Tuy nhiên nên theo 1 quy t c chung (vi t hoa thì vi t hoa h t, ng c l i). + M t website càng ít th$ thì s càng ch y nhanh h n. 2- Các th c b n : Tiêu : <H>N i Dung</H> (ví d&: <H1>Welcome, admin</H1>). Th$ H bao g#m các thu c tính t (H1 H6). Nh ng ch S( d&ng t H1 H3. In m: <B>N i Dung</B> (ví d&: <b>Welcome, admin</b>) In Nghiêng: <I>N i Dung</I> (ví d&: <i>welcome, Admin</i>) G ch D i : <U>N i Dung</U> (Ví d&: <u>welcome, Admin</u>) Xu ng 1 Dòng : <BR> - Th$ này không có th$ óng. Xu ng 2 Dòng : <P> - Có ho c không th$ óng c ng c. )nh D ng Ch B'ng Th$ <FONT> + Kích th c ch : <FONT SIZE=”Thông S ”> N i Dung</FONT> Ví d&: <font size=2>Hello, How Are You ?</font> + Ki u Ch : <FONT FACE=”Ki u Ch ”> N i Dung</FONT> Ví d&: <font face=tahoma>Hello, How Are You ?</font> + Màu Ch : <FONT COLOR=”Màu Ch ”> N i Dung</FONT>
  • 4. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 4/68 www.qhonline.info Ví d&: <font color=red> Hello, How Are You ?</font> T o Liên K t : <A HREF=”Link”> N i Dung</A> Ví D&: <a href=”abc.html”>Hello, Huy</a> + M% 1 c(a s m i v i liên k t: TARGET=_BLANK Ví d&: <a href=”abc.html” target=_balnk>Hello, Huy</a> + M% liên k t ó ngay trên trang hi n th): TARGET=_SEFT Ví d&: <a href=”abc.html” target=_seft>Hello, Huy</a> )nh d ng thu c tính : ALIGN=LEFT, RIGHT, CENTER, JUSTIFY + S( d&ng k t h p v i th$ <P> Ví d&: <p align=center>N i dung V n b n s % gi a + S( d&ng k t h p v i các th$ khác nh <img>,<table>, <div>,…. Chèn hình nh vào website: <IMG SRC=”URL Hình” BORDER=”Thông S ” HSPACE=”Thông S ” VSPACE=”Thông S ” ALIGN=”Thu c Tính” WIDTH=”Thông S ” HEIGHT=”Thông S ”> + <IMG SRC=”URL”> cú pháp chính xu"t ra hình nh. + <IMG SRC=”URL Hình” BORDER=”Thông S ”> cú pháp c s( d&ng khi hình nh i kèm v i liên k t. Ví d& : <a href=”abc.html”><img src=”def.gif” border=”1”></a> T câu l nh trên s cho ra hình def.gif. Tuy nhiên bao b c hình nh ó s có 1 ng vi n. Ví d&: <a href=”abc.html”><img src=”def.gif” border=”0”></a> T câu l nh trên s cho ra hình def.gif. Nh ng không có vi n xung quanh + Hspace : kho ng cách t l ph i c a hình n l trái v n b n + Vspace: kho ng cách t TOP c a hình n BOTTOM c a v n b n + Align : )nh d ng trái, ph i, gi a c a hình (canh l ). + Width : Chi u r ng c a t"m hình. + Height : Chi u cao c a t"m hình. II– T o b ng trong HTML : t o 1 b ng chúng ta nên hình dung c dòng và c t. Và áp t 1 s quy lu t, vi c th c thi d h n so v i yêu c u t ra.
  • 5. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 5/68 www.qhonline.info M t b ng bao g#m 2 thu c tính là dòng và c t. V y ta có quy t c có 1 b ng d li u. Ta i t b ng tr c, sau ó k$ dòng và chia c t trên dòng ó…Làm tu n t cho n h t yêu c u vi c t o b ng. 1 B ng b t u và k t thúc s có cú pháp : <table> </table> 1 Dòng b t u và k t thúc s có cú pháp : <tr> </tr> 1 C t b t u và k t thúc s có cú pháp : <td> </td> Ví d&: A B C D 1 2 3 4 Nh b ng % trên ta s xây d ng nh sau : + G#m 1 b ng. + G#m 2 dòng + G#m 4 c t trên 1 dòng V y ta có cú pháp t o b ng c b n nh 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> Các thu c tính trên B ng (Table). o Width : Chi u r ng c a b ng.
  • 6. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 6/68 www.qhonline.info o Height: Chiêu cao c a b ng. o Align : Các thu c tính trái, ph i, gi a theo chi u ngang c a b ng o Valign : Các thu c tính trên, d i, gi a theo chi u d c c a b ng. o Background : Màu n n c a b ng b'ng 1 hình nh. (ch có tác d&ng trên c t và b ng). o Bgcolor : Màu n n b ng b'ng nh ng màu theo thông s (ch có tác d&ng trên c t và b ng). Ví d&: white, blue, green, red,…… o Cellpadding : Kho ng cách t chân ch n c nh d i. o Cellspacing : Kho ng cách c a các c nh. o Rowspan : G p theo dòng Ví d& : o Colspan : G p theo c t Ví d&: * Các thu c tính c a table phía trên u có th áp d&ng i v i c t (td). Nh ng không th áp d&ng i v i dòng. Bài T p Áp D ng: Thi t k 1 b ng b'ng HTML nh hình bên d i : Th 2 Th 3 Th 4 Th 5 Th 6 Th 7 Toán A1 Anh V n PHP&MYSQLKinh t Chính Tr) Phòng 301 ASP.NET CCNA V t Lý A1 Yêu c u : 1 – Vi t trên HTML, không dùng b"t k* tool h! tr nào. 2 – Th i gian trong 15 phút
  • 7. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 7/68 www.qhonline.info III– T o Form nh p li u trong HTML : Form nh p li u c dùng l"y d li u t phía ng i truy c p, khách hàng,….Thông qua h th ng website. Cú pháp c b n c a Form c ng có th$ b t u và k t thúc : Cú pháp chính : <form method="POST" action="link" name=”Tên”> N i dung c a form </form> + Method : Là ph ng th c truy n nh n d li u. G#m 2 ph ng th c là POST và GET. + Action : Là ng d+n n liên k t x( lý form. + Name : là tên c a Form ó. C c"u c a Form bao g#m nh ng thu c tính sau : 1- D ng Text : (Nh nh p h tên, )a ch , s i n Tho i,….) Cú pháp : <input type="Thu c tính" name="Tên" size="chi u dài" value="giá tr)"> + Type : Thu c tính có hai lo i là Text (khi ng i nh p s th"y c n i dung ang nh p và Password (ng i nh p s không th"y c n i dung ang nh p) + Name : tên c a h p nh p li u (ví d&: name, address, phone,…..) + Size : Chi u dài c a h p nh p li u. + Value: Giá tr) mu n hi n th) (th ng v i h p nh p li u thì ít s( d&ng). 2- D ng V n b n – Textarea : (nh nh p thông tin cá nhân, ghi chú,…..) Cú pháp : <textarea name="textarea" cols="45" rows="5" ></textarea> + Có th$ b t u và k t thúc. + Name: Tên c a h p nh p li u. + Cols : c xem là chi u r ng c a h p nh p li u + rows: c xem là chi u cao c a h p nh p li u 3- D ng L a Ch n : (nh ch n l a gi i tính nam ho c n ) Cú pháp : <input type="radio" value="N" name="hot" checked> + Type : Radio là )nh d ng dành cho s l a ch n + Value : Giá tr) mà chúng ta mu n truy n khi user l a ch n
  • 8. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 8/68 www.qhonline.info + Name : Tên c a )nh d ng l a ch n + Thu c tính “checked”. N u add vào s m c )nh ch n l a Ví d&: <input type="radio" value="m" name="sex" checked> Male <input type="radio" value="f" name="sex" > Female T ví d& trên ta th"y n u trong 1 form ch n l a gi i tính. Thì thu c tính “name” ph i gi ng nhau. , ây. Thu c tính male c l a ch n m c )nh. 4- D ng Thanh cu n : (nh ch n qu c t)ch Vi t Nam,….) Cú pháp: <select size="thông s " name="tên"> <option value="giá tr)" selected>L a ch n </option> </select> + Size : là kích th c c a h p tho i mà b n mu n. Th ng là 1. + Name : là tên c a thanh cu n "y. + Option: là nh ng thu c tính b n mu n ch n + Thu c tính “selected” N u thêm vào s m c )nh ch n l a. + Giá tr) : là thông t b n mu n truy n vào khi chúng ta ch n l a. Ví d&: <select size="1" name="country"> <option value=”VN” selected>Vi t Nam </option> <option value=”CN”>Trung Qu c </option> </select> , ví d& này chúng ta th"y. Vi t Nam là qu c gia c l a ch n. 5- D ng Ch n Nhi u : (nh b ng ánh d"u s% thích: music, sport, game,…..) Cú Pháp: <input type="checkbox" name="tên" value="giá tr)"> + Type= Checkbox là )nh d ng c a h p tho i + Tên : là tên c a m&c ch n l a + Giá tr): Là thông s c n truy n vào. 6- D ng Nút Nh n : (nh ch"p nh n ho c làm l i,…..) Cú pháp :
  • 9. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 9/68 www.qhonline.info <input type="L a ch n" value="Giá tr)" name="Tên"> Type có hai lo i chính là : submit bà reset + Submit cho phép g%i d li u lên trình duy t x( lý. + Reset : xóa toàn b d li u t các form trên. Giá tr): là tên hi n th) trên nút Tên : là tên c a nút nh"n. Bài t p Áp D ng : Vi t l nh hi n th) 1 form nh bên d i :
  • 10. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 10/68 www.qhonline.info IV- Các th nâng cao: 1- T o ch ch y : Cú pháp c b n : <Marquee> N i Dung </Marquee> Mô t : V n b n n'm gi a hai th$ này s di chuy n tu* theo các giá tr) thu c tính c thi t l p. M t s thu c tính c a Marquee là: Direction: Có giá tr) b'ng Left ho c Right là h ng chuy n ng c a v n b n. ScrollDelay: Giá tr) nguyên d ng này là s mili giây v n b n ng ng tr c khi chuy n ng ti p. Giá tr) càng nh-, chuy n ng càng nhanh. Behavior: Lo i chuy n ng c a text. Scroll, Slide, Alternate Align With text: o n v n b n c canh ch nh trong vùng di n tích c a marquee. Có 3 giá tr): Top, Middle, Bottom. Loop: Giá tr) nguyên thi t l p s chu k* chuy n ng c a o n v n b n. Ví d& : <Marquee align="middle" direction="right" scrolldelay="60"> Chào m ng b n ã n website c a chúng tôi </Marquee> 2 – S d ng Frame: B'ng cách dùng frame (khung), ta có th ng t trang web thành các vùng riêng bi t (c(a s ) và th hi n các t p tin HTML khác nhau trong m!i vùng. V i cách này, m!i vùng có th chuy n sang trang web khác trong khi các vùng khác v+n không thay i. Cú pháp c b n : <iframe src=”URL” Name=”Tên” Frameborder=”Thông s ” height=”Thông s ” width=”thông s ” scrolling=”Thông s ” allowtransparency> </iframe> SRC : URL c a trang mu n hi n th). Name : Tên c a frame Frameborder : ng vi n c a frame (th ng là 0 ho c 1) Height : chi u cao c a frame Width : Chi u r ng c a frame. Scrolling : Hi n th) thanh tr t (có 3 thu c tính là “No”, “Yes”, “Auto”). Allowtransparency: Cho phép background c a frame trong su t.
  • 11. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 11/68 www.qhonline.info Ví d& : <iframe src=”test_page.html” Name=”test_frame” Frameborder=”0” height=”300” width=”300” scrolling=”No” allowtransparency></iframe> 3- T o danh sách: HTML có m t t p các th$ cho phép t o ra các danh sách d ng phân c"p. Có hai d ng danh sách: không có th t và có th t . Các danh sách không có th t là danh sách d ng nút, trong khi ó danh sách có th t th ng là danh sách có ánh s . Ta c ng có th k t h p hai lo i này t o ra danh sách ph c t p h n. a) Danh sách có th t : Các m&c c a m t danh sách có th t c hi n th) v i các con s thay vì các nút. S( d&ng th$ <OL> (Order List) thi t l p m t danh sách có th t , nh c th hi n trong o n mã sau. Hình nh th hi n cách mà trình duy t hi n th) o n mã này. Cú Pháp : <OL type=”[a] [i] [I]”> </OL> Ví d& : <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 sách không có th t : Cú pháp : <UL type=”[square] [cicle] [disc]”> </UL> Ví d& : <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>
  • 12. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 12/68 www.qhonline.info 4- S d ng th <DIV>: DIV c xem nh là các th$ ch a (th$ mang). Chúng r"t h u d&ng trong vi c phân chia các kh i v n b n v i ph n xung quanh nó mà không làm nh h %ng n )nh d ng c a riêng nó. Các th$ này th ng c dùng v i các )nh d ng style sheet CSS và ang c a chu ng trong thi t k layout c a nh ng trang web ph c t p. Ví d& : Here is <DIV STYLE="font:bold 14pt">some text</DIV> in a DIV. V- CASCADING STYLE SHEET (CSS) )nh ngh a v b ng ki u x p ch#ng (css) s( d&ng tách bi t format trang và n i dung c a trang web. V i CSS, ta có th bi n i m i th t kích c., ki u, màu s c c a v n b n cho n kho ng cách gi a các ch cái và các dòng, ng biên và ph n m xung quanh ph n t(, v) trí chính xác c a i t ng trên trang. 1- nh ngh a tr c ti p : B ng ki u toàn c&c (ho c b ng ki u c nhúng vào) c kèm theo nh là m t ph n c a h# s HTML. Lo i b ng ki u này xác )nh biên gi i c a nó b'ng th$ m% <STYLE> và th$ óng </STYLE>, nó th ng c t trong ph n head c a trang HTML. Ví d&: <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>
  • 13. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 13/68 www.qhonline.info Hi n Th) : Mô t thu c tính : Color: màu ch Font-size : Kích th c c a ch Font-style : )nh d ng ch (italic : Nghiêng, blod: in m, underline: g ch d i). Font-family: Ki u ch Background-color : màu n n Text –decoration: )nh d ng link. + None : không )nh d ng gì c + Underline: g ch d i liên k t. + Overline: g ch trên liên k t 2- nh ngh a gián ti p: Kh n ng )nh d ng c c p trong nh ng ph n tr c không ch d ng l i % m c c a m t trang web n mà còn có th ki m soát ki u trên nhi u trang web hay có th trên toàn b website b'ng cách s( d&ng b ng ki u liên k t. M t b ng ki u liên k t (hay b ng ki u bên ngoài) ch n gi n là m t t p tin v n b n, bao g#m nh ng )nh ngh a ki u. T p tin này c l u v i ph n m% r ng là CSS. T p này (n'm ngoài t p tin HTML) có th c tham chi u ho c liên k t b%i v n b n HTML b'ng cách s( d&ng th$ <LINK> c a trang HTML. Ví d&: u tiên, s( d&ng notepad so n th o t p tin có n i dung nh 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}
  • 14. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 14/68 www.qhonline.info L u t p tin v i tên b"t k* có ph n m% r ng là CSS (ví d&: style.css). C ng c n chú ý r'ng, b ng ki u liên k t này không kèm theo các thành ph n <Style> và </Style> (t c trong file CSS không có các th$ này). Bây gi t p tin t o m t file HTML ch a m t liên k t n b ng ki u bên ngoài ã )nh ngh a. Ví d&: <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í d& này t p tin s( d&ng th$ <LINK> trong ph n u c a h# s HTML. Th$ này ch a thu c tính HREF xác )nh v) trí c a t p tin ích. Thu c tính REL s )nh rõ r'ng liên k t này là m t tham chi u n m t b ng ki u và thu c tính TYPE )nh rõ lo i b ng ki u. Th i i m hi n t i thì text/css là lo i b ng ki u c h! tr ph bi n và duy nh"t. B ng ki u liên k t có nh h %ng t i h# s HTML gi ng nh b ng ki u toàn c&c (b ng ki u nhúng). M i ph n t( trong h# s HTML mà th$ c a chúng c )nh ngh a trong t p tin style.css s c th hi n b'ng cách s( d&ng ki u ã c xác )nh. Vì không n'm trong b"t k* t p tin HTML c bi t nào, nên b ng ki u liên k t ngoài có th c liên k t v i s l ng h# s không gi i h n. Ví d&, t p tin có th t o b ng ki u cho toàn b Website và liên k t t ng trang v i b ng ki u ó. Kh n ng này r"t h u ích khi t p tin mu n duy trì cách th hi n, c ng nh cách c m nh n nh"t quán trên toàn b website. Nó c ng r"t ti n l i khi mu n thay i cách th hi n t ng th c a Website. 3- nh Ngh a Trên 1 L p:
  • 15. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 15/68 www.qhonline.info Là m t bi n )nh ngh a format c a các thu c tính trong các th$ nh ng m i th$ u có th dùng c. Cú pháp : .tênl p {các thu c tính}. Ví d&: <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>
  • 16. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 16/68 www.qhonline.info Ph n B: PHP & MYSQL Bài 1: T ng Quan V PHP I - Gi i thi u v PHP. PHP (Hypertext Preprocessor) là ngôn ng script trên server c thi t k d dàng xây d ng các trang Web ng. Mã PHP có th th c thi trên Webserver t o ra mã HTML và xu"t ra trình duy t web theo yêu c u c a ng i s( d&ng. Ngôn ng PHP ra i n m 1994 Rasmus Lerdorf sau ó c phát tri n b%i nhi u ng i tr i qua nhi u phiên b n. Phiên b n hi n t i là PHP 5 ã c công b 7/2004. Có nhi u lý do khi n cho vi c s( d&ng ngôn ng này chi m u th xin nêu ra ây m t s lý do c b n : - Mã ngu#n m% (open source code) - Mi n phí, download d dàng t Internet. - Ngôn ng r"t d h c, d vi t. - Mã ngu#n không ph i s(a l i nhi u khi vi t ch y cho các h i u hành t Windows, Linux, Unix - R"t n gi n trong vi c k t n i v i nhi u ngu#n DBMS, ví d& nh : MySQL, Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase, Empress, FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhi u h th ng CSDL thu c H i u Hành Unix (Unix dbm) cùng b"t c DBMS nào có s h tr c ch ODBC (Open Database Connectivity) ví d& nh DB2 c a IBM. S v l p trình server side c a PHP.
  • 17. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 17/68 www.qhonline.info • 1: Trình duy t g(i yêu c u t i trang PHP. • 2: Web server g(i các yêu c u ó t i trình thông d)ch PHP. • 3-4: Trình thông d)ch PHP th c thi các an mã PHP. Quá trình này có th liên quan n nhi u tài nguyên nh filesystem, database... • 5: K t qu c a quá trình thông d)ch là các mã HTML c tr v cho Server.. • 6: Server g(i mã k t qu HTML v l i trình duy t. II- Ki n Th c C b n 1- Cú pháp chính : PHP c ng có th$ b t u và k t thúc gi ng v i ngôn ng HTML. Ch khác, i v i PHP chúng ta có nhi u cách th hi n. Cách 1 : Cú pháp chính: <?php Mã l nh PHP ?> Cách 2: Cú pháp ng n g n <? Mã l nh PHP ?> Cách 3: Cú pháp gi ng v i ASP. <% Mã l nh PHP %> M c dù có 3 cách th hi n. Nh ng i v i 1 l p trình viên có kinh nghi m thì vi c s( d&ng cách 1 v+n là l a chon t i u. Trong PHP k t thúc 1 dòng l nh chúng ta s( d&ng d"u “;” chú thích 1 o n d li u nào ó trong PHP ta s( d&ng d"u “//” cho t ng dòng. Ho c dùng c p th$ “/*……..*/” cho t ng c&m mã l nh. Ví d&: <? 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- Xu t d li u ra trình duyêt xu"t d li u ra trình duy t chúng ta có nh ng dòng cú pháp sau : + Echo “Thông tin”;
  • 18. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 18/68 www.qhonline.info + Printf “Thông tin”; Thông tin bao g#m : bi n, chu!i, ho c l nh HTML …. Ví d& : <?php Echo “Hello word”; Printf”<br><font color=red>Who Are You ?</font>”; ?> N u gi a hai chu!i mu n liên k t v i nhau ta s( d&ng d"u “.” Ví d& : <?php Echo “Hello”.”who are you ?”; ?> 3- Khái ni m bi n, h ng, chu i và các ki u d li u. a) Bi n trong PHP. Bi n c xem là vùng nh d li u t m th i. Và giá tr) có th thay i c. Bi n c b t u b'ng ký hi u “$”. Và theo sau chúng là 1 t , 1 c&m t nh ng ph i vi t li n ho c có g ch d i. 1 bi n c xem là h p l khi nó th-a các y u t : + Tên c a bi n ph i b t u b'ng d"u g ch d i và theo sau là các ký t , s hay d"u g ch d i. + Tên c a bi n không c phép trùng v i các t khóa c a PHP. Trong PHP s( d&ng 1 bi n chúng ta th ng ph i khai báo tr c, tuy nhiên i v i các l p trình viên khi s( d&ng h th ng x( lý cùng m t lúc các công vi c, ngh a là v a khái báo v a gán d li u cho bi n. B n thân bi n c ng có th gãn cho các ki u d li u khác. Và tùy theo ý )nh c a ng i l p trình mong mu n trên chúng. M t s ví d& v bi n : $a= 100 // bi n a % ây có giá tr) là 100. $a= “PHP is easy” // Bi n a % ây có giá tr) “PHP Is easy”. Biena=123 //Có l!i vì b t u 1 bi n ph i có d"u “$” $123a=”PHP” //Có l!i vì ph n tên b t u c a bi n là d ng s .
  • 19. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 19/68 www.qhonline.info b) Khái ni m v h ng trong PHP. N u bi n là cái có th thay i c thì ng c l i h'ng là cái chúng ta không th thay i c. H'ng trong PHP c )nh ngh a b%i hàm define theo cú pháp: define (string tên_h'ng, giá_tr)_h'ng ). C ng gi ng v i bi n h'ng c xem là h p l thì chúng ph i áp ng 1 s y u t : + H'ng không có d"u “$” % tr c tên. + H'ng có th truy c p b"t c v) trí nào trong mã l nh + H'ng ch c phép gán giá tr) duy nh"t 1 l n. + H'ng th ng vi t b'ng ch in phân bi t v i bi n Ví d& : define (“C”, “COMPANY”); define (“YELLOW”, “#ffff00”); c) Khái ni m v chu i: Chu!i là m t nhóm các k/ t , s , kho ng tr ng, d"u ng t c t trong các d"u nháy. Ví d&: ‘Huy’ “welcome to VietNam” t o 1 bi n chu!i, chúng ta ph i gán giá tr) chu!i cho 1 bi n h p l . Ví d&: $fisrt_name= “Nguyen”; $last_name= ‘Van A’; liên k t 1 chu!i và 1 bi n chúng ta th ng s( d&ng d"u “.” Ví d&: <?php $test=”VietNam”; echo “welcome to”.$test; echo “<br><font color=red>welcome to”.$test.”</font><br>”; ?> d) Ki u d li u trong PHP Các ki u d li u khác nhau chi m các l ng b nh khác nhau và có th c x( lý theo cách khác nhau khi chúng c theo tác trong 1 script.
  • 20. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 20/68 www.qhonline.info Trong PHP chúng ta có 6 ki u d li u chính nh sau : Ki u D Li u Ví d Mô T Integer 10 M t s nguyên Double 5.208 Ki u s th c String “How are you ?” M t t p h p các ký t Boolean True or False Giá tr) true ho c false Object H ng i t ng trong PHP Array M ng trong PHP, ch a các ph n t(. Chúng ta có th s( d&ng hàm d ng s0n gettype() c a PHP4 ki m tra ki u c a b"t k* bi n. Ví d&: <?php $a= 5; Echo gettype($a); // Integer. $a=”<br>”; Echo gettype($a); //String ?> III- T ng K t: Sau bài này các b n ã có nh ng khái ni m u tiên v PHP, các cú pháp, các ki u d li u, và cách làm vi c v i môi tr ng PHP nh th nào. , bài sau, chúng ta s ti p t&c ti p c n v i các thu t toán và cú pháp PHP m t cách rõ ràng và quen thu c trong các ngôn ng l p trình.
  • 21. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 21/68 www.qhonline.info Bài 2 : Toán T( Và Bi u Th c I – Toán t c b n. 1- Toán t gán: Chúng ta ã t ng ti p xúc v i toán t( này b%i vi c kh%i t o 1 bi n. Nó g#m ký t n =. Toán t( gán l"y giá tr) c a toán h ng bên ph i gán nó vào toán h ng bên trái. Ví d&: $name = “Johny Nguyen”; 2- Toán t s h c: Ta có b ng các phép toán s h c nh sau: Toán T Lý gi i Ví d K t qu + C ng hai s h ng 10+8 18 - Tr hai s h ng 10-8 2 * Nhân hai s h ng 10*8 80 / Chia hai s h ng 10/3 3.33333333 % Tr v s d 10%3 1 3- Toán t so sánh: Ta có các phép so sánh c b n nh sau: Phép Toán Tên Gi i Thích Ví D = = B'ng Hai s h ng b'ng nhau $a= =5 != Không b'ng Hai s h ng không b'ng nhau $a != 5 = = = #ng nh"t Hai s b'ng nhau và cùng ki u $a = = = 5 > L n h n V trái l n h n v ph i $a > 5 >= L n h n ho c b'ng V trái l n h n ho c b'ng v ph i $a >= 5 < Nh- h n V trái nh- h n v ph i $a < 5 <= Nh% h n ho c b'ng V trái nh- h n ho c b'ng v ph i $a <= 5 4- Toán t logic Toán t( logic là các t h p các giá tr) boolean. Ví d&: toán t( or tr% v true n u toán t( trái ho c toán t( ph i là true. True || false true.
  • 22. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 22/68 www.qhonline.info Ta có b ng các toán t( nh sau: Toán T( Tên Tr v True N u Ví d& K t qu || Or V trái ho c v ph i là True True || false True Or Or V trái ho c v ph i là True True || false True Xor Xor V trái ho c v ph i là True nh ng không ph i c hai True || True False && And V trái và v ph i là true True && false False And And V trái và v ph i là true True && false False ! Not không ph i là true !true False 5- Phép gán k t h p: Khi t o mã PHP, chúng ta s th ng nh n th"y c n ph i t ng ho c gi m l ng bi n m t s nguyên nào ó. B n s th ng th c hi n i u này khi chúng ta m 1 giá tr) nào ó trong vòng l p. Phép Toán Ví d Lý Gi i ++ $a++ B'ng v i $a= $a + 1 -- $a-- B'ng v i $a= $a – 1 += $a+=$b B'ng v i $a= $a + $b -= $a-=$b B'ng v i $a= $a - $b *= $a*=$b B'ng v i $a= $a * $b /= $a/=$b B'ng v i $a= $a / $b II- Các bi u th c c b n: 1- Bi u th c i u ki n: Cú pháp:If( i u ki n) { hành ng } Ví d&: <?php $a=5;
  • 23. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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- Vòng l p trong PHP: a) While….. Cú pháp: While( i u ki n) { Hành ng – th c thi } Ví d&: <?php $a=1; While($a < 10) { Echo “gia tri $a la”; $a++; } ?> Bài t p áp d&ng: 1- Vi t 1 trang web xu"t ra giá tr) t 1->20. V i )nh d ng font màu -, ki u Tahoma, canh ph i. 2- Vi t 1 trang web có giá tr) t 1->20. Hãy xu"t ra trình duy t nh ng s ch0n n'm trong kho ng 1->20 ó.
  • 24. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 24/68 www.qhonline.info áp Án: Câu 1: <?php $a=1; while($a <= 20) { echo "<br>$a"; $a++; } ?> Câu 2: <?php $a=1; while($a <= 20) { if($a%2==0) echo "<br>$a"; $a++; } ?> b) Do......while: Cú pháp: Do { Hành ng th c thi }while( i u ki n) Ví d&: <?php $a=5; do{ echo "day la gia tri cua $a"; $a++; }while($a >6) ?> c) For…..Loop Cú pháp:
  • 25. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 25/68 www.qhonline.info For( giá tr) ; i u ki n ; bi n t ng ho c gi m) { Hành ng } Ví d& : <?php $a=2; for($i=1; $i<=10; $i++) { echo"$a x $i =".$a*$i."<br>"; } ?> Bài t p ví d&: Xây d ng 1 website th-a yêu c u xu"t ra b ng c(u ch ng t 2 10. áp á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) Phát bi u switch: Cú pháp: Switch(bi n) { Case giá tr) 1: Hành ng; Break; ………… Case giá tr) N: Hành ng; Break; Default: Hành ng; Break; } Ví d&: <?php
  • 26. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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 – T ng k t: K t thúc bài h c này, các b n ít nhi u ã n m c nh ng thu c tính c b n c a các phép toán h c trong PHP, ngoài ra chúng ta c ng t ng b c hi u c cú pháp c a t ng bi u th c. i v i các vòng l p, chúng ta c n hi u và v n chúng m t cách linh ho t và m m d$o, phân bi t c while và do…while. S( d&ng hàm switch trong tr ng h p có quá nhi u giá tr) if…else tr v .
  • 27. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 27/68 www.qhonline.info Bài 3: M ng Trong PHP (Array) I- Nh ng khái ni m c b n: Chúng ta có th t o 1 mãng v i các ph n t( không #ng nh"t v m t d li u. ây là m t u i m c a PHP so v i các lo i ngôn ng khác nh C++ hay Java 1- Cách kh i t o : có nhi u cách $countries[] = “cr”; $countries[] = “de”; $countries[] = “ca”; L u ý : gi a tên bi n mãng và d"u [] không c cách kho ng tr ng mà ph i vi t li n v i nhau, n u không khi l p trình CT s không báo l!i nh ng s cho k t q a sai. Ch s m c )nh trong kh%i t o mãng n u không ch )nh c& th s là b t u t 0, 1, 2... ho c chúng ta s vi t t ng minh h n nh sau : $countries[0] = “cr”; $countries[1] = “de”; $countries[2] = “ca”; Chúng ta c ng có th kh%i t o mãng 1 cách không tu n t nh sau : $countries[50] = “cr”; $countries[20] = “de”; $countries[10] = “ca”; $countries[] = “uk”; // s mang ch s là 51 Ho c : $countries = array (“cr”, “de”, “us”); echo ($countries[2]); // s in ra “us” N u mu n l"y ch s u là 1 ta kh%i t o nh sau : $countries = array (1=> “cr”, “de”, “us”); echo ($countries[2]); // s in ra “de” Toán t( => có th thay i v) trí ví d& : $countries = array (“cr”, 7=>“de”, “us”); /* index 0 là “cr”, index 7 là “de”,
  • 28. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 28/68 www.qhonline.info index 8 là “us” */ m s ph n t( c a mãng ta dùng hàm count, nh ví d& % trên n u ta ghi echo (count ($countries)); // s in ra 3 2- i v i các mãng lo i tu n t : Ta có th in ra theo o n CT sau: ví d& : $countries = array (“cr”, “de”, “us”); $num_elements = count ($countries); for ($idx = 0; $idx < $num_elements; $idx++) { echo (“$countries[$idx]” . “<BR>”); } 3- i v i các mãng lo i không tu n t : Cách 1 : ví d& : $countries[50] = "cr"; $countries[20] = "de"; $countries[10] = "us"; $countries[] = "uk"; reset ($countries); /* a pointer c a mãng v v) trí khai báo u tiên là index 50 */ while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value <BR>"); /* L n l t hi n th) theo th t ã khai báo ban u là index 50, k ti p là index 20 r#i index 10, cu i cùng là index 51 */ } C ch list () : Gán ch s index c a mãng cho i s th nh"t c a list là $key, giá tr) t ng ng v i ch s index ó c a mãng cho i s th hai c a c ch list () là $value each () : C m!i l n c g i s di chuy n pointer c a mãng n thành ph n k ti p c a mãng, gán ch s index c a mãng cho $key và giá tr) t ng ng v i ch s index ó c a mãng cho $value c a c ch list ().
  • 29. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 29/68 www.qhonline.info Cách 2 : Ví d& : function println ($s) { echo (“$s <BR>”); } $countries = array (“ca”, “cr”, “de”, “us”); array_walk ($countries, println); 4- Mãng có ch s là ki u chu!i: Ví d& : $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- Mãng nhi u chi u: Ví d& : $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” s # bi u di n mãng 2 chi u % trên nh sau : $continents[“europe”] $continents[“north america”] [0] [1] [0] [1] [2] “de” “uk” “ca” “cr” “us”
  • 30. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 30/68 www.qhonline.info Phép duy t cho mãng % trên c th c hi n nh sau : ví d& : while (list ($key1) = each ($continents)) { echo (“$key1 : <BR>”); while (list ($key2, $value) = each ($continents[“$key1”])) { echo (“- $value<BR>”); } } II- Các hàm s p x p trên m ng: Quy lu t chung trong s p x p m ng, chúng u tiên s p s tr c, k n là các ký t d"u, r#i m i n các ký t ch , s p x p theo alphabetical 1- Khi ch s (index) là s : Hàm sort () : Ví d& : $countries = array (“us”, “uk”, “ca”, “cr”, “de”); sort ($countries); while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value <BR>"); } s hi n th ra nh sau : Element 0 equals ca Element 1 equals cr Element 2 equals de Element 3 equals uk Element 4 equals us * Ghi Chú: s p x p giá tr) t ng theo alphabetical, ch s index b t u t 0. 2- Khi ch s (index) là chu i : Hàm asort () :
  • 31. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 31/68 www.qhonline.info Ví d& : $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>"); } K t qu : Element ca equals Canada Element cr equals Costa Rica Element de equals Germany Element uk equals United Kingdom Element us equals United States hàm asort () gi nguyên ch s chu!i, ch s p x p trên giá tr) chu!i c a ch s chu!i t ng ng. Các hàm rsort () và arsort () cách th c s( d&ng gi ng nh hàm sort () và asort () nh ng s p x p theo h ng ng c l i v i tr t t tr c ó. 3- S p x p t ng d n theo ch s (index) : Hàm ksort () : Ví d& : $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>"); } K t qu : Element a equals Germany Element b equals Costa Rica Element c equals Canada
  • 32. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 32/68 www.qhonline.info Element d equals United Kingdom Element e equals United States L u ý : không có hàm s p x p gi m d n theo ch s (index), mu n s p x p nh th ta s( d&ng hàm ksort (), r#i sau ó s( d&ng hàm arsort () t c m&c ích nêu trên. 4- Hàm s p x p theo quy nh tr c c a ng !i s d ng: a) Ch liên quan n giá tr) t ng ng v i ch s (index) : Hàm usort () : không gi l i ch s (index) c Ví d& : 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>"); } K t qu : Element 0 equals Canada Element 1 equals Germany Element 2 equals Costa Rica Element 3 equals United States Element 4 equals United Kingdom Vi c s( d&ng hàm usort () trong s p x p cho phép ng i s( d&ng a vào quy )nh s p x p c a riêng h nh trong ví d& trên là v chi u dài c a câu: câu ng n % trên, câu dài % d i, nh ng hàm usort () không gi l i c ch s (index) nguyên th y nh lúc
  • 33. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 33/68 www.qhonline.info ban u c a mãng, mu n gi nguyên ch s (index) nh lúc ban u ta hãy s( d&ng hàm uasort (). b) Ch liên quan n vi c s p x p ch s (index) theo quy )nh tr c b%i ng i s( d&ng : ta s( d&ng hàm uksort () (cách s( d&ng thì t ng t nh hàm v a h c % trên) c) Hàm t o dãy s nguyên ng+u nhiên trong ph m vi t a -> b : ( i u ki n: a : integer, b : integer và a < b) Ví d& : T o dãy s nguyên ng+u nhiên trong ph m t 1 n 10 $int = range (1, 10); srand (time ()); suffle ($int); while (list ( , $num) = each ($int)) { echo (“$num <BR>”); } III – T ng k t: Qua bài h c này, chúng ta tìm hi u k/ v các thành ph n c a m ng m t chi u, nhi u chi u và các hàm c b n v x( lý d li u. Hi u rõ c"u trúc m ng, s s p x p #ng b s giúp ích cho các b n r"t nhi u trong nh ng ng d&ng l n.
  • 34. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 34/68 www.qhonline.info Bài 4: Hàm Và G i L i Hàm I- T o Hàm Trong Php: Ta nên t o các hàm v i lý do: t ng tính nh"t quán, tin c y, gi m th i gian vi t mã và t ng tính m m d$o cho ch ng trình. Trong php, hàm (có giá tr) tr v ) và th t&c (không có giá tr) tr v ) u c g i chung là hàm. )nh ngh a m t hàm c xây d ng b%i ng i s( d&ng nh sau: function tênhàm([thams 1, tham s 2, ...) { //N i dung ph n )nh ngh a c a hàm } Trong ó: function: là t khoá. - Tên hàm: Là m t tên h p l c t theo qui t c nh t tên bi n và không trùng v i các tên hàm ã xây d ng trong php. - M t hàm có th có m t hay nhi u tham s hay không có tham s nào. Các tham s (n u có) s không có kèm theo ki u d li u mà ki u c a nó s tu* thu c vào giá tr) nh n c khi g i hàm. - Ph n n i dung hàm n'm trong c p d"u bao kh i {}. - Hàm s nh n giá tr) tr v thông qua phát bi u return giátr). - return; s thoát kh-i hàm và không tr v giá tr) nào. - return bi uth c; s thoát kh-i ch ng trình và tr v giá tr) bi uth c. - Hàm có th t b"t c v) trí nào trong trang và ch c thi hành khi ta th c hi n g i hàm. Ví d&: Vi t hàm ki m tra xem m t s có ph i là s nguyên t hay không. Hàm s nh n giá tr) tr v : true hay false t ng ng v i tham s nh n vào là s nguyên t hay không. <? //Hàm có giá tr) tr v : true/false. function IsNguyenTo($num) {
  • 35. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 35/68 www.qhonline.info for($i=2; $i<$num; $i++) if ($num % $i==0) return false; return true; } // Hàm không có giá tr) tr v . K t qu in ngay trong hàm function IsNguyenTo2($num) { $i=2; $nto = 1; while ($i<$num) { if ($num % $i==0) { $nto = 0; break; //Thoát kh-i 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>"; //Duy t qua các ph n t( trong m ng for ($i=0; $i<9; $i++) //Truy n tham s và g i hàm. if (IsNguyenTo($ArrNum[$i])) echo "| ". $ArrNum[$i]; echo "<br>"; for ($i=0; $i<9; $i++) IsNguyenTo2($ArrNum[$i]); ?>
  • 36. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 36/68 www.qhonline.info II- Truy n Các Giá Tr M c nh: Các hàm trong php có th nh n các tham s m c )nh. Các tham s m c )nh khi )nh nghiã hàm, chúng c gán giá tr). $thams = giátr). Các hàm có tham s m c )nh nên chuy n các tham s m c )nh sang ph i. function tênhàm($thams _1, $thams _2 = gíatri_2, $thams _3=giátr)_3) Các tham s $thams _2 và $thams _3 là các giá tr) m c )nh. Khi g i hàm, n u ta ch truy n 1 giá tr) cho hàm thì giá tr) ó là c a $thams _1. Các tham s $thams _2 và $thams _3 nh n các giá tr) là gíatri_2 và giátr)_3. Ví d&: Hàm function F($num1, $num2 = 5) {…} ta s g i F(3) 1 F(3, 5). III- Truy n Tham Bi n Và Tham Tr : T"t c các ví d& tr c, t"t c vi c truy n bi n u là tham tr). truy n tham bi n (bi n c truy n có th thay i n i dung khi ra kh-i hàm), khi g i hàm, ta t thêm d"u & tr c bi n c n truy n tham bi n. Ví d&: <? 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; //G i hàm tham tr). F($a, $b); echo " <br>2. Ngoai ham F(), a = " .$a." va b= " .$b; //G i hàm v i bi n $a là tham bi n F(&$a, $b); echo " <br>3. Ngoai ham F() a = " .$a." va b= " .$b; ?>
  • 37. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 37/68 www.qhonline.info K t qu : 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- T m v c c a bi n: M t bi n trong m t hàm ch có ph m vi trong hàm ó. Tuy nhiên, n u trong m t hàm, ta c n truy c p n m t bi n mà không thông qua truy n tham s qua g i hàm, ta ph i s( d&ng t khoá global tr c bi n nh minh ho trong ví d& sau: Hàm local_Func có truy c p n m t bi n ngoài nh ng không s( d&ng t khoá global. Ng c l i hàm global_Func c ng truy c p n cùng m t bi n value, nh ng tác ng % hai hàm s khác nhau. Ví d&: <? 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();
  • 38. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 38/68 www.qhonline.info echo “<p>3. Gtri bien value = “ . $value ?> K t qu : 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- S d ng l i mã PHP: s( d&ng l i mã trong nhi u trang web (các script), ta th ng vi t các hàm, )nh ngh a các h'ng hay các o n mã và l u vào m t file riêng. Khi ó, m t trang php nào c n s( d&ng các o n mã ã vi t, có th chèn vào v) trí c n thi t. chèn m t file có s0n vào trang web, ta s( d&ng m t trong b n câu l nh sau: include (filename), require , include_once, require_once. Ví d&: <? Include (“functions.php”) ?> s chèn file functions.php t cùng th m&c v i trang ang vi t vào ngay v) trí t l nh include. Ví d&: có file includefile.php có n i dung <?php echo 'You have included a file'; ?> T o file mainfile.php có n i dung. <?php include 'includefile.php'; echo 'I should have included a file.'; ?> File mainfile.php t ng ng v i file có n i dung: <?php echo 'You have included a file';
  • 39. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 39/68 www.qhonline.info echo 'I should have included a file.'; ?> Khác bi t gi a include, include_once, require, require_once Include: c file filename vào ngay t i v) trí câu l nh. Tr ng tr ng h p không tìm th"y file filename, Ch ng trình phát ra c nh báo nh ng v+n ti p t&c th c thi các câu l nh sau include. Require: Th c thi gi ng include, tuy nhiên khi không tìm th"y filename, ch ng trình s không ti p t&c th c thi các câu l nh ti p theo. Require_once và Include_once: Làm vi c gi ng nh require và include nh ng nó ch cho phép filename ch c chèn vào trang web m t l n. VI- T ng k t: K t thúc bài h c này, h2n các b n ã có nh ng khái ni m c b n v hàm và cách s( d&ng l i mã PHP. Trên ng d&ng th c t vi c dùng các hàm tri u g i óng vai trò khá quan tr ng, nó giúp mã ngu#n c a ng i s( d&ng logic và d dàng ch nh s(a h n, vi c ng d&ng nó trên website nh th nào c ng s tùy bi n h n so v i cách vi t tr c ti p trên t ng file.
  • 40. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 40/68 www.qhonline.info Bài 5: Làm Vi c V i Chu!i I- Nh ng khái ni m c b n: Trong PHP chu!i c xác )nh theo 3 cách: + D"u nháy n : VD: ‘abc’; + D"u nháy kép : VD “abc”; + Heredoc Ví d&: <?php $str = <<<EOD Example of string spanning multiple lines using heredoc syntax. EOD; ?> Khuy n khích s( d&ng ki u nháy kép vì nó h! tr nhi u ký t c bi t h n ki u nháy n. 1- Ph "ng th c n i chu i và ký t c bi t trong PHP: n i 2 chu!i v i nhau, PHP cho phép ng i s( d&ng dùng cú pháp: d"u (.) n i hai chu!i v i nhau thành 1 chu!i dài h n. Ví d&: <?php $a=”abc”; Echo “12345 ”.$a. “mnb”; ?> x( lý nh ng ký t l trong chu!i nh d"u “ ho c $, PHP cung c"p cho ta 1 ph ng th c x( lý hi u qu . ó là thêm d"u “” sau m!i giá tr). Ví d&: <?php Echo “gia tri $a trong PHP that “de hieu” phai khong nao”; ?> Ta có b ng ký t sau:
  • 41. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 41/68 www.qhonline.info n Ký t xu ng dòng r Tr% v u dòng t Ký t tab backslash $ dollar sign " double-quote II- Các hàm v chu i c b n: 1- Hàm substr() : cú pháp : string substr (string source, int begin, int length); tr v 1 chu!i con trong chu!i c n l"y, i s th 3 là tùy ch n, v) trí u tiên c a chu!i c tính là v) trí 0. ví d& 1: echo (substr (“christopher”, 1)); // in ra “hristopher” echo (substr (“christopher”, -2)); // in ra “er” //N u i s th hai là s âm nó s m t cu i chu!i ng c l i phía tr c s ký t b'ng v i giá tr) tuy t i c a s âm ó. 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 “” chu!i r!ng 2- Hàm strlen(): cú pháp : int strlen (string str); xác )nh chi u dài c a chu!i Ví d& : echo (strlen (“Christopher”)); // in ra s 11 3- Hàm thay #i ki u ch : + Hàm strtoupper () : i ch th ng thành hoa
  • 42. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 42/68 www.qhonline.info ví d& : strttoupper (“toi”); // in ra “TOI” + Hàm strtolower () : i ch hoa thành th ng ví d& : strlower (“TOI”); // in ra “toi” + Hàm ucfirst () : i ch in ký t u tiên c a câu ví d& : ucfirst (“in house”); // in ra “In house” + Hàm ucwords () : i ch in ký t u tiên c a m!i t ví d& : ucwords (“in house”); // in ra “In House” 4- Hàm so sánh chu i: Có th dùng toán t( so sánh = = (b'ng), !=, <, <=, >, >=, === so sánh các chu!i. Ngoài ra, ta còn có m t s ph ng th c so sánh chu!i nh sau: Các hàm strcmp(), strcasecmp(), strnatcmp() s so sánh các chu!i theo phép so sánh t i n. Hàm int strcmp(string S1, string S2): So sánh 2 chu!i S1, S2 có phân bi t hoa/th ng. Hàm này tr v giá tr) >0 n u S1>S2, 0 n u S1=S2 và giá tr) <0 n u S1<S2. Nói chung hàm này có th s( d&ng gi ng toán t( so sánh trong bi u th c. Hàm int strcasecmp(string S1, string S2): Gi ng hàm strcmp() nh ng không phân bi t ch hoa và ch th ng. Ví d& <?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)
  • 43. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 43/68 www.qhonline.info echo “$var1 = $var2”; ?> K t qu hi n th : Length Hello:5 Hello = hello in a case-insensitive Hello < hello 5- Hàm tìm ki m và thay th chu i: + Tìm ki m chu!i bên trong chu!i : tìm ki m 1 chu!i bên trong 1 chu!i khác, b n có th s( d&ng 1 trong 3 hàm strstr (), strchr (), strrchr () hay stristr (), các hàm trên s tr v chu!i str1, n u tìm th"y chu!i str1 trong chu!i str2, ng c l i hàm tr v giá tr) false, n u có nhi u chu!i con str1 trong str2, thì hàm này ch tìm ki m chu!i str1 u tiên. Hàm strstr () : cú pháp : string strstr (string str1, string str2); ví d& : <?php $str = “Your customer service is excellent”; echo (strstr ($str, “is”) . “<BR>”); // is excellent ?> + Hàm t o chu!i con:Hàm string substr (string S, int start [, int length]): tr v chu!i con c thành l p t( chu!i S v i các tham s start và length. N u start >=0: s tr v chu!i b t u t v) trí start trong S. Ví d&: <?php $rest = substr ("abcdef", 1); // returns "bcdef" $rest = substr ("abcdef", 1, 3); // returns "bcd" ?> N u start <0: s tr v chu!i b t u t v) trí start c a S tính t cu i chu!i. <?php
  • 44. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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" ?> N u length >=0 (giá tr) m c )nh là 0), chu!i tr v có chi u dài length ký t tính t v) trí start. N u length < 0: Chu!i tr v chu!i t start t i v) trí k t thúc cách cu i chu!i length ký t . + Hàm thay th chu!i con : Hàm str_replace () : Cú pháp : string str_replace (string str1, string str2, string str); Hàm thay th chu!i S1 b'ng chu!i S2 trong chu!i S. Trong tr ng h p có nhi u S1 trong S, t"t c các S1 u c thay b%i S2 (thay th t"t c ). <?php $bodytag = str_replace ("%body%", "black", "<body text=%body%>"); //$bodytag = "<body text=%body%>” ?> Hàm substr_replace () : Cú pháp : string substr_replace (string str, string replacement, int start, int [length]); Hàm này s thay th chu!i str b'ng chu!i replacement, ph n nào c a chu!i str c thay th s tùy thu c vào 2 tham s là start và length. + start : v) trí b t u c a chu!i thay th replacement trong chu!i str N u start >= 0 : v) trí thay th s c tính t u chu!i tr% i, start tính b'ng n v) ký t (v) trí th nh"t c a chu!i là 0). N u start < 0 : Nó s c tính b t u t cu i chu!i. +length : là tham s tùy ch n, cho bi t i m d ng vi c thay th . N u không có i s này thì vi c thay th s là t v) trí start n cu i chu!i. N u length = 0 : vi c thay th s là chèn vào v) trí start và ký t tr c start N u length > 0 : cho bi t s ký t mà b n mu n thay th v i replacement N u length < 0 : cho bi t i m k t thúc vi c thay th tính t v) trí cu i chu!i tr% l i
  • 45. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 45/68 www.qhonline.info Các hàm c gi i thi u phía trên là nh ng hàm thông d&ng và th ng s( d&ng. bi t thêm thông tin nhi u hàm h n, các b n có th truy c p vào website : php.net l"y thông tin y v các hàm trong chu!i. III- T ng k t: , bài này chúng ta ã làm tìm hi u k/ v ki u d li u chu!i, nh ng hàm ph& tr quan tr ng trong vi c l p trình ng d&ng nh tìm ki m, thay th , so sánh,…. i v i PHP chu!i là m t trong nh ng m ng có phong phú v các hàm, s( d&ng t t chúng b n c n hi u rõ nguyên t c ho t ng c a t ng hàm, n m v ng c"u trúc c b n trong các hàm chu!i t ó chúng ta d dàng v n d&ng chúng trong các ng d&ng l n.
  • 46. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 46/68 www.qhonline.info Bài 6: Các Thao Tác Trên File I- C b n v File: 1- M file : S( d&ng hàm fopen () Cú pháp : int fopen (string filename, string mode) i v i h i u hành Unix hay Linux, th m&c g c c )nh ngh a b'ng d"u /, nh ng i v i h i u hành Windows, th m&c g c c )nh ngh a trên m t d a c& th nào ó ví d& nh C:, d"u phân cách gi a các th m&c và t p tin trong Unix ho c Linux chúng ta s( d&ng d"u /, còn trong windows chúng ta s( d&ng ví d& : trong Linux : $fl = fopen (“/website/customers.txt”, “w”); trong Windows : $fw = fopen (“C:webdesignsales.txt”, “r”); a. Các ch m file : Mode Di n gi i r Read only r+ Read_Write w Write Only w+ Write_Read. N u file này t#n t i, n i dung c s b) xoá i, còn n u không t#n t i nó s c t o m i a M% d i d ng append d li u, ch có write, n u file t#n t i, s ghi ti p vào ph n d i c a n i dung có s0n, n u file không t#n t i s c t o m i. a+ M% d i d ng append d li u (write và read), n u file t#n t i, d li u s ghi ti p vào ph n bên d i c a n i dung c , n u file không t#n t i s c t o m i b M% d i ch file binary Trong tr ng h p không bi t file n'm % v) trí nào trên h th ng, b n có th khai báo thêm tham s là s 1 cho hàm fopen () nh sau :
  • 47. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 47/68 www.qhonline.info $fw = fopen (“customers.txt”, “a”, 1); ví d& : <html> <body> Open File <BR> <? $f = “C:thuchanhvanban.txt” $fw = fopen ($f, “a”); ?> </body> </html> b. M file thông qua ftp hay http : Ví d& : $f = “ftp://www.qhonline.info/orders.txt”; $fw = fopen ($f, “a”); ho c : $f = “http://www.qhonline.info.com/orders.txt”; $fw = fopen ($f, “a”); c. M file và vi c s d ng toán t @ b t l i Xem o n ch ng trình sau ây : <html> <body> Open file and Debug <BR> <? $f = “C:thuchanhvanban.txt”; @$fw = fopen ($f, “a”); if (!$fw) { echo (“File b) tr&c tr c, không m% c”); }
  • 48. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 48/68 www.qhonline.info ?> </body> </html> 2- óng file : hàm fclose () Cú pháp : int fclose (int fw) $fw là bi n nh n giá tr) tr v khi g i hàm m% file $fw = fopen (...); 3- Hi n th file : hàm fpassthru () Cú pháp : int fpassthru (int fw) Hàm này có th hi n th) c file nh Ví d& : if (!$fw = fopen (“picture.gif”, “rb”)) { echo (“could not open file”); } else { fpassthru ($fw); } 4- c file : a) Hàm fread () Cú pháp : string fread (int fw, int length); m!i l n c length ký t Ví d& : if (!$fw = fopen (“vanban.txt”, “r”)) { echo (“could not open file”); } else { $text = fread ($fw, 10); // c 10 ký t u c a file fclose ($fw); }
  • 49. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 49/68 www.qhonline.info N u nh file có s ký t ít h n length ký t trong fread (), nó s c úng s ký t c a file. b) Hàm fgetc (): Cú pháp : string fgetc (int fw) c úng 1 ký t c a file. N u file r!ng (không có ký t ) thì nó s tr v m t chu!i r!ng (false) c) Hàm fgets () Cú pháp : string fgets (int fw, int length); s d ng vi c c file khi g p ký t new line hay cu i file. d) Hàm fgetss () Cú pháp và ho t ng y nh hàm fgets (), nh ng các ký t n'm trong c p d"u <> s b) lo i b- khi c, cho dù v y nó v+n c tính vào chi u dài c a chu!i c. e) Hàm file () Cú pháp : array file (string filename); m!i dòng c a file c c s là 1 ph n t( c a mãng, dòng u tiên c a file s là ph n t( 0 Ví d& : $arrtext = file (“vanban.txt”); for ($i = 0; $i < count ($arrtext); $i++) { echo (“<P> $arrtext[$i] </P>”); } 5- Ghi lên file : Hàm fwrite () và fputs () Cú pháp : int fwrite (int fw, string str, int length); int fputs (int fw, string str, int length); i s th ba n u không a vào thì toàn b chu!i s c ghi, còn n u a vào i s th ba thì nó s ghi vào file chu!i str ( i th hai) có dài úng b'ng chi u dài length c a i s th ba.
  • 50. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 50/68 www.qhonline.info II- Các hàm x lý file: 1- Các hàm d ch chuy n ho c qu n lý con tr$ m%u tin trong file : a) Hàm rewind () Cú pháp : int rewind (int fw); a con tr- m3u tin v u file b) Hàm fseek () Cú pháp : int fseek (int fw, int offset); Di chuy n con tr- m3u tin n m t v) trí xác )nh trong file offset : s byte ho c s character tính t u file Ví d& : fseek ($fw, 1); // di chuy n n ký t th hai c a file c) Hàm ftell () Cú pháp : int ftell (int fw); cho bi t v) trí hi n th i c a con tr- m3u tin Ví d& : fseek ($fw, ftell ($fw) + 20); t v) trí hi n th i d)ch chuy n thêm 20 ký t d) Hàm feof () Cú pháp : int feof (int fw); cho bi t v) trí cu i file Ví d& : if (!$fw = fopen (“vanban.txt”, “r”)) { echo (“could not open file”); } else { while (!feof ($fw)) { echo (fgetc ($fw)); } } 2- Copy, Delete, Rename file: a) Hàm Copy () Cú pháp : int copy (string source, string destination);
  • 51. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 51/68 www.qhonline.info b) Hàm unlink () Cú pháp : int unlink (string filename); delete file, file c delete ph i óng (không m%) c) Hàm rename () Cú pháp : int rename (string oldname, string newname); t tên file l i II- T ng k t: Vi c s( d&ng file m t cách thành th o s giúp b n d dàng v n hành các ng d&ng mang quy mô v a và nh- nh : website nhi u ngôn ng , b m,…và c nh ng công ngh web m i nh XML m t cách d dàng, Qua bài h c này chúng ta c ng hi u c nguyên lý ho t ng, trình t x( lý 1 file d li u khi chúng c tri u g i trong tài li u PHP.
  • 52. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 52/68 www.qhonline.info Bài 7: X( Lý Form Trong PHP I- T ng tác v i ng i s d ng: PHP cho phép ng i s( d&ng t ng tác v i chúng thông qua form nh p li u c vi t thu n túy trên HTML. Tuy nhiên làm c i u "y PHP yêu c u form ph i áp ng 1 s quy )nh chung t ra. Chúng ta cùng phân tích th$ form trong HTML sau: <form name=”Tên form” action=”link x( lý” method=”Ph ng th c”> Chúng ta th"y r'ng 1 form ph i bao g#m: Tên form d dàng tách bi t v i giá tr) c a chúng. Action: hành ng chuy n ti p n link x( lý. Method: Là ph ng th c truy n bao g#m POST và GET. Ví d&: <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> V y làm cách nào chúng ta l"y c giá tr) v a nh p li u nào ?. PHP cho phép ta l"y giá tr) d a vào 2 ph ng th c POST và GET. i v i POST ta có : $_POST[‘Giá tr)’] i v i GET ta có : $_GET[‘Giá tr)’] V y v i o n code trên có th l"y c bi n x( lý là : $_POST[‘username’]; II- X lý d li u t! trang ng i nh p li u. 1- Ph "ng th c POST: Ph ng th c này c s( d&ng l"y d li u t form nh p li u. Và chuy n chúng lên trình ch webserver. 2- Ph "ng th c GET: Ph ng th c này c ng c dùng l"y d li u t form nh p li u. Tuy nhiên nhi m v& chính c a nó v+n là l"y n i dung trang d li u t web server. Bài t p ví d&:
  • 53. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 53/68 www.qhonline.info Xây d ng 1 trang HTML v i n i dung g#m form nh p li u h và tên. Sau ó dùng 1 file php xu"t ra thông tin h và tên mà ng i s( d&ng v a nh p li u. áp Án: T o file userform.htm v i n i 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> T o file processform.php xu"t ra d li u <? echo “Welcome, ” . $_POST[‘username’] . “!”; ?> Bài t p áp d&ng : T o 1 trang web v i h p tho i nh p li u username và password. N u ng i s( d&ng nh p thông tin username/password là admin/12345 thì xu"t ra thông báo “welcome, admin” v i ki u ch Tahoma, màu -. Ng c l i n u nh p sai thì xu"t thông báo “Username ho c password sai. Vui lòng nh p l i”. áp án: T o trang login.html v i n i 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> Ti p t&c t o trang checklogin.php v i n i dung sau:
  • 54. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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- T ng K t: K t thúc bài này các b n ã n m c k/ thu t ki m tra thông tin d a trên PHP. K/ thu t xây d ng trang upload, ki m tra tính h p l c a ng i s( d&ng 1 cách d dàng b%i s tùy bi n trong các bi u th c c a PHP.
  • 55. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 55/68 www.qhonline.info Bài 8: Qu n Lý Phiên Làm Vi c I- T ng quan v cookie: Cookie là 1 o n d li u c ghi vào a c ng ho c b nh c a máy ng i s( d&ng. Nó c trình duy t g%i ng c lên l i server m!i khi browser t i 1 trang web t server. Nh ng thông tin c l u tr trong cookie hoàn toàn ph& thu c vào website trên server. M!i website có th l u tr nh ng thông tin khác nhau trong cookie, ví d& th i i m l n cu i ta ghé th m website, ánh d"u ta ã login hay ch a, v.v... Cookie c t o ra b%i website và g%i t i browser, do v y 2 website khác nhau (cho dù cùng host trên 1 server) s có 2 cookie khác nhau g%i t i browser. Ngoài ra, m!i browser qu n lý và l u tr cookie theo cách riêng c a mình, cho nên 2 browser cùng truy c p vào 1 website s nh n c 2 cookie khác nhau. 1- Thi t l&p cookie trong PHP: thi t l p cookie ta s( d&ng cú pháp: Setcookie(“tên cookie”,”giá tr)”) Tên cookie là tên mà chúng ta t cho phiên làm vi c. Giá tr) là thông s c a tên cookie. Ví d&: Setcookie(“username”,”admin”) Nh ví d& trên ta th"y v i tên là username và giá tr) là admin. Chú ý: K)ch b n cookie ph i t trên m i giá tr) tr v bao g#m th$ HTML và l nh echo. 2- S d ng cookie trong PHP: s( d&ng l i cookie v a thi t l p, chúng ta s( d&ng cú pháp: Cú pháp: $_COOKIE[“tên cookies”] Tên cookie là tên mà chúng ta thi t l p phía trên. Ví d&: T o trang cookie.php v i n i dung sau: <?php
  • 56. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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> Ti p t&c t o trang cookie2.php v i n i dung sau: <html> <head><title>Result Page</title></head> <body> <?php echo "Ten cua ban la <b>".$_COOKIE['name']."</b>"; ?> </body> </html> 3- nh d ng các tham s khác trong cookie: Cú pháp c b n: Setcookie(“Tên Cookie”,”Giá tr)”,”Th i Gian”,” ng d+n”,”Tên mi n”,”An toàn” Tên cookie là tên mà chúng ta t cho phiên làm vi c. Giá tr) là thông s c a tên cookie. Th i gian là th i h n dùng thi t l p s t#n t i c a cookie. c tính theo s giây so v i m c ngày 1-1-1970. Th ng c tính b'ng th i gian hi n t i c ng v i 1 kho ng th i gian nào ó mu n s( d&ng cookie ng d+n là th m&c nào thì cookie có tác d&ng. Tên mi n là tên trang web mà chúng ta thi t l p cookie . An toàn là s l a ch n cookie có c g(i theo giao th c HTTPS hay không. Ch n 1 là có và 0 là k t n i thông th ng(HTTP). Ví d&: Setcookie(“user_id”,”1301”,time()+3600,”/”,””,0); Tên cookie: User_id Giá tr): 1301 Th i gian: Cookie t#n t i trong 1 gi tính t th i gian thi t l p.
  • 57. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 57/68 www.qhonline.info ng d+n: trên m i th m&c Tên mi n: B- qua thu c tính này An toàn: Ch"p nh n giao th c HTTP(thông th ng). 4- H y Cookie: h y 1 cookie ã c t o ta có th dùng 1 trong 2 cách sau: a) Cú pháp: setcookie(“Tên cookie”) G i hàm setcookie v i ch duy nh"t tên cookie mà thôi b) Dùng th i gian h t h n cookie là th i i m trong quá kh . Ví d&: setcookie(“name”,”Kenny Huy”,time()-3600); Ví d&: Ti p t&c t o trang cookie3.php v i n i 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> Bài t p áp d ng: Xây d ng website s( d&ng tính n ng cookie th-a mãn nh ng yêu c u sau: 1- T o trang ng nh p v i username/password là : admin/vietchuyen. N u user ng nh p thành công thì s xu"t ra dòng welcome, admin. 2- T o trang ng xu"t thoát kh-i ph n qu n tr)
  • 58. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 58/68 www.qhonline.info II- T ng quan v SESSION M t cách khác qu n lý ng i s( d&ng là session. Session c hi u là kho ng th i gian ng i s( d&ng giao ti p v i 1 ng d&ng. M t session c b t u khi ng i s( d&ng truy c p vào ng d&ng l n u tiên, và k t thúc khi ng i s( d&ng thoát kh-i ng d&ng. M!i session s có c c"p m t )nh danh (ID) khác nhau và n i dung c l u trong th m&c thi t l p trong file php.ini (tham s session.save_path). Trong PHP, session c xem nh m t i u khi n phía server l u tr và qu n lý phiên làm vi c. làm c i u này, khi m t ng i s( d&ng truy c p vào m t website, webserver cung c"p cho ng i s( d&ng m t xâu giá tr) là SessionID g i là xâu )nh danh- ví d& 9b02405434373d6d96c8db11ed819a60. Gía tr) xâu này m t giá tr) ng+u nhiên và nó c g(i t i máy ng i s( d&ng thông qua cookie có tên PHPSESSID. Giá tr) này t#n t i cho n khi nào chu k* s ng c a session k t thúc ho c ng i s( d&ng di chuy n t i website khác. Chu k* s ng c a session do webserver qui )nh. Ta có th i u ch nh chu k* này khi c"u hình webserver. Bên phía server, m t t p tin có tên t ng ng PHPSESSID c ng c t o ra. Các bi n session s c l u trong m t t p tin v n b n này và % t i v) trí c qui )nh trong file php.ini % dòng session.save_path. 1- Thi t l&p 1 session trong PHP: thi t l p 1 session ta s( d&ng cú pháp: session_start() o n code này ph i c n'm trên các k)ch b n HTML. Ho c nh ng l nh echo, printf. thi t l p 1 giá tr) session, ngoài vi c cho phép b t u th c thi session. Chúng ta còn ph i ng ký 1 giá tr) session. ti n cho vi c gán giá tr) cho session ó. Ta có cú pháp sau: session_register(“Name”) Ví d&: <?php Session_start(); Session_register(“username”); ?>
  • 59. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 59/68 www.qhonline.info 2- S d ng giá tr c a session: Gi ng v i cookie. s( d&ng giá tr) c a session ta s( d&ng mã l nh sau: Cú pháp: $_SESSION[“name”] V i Name là tên mà chúng ta s( d&ng hàm session_register(“name”) khai báo. Ví d&: T o trang session.php v i n i 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> T o trang session2.php v i n i 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- H y b$ session trong PHP: h y b- giá tr) c a session ta có nh ng cách sau: Session_destroy() // Cho phép h y b- session Session_unset()// Cho phép h y b- session (bao g#m t"t c nh ng gì có liên quan). Chú ý: Nên c3n tr ng khi s( d&ng hàm unset. Ví d& T o trang session3.php v i n i dung sau:
  • 60. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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> Bài t p áp d ng: Xây d ng website s( d&ng tính n ng session th-a mãn nh ng yêu c u sau: 1- T o trang ng nh p v i username/password là : admin/vietchuyen. N u user ng nh p thành công thì s xu"t ra dòng welcome, admin. 2- T o trang ng xu"t thoát kh-i ph n qu n tr) III- T ng K t: Sau bài h c này chúng ta ã n m c cách i u khi n phiên làm vi c gi a cookie và session. S( d&ng chúng trong t ng tr ng h p c& th . T ó có th áp d&ng vi t nh ng ng d&ng nh- nh ki m soát ng i ng nh p, làm gi- hàng online,…..
  • 61. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 61/68 www.qhonline.info Bài 9: T ng Quan V MYSQL I- Nh ng khái ni m c b n: Mysql là h qu n tr) d li u mi n phí, c tích h p s( d&ng chung v i apache, PHP. Chính y u t phát tri n trong c ng #ng mã ngu#n m% nên mysql ã qua r"t nhi u s h! tr c a nh ng l p trình viên yêu thích mã ngu#n m%. 1- Cách kh i ng và s d ng MYSQL. Chúng ta s( d&ng command nh sau: Mysql –hname –uuser –ppass truy c p vào c s% d li u. Ho c s( d&ng b appserv vào nhanh h n theo ng d+n sau: Start/ Appserv/ Mysql command Line client Sau ó nh p password mà chúng ta ã t vào. 2- Nh ng nh ngh a c" b n: a) nh ngh a c" s d li u, b ng, c t: C s% d li u: là tên c a c s% d li u chúng ta mu n s( d&ng B ng: Là 1 b ng giá tr) n'm trong c s% d li u. C t là 1 giá tr) n'm trong b ng. Dùng l u tr các tr ng d li u. Thu c tính Ví d&: B ng 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 Nh v y ta có th hi u nh sau: 1 c s% d li u có th bao g#m nhi u b ng. 1 b ng có th bao g#m nhi u c t
  • 62. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 62/68 www.qhonline.info 1 c t có th có ho c không có nh ng thu c tính. b) )nh ngh a 1 s thu t ng : NULL : Giá tr) cho phép r!ng. AUTO_INCREMENT : Cho phép giá tr) t ng d n (t ng). UNSIGNED : Ph i là s nguyên d ng PRIMARY KEY : Cho phép nó là khóa chính trong b ng. c)Lo i d li u trong Mysql: , ây chúng t ch gi i thi u 1 s lo i thông d&ng: 1 s d li u khác có th tham kh o trên trang ch c a mysql. Ki u d li u Mô T Char )nh d ng text có chi u dài t 0->255 Varchar )nh d ng text có chi u dài t 0->255 Text )nh d ng text có chi u dài 0->65535 Longtext )nh d ng text có chi u dài 0->4294967215 INT )nh d ng s có chi u dài t 0->4294967215 Float )nh d ng s th p phân có chi u dài nh- Double )nh d ng s th p phân có chi u dài l n Date )nh d ng th i gian theo )nh d ng: YYYY-MM-DD DateTime )nh d ng th i gian theo )nh d ng: YYYY-MM-DD HH:MM:SS 3- Nh ng cú pháp c" b n: Cú pháp t o 1 c s% d li u: CREATE DATABASE tên_c _s%_d _li u Cú pháp s( d&ng c s% d li u: Use tên_database; Cú pháp thoát kh-i c s% d li u: Exit Cú pháp t o 1 b ng trong c s% d li u: CREATE TABLE user (<tên_c t> <mô_t >,…,<tên_c t_n>…..<mô_t _n>) Ví d&: mysql> create table user(user_id INT(15) UNSIGNED NOT NULL AUTO_INCREMENT, user
  • 63. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c 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) Hi n th) có bao nhi u b ng: show tables; Hi n th) có bao nhiêu c t trong b ng: show columns from table; Thêm 1 c t vào b ng : ALTER TABLE tên_b ng ADD <tên_c t> <thu c_tính> AFTER <tên_c t> Ví d&: 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- Nh ng cú pháp sql c b n: 1- Thêm giá tr vào b ng: Cú pháp: INSERT INTO Tên_b ng(tên_c t) VALUES(Giá_tr)_t ng_ ng); Ví d&: 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 xu t d li u: Cú pháp: SELECT tên_c t FROM Tên_b ng; Ví d&: mysql> select user_id,username from user; 3 rows in set (0.00 sec) 4- Truy xu t d li u v i i u ki n: Cú pháp: SELECT tên_c t FROM Tên_b ng WHERE i u ki n; Ví d&:
  • 64. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 64/68 www.qhonline.info mysql> select user_id,username from user where user_id=2; Bài t p áp d ng: T o c s% d li u v i thông 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 Th c hi n các công vi c sau: 1- T o 1 b ng v i các c t trên. 2- Nh p li u thông tin theo nh b ng trên. 3- Li t kê t"t c thông tin c a nh ng ai có sex là female. 4- Li t kê thông tin c a ng i có Lname là “Van Hoa”. 5- Li t kê t"t c thông tin c a nh ng ai có sex là male và có h là “Nguy n”. 6- Li t kê fname,lname, email c a nh ng ai có s phone “0903234532”. 7- Dùng hàm mã hóa b o m t password c a ng i dùng. 5- Truy c&p d li u và s p x p theo trình t Cú pháp: SELECT tên_c t FROM Tên_b ng WHERE i u ki n (có th có where ho c không) ORDER BY Theo quy c s p x p. Trong ó quy c s p x p bao g#m hai thông s là ASC (t trên xu ng d i), DESC (t d i lên trên). Ví d&:
  • 65. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 65/68 www.qhonline.info mysql> select user_id,username from user order by username ASC ; Câu l nh trên l"y ra thông tin user_id và username t b ng user và chúng c s p x p theo username trình t t trên xu ng d i. 6- Truy c&p d li u có gi i h n : Cú pháp: SELECT tên_c t FROM Tên_b ng WHERE i u ki n (có th có where ho c không) LIMIT v) trí b t u, s record mu n l"y ra Ví d&: mysql> select user_id,username from user order by username ASC limit 0,10 ; Câu l nh trên l"y ra thông tin user_id và username t b ng user. Chúng c s p x p theo username trình t t trên xu ng d i. Và l"y ra 10 record t v) trí 0. 7- C&p nh&t d li u trong b ng: Cú pháp: Update tên_b ng set tên_c t=Giá tr) m i WHERE ( i u ki n). N u không có ràng bu c i u ki n, chúng s c p nh t toàn b giá tr) m i c a các record trong b ng. Ví d&: mysql> update user set email=”admin@qhonline.info” where user_id=1 ; 8- Xóa d li u trong b ng: Cú pháp: DELETE FROM tên_b ng WHERE ( i u ki n). N u không có ràng bu c i u ki n, chúng s xó toàn b giá tr) c a các record trong b ng. Ví d& mysql>delete from user where user_id=1 ;
  • 66. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 66/68 www.qhonline.info III- Mysql và PHP: 1- K t n i c" s d li u: Cú pháp: Mysql_connect(“hostname”,”user”,”pass”) 2- L a ch n c" s d li u: Cú pháp: Mysql_select_db(“tên_CSDL”) Ví d : $conn=mysql_connect(“localhost”,”root”,”root”) or die(“ khong the ket noi”); Mysql_select_db(“demo”); 3- Th c thi câu l nh truy v n: Cú pháp: Mysql_query(“Câu l nh SQL”) 4- m s record trong b ng: Cú pháp: Mysql_num_rows(); 5- L y d li u t' database: Cú pháp: 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) {
  • 67. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 67/68 www.qhonline.info $row=mysql_fetch_array($query) } ?> Bài t p áp d ng: Xu"t thông tin ng i dùng t c s% d li u % bài t p trên b'ng 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- T ng k t: , bài này chúng ta ã làm vi c v i sql và các k/ thu t k t n i v i database c a PHP. Các hàm PHP h! tr mysql hi n nay có r"t nhi u. Tuy nhiên v tính n ng c ng nh ph ng th c s( d&ng thì chúng c ng gi ng nhau. Do v y các b n không nên lo l ng khi làm vi c v i nh ng hàm mà chúng ta ang nghiên c u.
  • 68. Giáo trình PHP C n B n Gi ng Viên: Bùi Qu c Huy Trang 68/68 www.qhonline.info Ph n C: Project Training V i nh ng ki n th c ã h c c, b n hãy áp d&ng xây d ng hoàn ch nh m t ng d&ng web c& th và n p chúng cho gi ng viên c a b n. M t s project tiêu bi u khuy n khích các h c viên làm: tài 1: Xây d ng trang tin t c i n t( v i các tính n ng chuyên nghi p nh (chuyên m&c tin, tin t c,…