C u trúc c a 1 th trong HTML bao g m:ấ ủ ẻ ồ
- D u "<". N u là th đóng thì s b t đ u b ng "</"ấ ế ẻ ẽ ắ ầ ằ
- Tên thẻ
- Các tham s khác n u có. N u là th đóng thì không c n tham s .ố ế ế ẻ ầ ố
- D u ">".ấ
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
ph n thân tài li uầ ệ
</BODY>
</HTML>
Toàn b n i dung chính c a trang HTML đ c đ t trong c p thộ ộ ủ ượ ặ ặ ẻ
<BODY></BODY>
Các th x lý đo n văn b nẻ ử ạ ả Bây gi chúng ta l n l t đi qua các c p th hay s d ng nh t. Xin nóiờ ầ ượ ặ ẻ ử ụ ấ
thêm: th có c u trúc: <tên_th thu c_tính1="gia_tri1" thu c_tính2="gia_tri2">. T t nhiên các b n cóẻ ấ ẻ ộ ộ ấ ạ
th b m t s thu c tính đi (lúc đó, các thu c tính b b đi s đ c đ t ng m đ nh b i trình duy t, r tể ỏ ộ ố ộ ộ ị ỏ ẽ ượ ặ ầ ị ở ệ ấ
khó ch u)ị
1. Các th x lý đo nẻ ử ạ
a). Th phân chia đo nẻ ạ
Trong HTML, các đo n tài li u, văn b n, hình nh… đ c phân chia b ng c p th <P>văn b n</P>ạ ệ ả ả ượ ằ ặ ẻ ả
Th <P> có 1 s thu c tính sau:ẻ ố ộ
Align: Thu c tính này s ch a 1 trong 3 giá tr :ộ ẽ ứ ị
- center: Đo n tài li u s đ c canh ch nh vào gi aạ ệ ẽ ượ ỉ ữ
- left: Đo n tài li u s đ c canh ch nh theo l tráiạ ệ ẽ ượ ỉ ề
- right: Đo n tài li u s đ c canh ch nh theo l ph iạ ệ ẽ ượ ỉ ề ả
- justify: Đo n tài li u s đ c canh ch nh theo hai bênạ ệ ẽ ượ ỉ
Ví d :ụ
HTML>
<BODY>
<p align ="justify"> Th m t tíử ộ </p>
</BODY>
</HTML>
Style: Thu c tính này s quy đ nh kho ng cách l c a đo n. Trong thu c tính này l i có các thu c tínhộ ẽ ị ả ề ủ ạ ộ ạ ộ
con, tuy nhiên các thu c tính con này đ c đ t cách nhau b ng d u ch m ph y. T t nhiên các b nộ ượ ặ ằ ấ ấ ẩ ấ ạ
cũng có th lo i b thu c tính con:ể ạ ỏ ộ
- margin-left : x (x là s nguyên ch đ nh chi u r ng c a l trái)ố ỉ ị ề ộ ủ ề
- margin-right : y (y là s nguyên ch đ nh chi u r ng c a l ph i)ố ỉ ị ề ộ ủ ề ả
- margin-top: z (z là s nguyên ch đ nh chi u r ng c a l trên)ố ỉ ị ề ộ ủ ề
- margin-bottom: t(t là s nguyên ch đ nh chi u r ng c a l d i)ố ỉ ị ề ộ ủ ề ướ
- line-height: u% (u: kho ng cách gi a các dòng tính theo đ n v 100 %)ả ữ ơ ị
Ví d :ụ
HTML Code:
<HTML>
<BODY>
<p align ="center" style ="margin-left: 10; margin-right: 5; margin-
top: 6; margin-bottom: 6"> Th hai tí. Tí th 2 này xác đ nh đo n vănử ứ ị ạ
1
b n căn gi a, có l trái = 10, l ph i b ng 5, l trên = 6, l d iả ữ ề ề ả ằ ề ề ướ
= 6. H t tí th 2.ế ứ </p>
<p align ="left" > Th ba tí. Tí th 3 này xác đ nh đo n văn b n cănử ứ ị ạ ả
trái, các l đ t theo m c đ nh c a trình duy tề ặ ặ ị ủ ệ </p>
<p align ="left" style="line-height: 150%" > Th ba tí. Tí th 3 nàyử ứ
xác đ nh đo n văn b n căn trái, các l đ t theo m c đ nh c a trìnhị ạ ả ề ặ ặ ị ủ
duy tệ </p>
</BODY>
</HTML>
b. Th xu ng dòngẻ ố
Trong HTML, các ký t xu ng dòng không đ c s d ng. Đ ng t m t dòng nào đó, ta dùng thự ố ượ ử ụ ể ắ ộ ẻ
<BR>. Đây là 1 th đ n:ẻ ơ
HTML Code:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<p align="left" style="margin-left : 30">
Trung thu là t t thi u nhiế ế <BR>T i sao ng i l n l i đi ch i nhi uạ ườ ớ ạ ơ ề
<BR>Ch i nhi u thì s làm li uơ ề ẽ ề <BR>Làm li u l i đ ra nhi u thi uề ạ ẻ ề ế
nhi<BR></p>
</BODY>
</HTML>
Chú ý:
M t c p th khác cũng đ c s d ng đ canh ch nh đo n tài li u hay b ng bi u:ộ ặ ẻ ượ ử ụ ể ỉ ạ ệ ả ể
- <center>…</center>: Xác đ nh canh ch nh m t đo n tài li u ho c b ng bi u vào gi a trang.ị ỉ ộ ạ ệ ặ ả ể ữ
C u trúc c a m t file HTML có d ng:ấ ủ ộ ạ
Các th x lý font ch :ẻ ử ữ
a. Th Meta:ẻ
Th này có nhi u thu c tính khác nhau và cũng làm nhi u nhi m v khác nhau. Tuy nhiên đây tôi chẻ ề ộ ề ệ ụ ở ỉ
nói v cách ng d ng th này đ hi n th các đo n mã ti ng Vi t.ề ứ ụ ẻ ể ể ị ạ ế ệ
Tr c đây các lo i font ch ti ng Vi t r t phong phú, đi u này khi n cho ng i s d ng ti ng Vi tướ ạ ữ ế ệ ấ ề ế ườ ử ụ ế ệ
trên th gi i ph i than tr i m c lên. R t may là t i th i đi m này, h u h t các font ch ti ng Vi tế ớ ả ờ ầ ỹ ả ấ ạ ờ ể ầ ế ữ ế ệ
th i "đ đá" không còn đ c ng d ng trong thi t k web n a, thay vào đó là các chu n qu c tờ ồ ượ ứ ụ ế ế ữ ẩ ố ế
Unicode.
đây tôi xin gi i thi u 2 chu n Unicode ti ng Vi t ph bi n và cách s d ng th meta cho t ngỞ ớ ệ ẩ ế ệ ổ ế ử ụ ẻ ừ
tr ng h p c th :ườ ợ ụ ể
- Mã UTF-8: Là mã font Unicode rút g n (bi u di n font ch theo ki u 8 bit. Khi ta khai báo:ọ ể ễ ữ ể
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Trình duy t s hi u là t khi đ c đ c dòng ch này, nó s gi i mã các ký t theo ki u UTF-8. Và khiệ ẽ ể ừ ọ ượ ữ ẽ ả ự ể
b n g i d li u t m u bi u c a HTML đi, d li u đó cũng ph i đ c mã hoá theo tiêu chu n UTF-8.ạ ử ữ ệ ừ ẫ ể ủ ữ ệ ả ượ ẩ
Ch ng h n, đ trình duy t hi n th đúng bài th :ẳ ạ ể ệ ể ị ơ
Trung thu là t t thi u nhiế ế
T i sao ng i l n l i đi ch i nhi uạ ườ ớ ạ ơ ề
Ch i nhi u thì s làm li uơ ề ẽ ề
Làm li u l i đ ra nhi u thi u nhi.ề ạ ẻ ề ế
2
Thì đo n mã HTML do ta sinh ra ph i có d ng:ạ ả ạ
<HTML>
<BODY>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<p align="left" style="margin-left : 30">
<img src ="bigreen.gif">
Trung thu là tết thiếu nhi<BR>Tại sao ngÆ°á»i lá»›n lại Ä‘i chÆ¡i nhiá»u <BR>ChÆ¡i nhiá»u
thà sẽ là m liá»u<BR>Là m liá»^u lại đẻ ra nhiá»^u thiếu nhi.<BR></p>
</BODY>
</HTML>
T t nhiên chúng ta có th s d ng ch ng trình Vietkey ho c Unikey đ gõ ti ng vi t theo ki u UTF-ấ ể ử ụ ươ ặ ể ế ệ ể
8 (s d ng b ng mã Unicode UTF-8), nh ng s h i khó ch u m t tí .ử ụ ả ư ẽ ơ ị ộ
- Mã UTF-16 bít: Là mã font Unicode 16 bít. Ta ph i khai báo nh sau:ả ư
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
Trình duy t s hi u là t khi đ c đ c dòng ch này, nó s gi i mã các ký t theo ki u UTF-16 bit.ệ ẽ ể ừ ọ ượ ữ ẽ ả ự ể
Và khi b n g i d li u t m u bi u c a HTML đi, d li u đó cũng ph i đ c mã hoá theo tiêu chu nạ ử ữ ệ ừ ẫ ể ủ ữ ệ ả ượ ẩ
UTF- 16 bít trên.
Ch ng h n, đ trình duy t hi n th đúng bài th :ẳ ạ ể ệ ể ị ơ
Trung thu là t t thi u nhiế ế
T i sao ng i l n l i đi ch i nhi uạ ườ ớ ạ ơ ề
Ch i nhi u thì s làm li uơ ề ẽ ề
Làm li u l i đ ra nhi u thi u nhi.ề ạ ẻ ề ế
Thì đo n mã HTML do ta sinh ra ph i có d ng:ạ ả ạ
<HTML>
<BODY>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<p align="left" style="margin-left : 30">
<img src ="bigreen.gif">
Trung thu l#224; t#7871;t thi#7871;u nhi<BR>T#7841;i sao ng#432;#7901;i l#7899;n l#7841;i #273;i
ch#417;i nhi#7873;u.<BR>Ch#417;i nhi#7873;u th#236; s#7869; l#224;m li#7873;u<BR>L#224;m
li#7873;u l#7841;i #273;#7867; ra nhi#7873;u thi#7871;u nhi<BR></p>
</BODY>
</HTML>
T t nhiên chúng ta có th s d ng ch ng trình Vietkey ho c Unikey đ gõ ti ng Vi t theo chu n nàyấ ể ử ụ ươ ặ ể ế ệ ẩ
v i h th ng b ng mã Unicode UCS2ớ ệ ố ả
Chú ý:
1: M t s ch ng trình so n th o có h tr ch đ hi n th mã ti ng Vi t trong quá trình so n th o.ộ ố ươ ạ ả ỗ ợ ế ộ ể ị ế ệ ạ ả
Khi đó n u các b n m ch đ mã HTML mà v n đ c đ c ti ng Vi t nh th ng thì các b n cế ạ ở ế ộ ẫ ọ ượ ế ệ ư ườ ạ ứ
ung dung gõ ti ng Vi t theo ki u Unicode thông th ng là đ c. Còn n u nó hi n th ra các ký tế ệ ể ườ ượ ế ể ị ự
lo ng ngo ng thì các b n ph i đoán mò ra d ng chu n mã hoá font c a nó và s d ng ch đ gõ chằ ằ ạ ả ạ ẩ ủ ử ụ ế ộ ữ
t ng ng.ươ ứ
2: Trong tài li u này tôi s đánh ti ng Vi t thông th ng, các b n s ph i ch u trách nhi m x lý mãệ ẽ ế ệ ườ ạ ẽ ả ị ệ ử
ti ng Vi t trong các đo n ví d .ế ệ ạ ụ
b) C p th <font>…</font>ặ ẻ
C p th này quy đ nh tên font, màu s c, kích c font. Nó có nh ng thu c tính sau:ặ ẻ ị ắ ỡ ữ ộ
Face: Tên c a font, ch ng h n: Arial, .VnTime, Times New Romanủ ẳ ạ
Size: Kích c c a font, bé nh t là 1.ỡ ủ ấ
Color: Màu s c cùa font, bao g m d u # và 6 ch s hex ti p theo quy đ nh mã màu RGBắ ồ ấ ữ ố ế ị
Ví d :ụ
<HTML>
<BODY>
<p align ="center"><font face="Arial" size="5" color="#800000">T t trung thu</font></p>ế
3
<p align="left" style="margin-left : 30"><font size ="2" name ="Verdana">
Trung thu là t t thi u nhi<BR>T i sao ng i l n l i đi ch i nhi u <BR>Ch i nhi u thì s làmế ế ạ ườ ớ ạ ơ ề ơ ề ẽ
li u<BR>Làm li u l i đ ra nhi u thi u nhi<BR></font></p>ề ề ạ ẻ ề ế
</body></html>
c. Các th đ nh d ng ch nghiêng, đ m, g ch chân:ẻ ị ạ ữ ậ ạ
- Đ nh dang ch đ m:ị ữ ậ
C p th <B>…</B> xác đ nh đo n văn b n gi a s b in đ m. C p th này không có tham s kèmặ ẻ ị ạ ả ở ữ ẽ ị ậ ặ ẻ ố
theo.
- Đ nh dang ch nghiêng:ị ữ
C p th <i>…</i> xác đ nh đo n văn b n gi a s b in nghiêng. C p th này không có tham s kèmặ ẻ ị ạ ả ở ữ ẽ ị ặ ẻ ố
theo.
- Đ nh dang ch g ch chân:ị ữ ạ
C p th <u>…</u> xác đ nh đo n văn b n gi a s b g ch chân. C p th này không có tham sặ ẻ ị ạ ả ở ữ ẽ ị ạ ặ ẻ ố
kèm theo.
Ví d :ụ
<HTML>
<BODY>
<p align ="center"><font face="Arial" size="5" color="#800000"><B><I>T t trungế
thu</font></I></B></p>
<p align="left" style="margin-left : 30"><font size ="2" name ="Verdana">
Trung thu là t t thi u nhi<BR>T i sao ng i l n l i đi ch i nhi u <BR>Ch i nhi u thì s làmế ế ạ ườ ớ ạ ơ ề ơ ề ẽ
li u<BR>Làm li u l i đ ra nhi u thi u nhi<BR></font></p>ề ề ạ ẻ ề ế
</body></html>
Các th x lý đo nẻ ử ạ
a). Th phân chia đo nẻ ạ
Trong HTML, các đo n tài li u, văn b n, hình nh… đ c phân chia b ng c p th <P>văn b n</P>ạ ệ ả ả ượ ằ ặ ẻ ả
Th <P> có 1 s thu c tính sau:ẻ ố ộ
Align: Thu c tính này s ch a 1 trong 3 giá tr :ộ ẽ ứ ị
- center: Đo n tài li u s đ c canh ch nh vào gi aạ ệ ẽ ượ ỉ ữ
- left: Đo n tài li u s đ c canh ch nh theo l tráiạ ệ ẽ ượ ỉ ề
- right: Đo n tài li u s đ c canh ch nh theo l ph iạ ệ ẽ ượ ỉ ề ả
- justify: Đo n tài li u s đ c canh ch nh theo hai bênạ ệ ẽ ượ ỉ
Ví d :ụ
<HTML>
<BODY>
<p align ="justify"> Th m t tí</p>ử ộ
</BODY>
</HTML>
Style: Thu c tính này s quy đ nh kho ng cách l c a đo n. Trong thu c tính này l i có các thu c tínhộ ẽ ị ả ề ủ ạ ộ ạ ộ
con, tuy nhiên các thu c tính con này đ c đ t cách nhau b ng d u ch m ph y. T t nhiên các b nộ ượ ặ ằ ấ ấ ẩ ấ ạ
cũng có th lo i b thu c tính con:ể ạ ỏ ộ
- margin-left : x (x là s nguyên ch đ nh chi u r ng c a l trái)ố ỉ ị ề ộ ủ ề
- margin-right : y (y là s nguyên ch đ nh chi u r ng c a l ph i)ố ỉ ị ề ộ ủ ề ả
- margin-top: z (z là s nguyên ch đ nh chi u r ng c a l trên)ố ỉ ị ề ộ ủ ề
- margin-bottom: t(t là s nguyên ch đ nh chi u r ng c a l d i)ố ỉ ị ề ộ ủ ề ướ
- line-height: u% (u: kho ng cách gi a các dòng tính theo đ n v 100 %)ả ữ ơ ị
Ví d :ụ
<HTML>
<BODY>
<p align ="center" style ="margin-left: 10; margin-right: 5; margin-top: 6; margin-bottom: 6"> Th hai tí.ử
Tí th 2 này xác đ nh đo n văn b n căn gi a, có l trái = 10, l ph i b ng 5, l trên = 6, l d i = 6.ứ ị ạ ả ữ ề ề ả ằ ề ề ướ
H t tí th 2.</p>ế ứ
<p align ="left" > Th ba tí. Tí th 3 này xác đ nh đo n văn b n căn trái, các l đ t theo m c đ nh c aử ứ ị ạ ả ề ặ ặ ị ủ
trình duy t</p>ệ
4
<p align ="left" style="line-height: 150%" > Th ba tí. Tí th 3 này xác đ nh đo n văn b n căn trái, cácử ứ ị ạ ả
l đ t theo m c đ nh c a trình duy t</p>ề ặ ặ ị ủ ệ
</BODY>
</HTML>
. Th xu ng dòngẻ ố
Trong HTML, các ký t xu ng dòng không đ c s d ng. Đ ng t m t dòng nào đó, ta dùng thự ố ượ ử ụ ể ắ ộ ẻ
<BR>. Đây là 1 th đ n:ẻ ơ
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<p align="left" style="margin-left : 30">
Trung thu là t t thi u nhi<BR>T i sao ng i l n l i đi ch i nhi u <BR>Ch i nhi u thì s làmế ế ạ ườ ớ ạ ơ ề ơ ề ẽ
li u<BR>Làm li u l i đ ra nhi u thi u nhi<BR></p>ề ề ạ ẻ ề ế
</BODY>
</HTML>
Chú ý:
M t c p th khác cũng đ c s d ng đ canh ch nh đo n tài li u hay b ng bi u:ộ ặ ẻ ượ ử ụ ể ỉ ạ ệ ả ể
- <center>…</center>: Xác đ nh canh ch nh m t đo n tài li u ho c b ng bi u vào gi a trang.ị ỉ ộ ạ ệ ặ ả ể ữ
Các th liên k t:ẻ ế
a. Th liên k t v i hình nh:ẻ ế ớ ả
Trong HTML, chúng ta không th chèn tr c ti p toàn b ru t gan c a m t file hình nh, mà ta ph i chể ự ế ộ ộ ủ ộ ả ả ỉ
d n đ n hình nh đ t bên ngoài. Đ làm đi u này, ta dùng th <img>. Đây là 1 th đ n.ẫ ế ả ặ ể ề ẻ ẻ ơ
Th này có m t s thu c tính sau:ẻ ộ ố ộ
- Src: Xác đ nh đ a ch URL c a hình nh:ị ị ỉ ủ ả
- align: Xác đ nh ki u canh l :ị ể ề
- right: Canh theo l ph iề ả
- left:Canh theo l tráiề
- center:Canh theo l gi a.ề ữ
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<p align="left" style="margin-left : 30">
<img src ="bigreen.gif" align = "right">
Trung thu là t t thi u nhi<BR>T i sao ng i l n l i đi ch i nhi u <BR>Ch i nhi u thì s làmế ế ạ ườ ớ ạ ơ ề ơ ề ẽ
li u<BR>Làm li u l i đ ra nhi u thi u nhi<BR></p>ề ề ạ ẻ ề ế
</BODY>
</HTML>
- border: Xác đ nh chi u dày c a vi n bao quanh nh.ị ề ủ ề ả
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<p align="left" style="margin-left : 30">
<img src ="bigreen.gif" border ="5">
Trung thu là t t thi u nhi<BR>T i sao ng i l n l i đi ch i nhi u <BR>Ch i nhi u thì s làmế ế ạ ườ ớ ạ ơ ề ơ ề ẽ
li u<BR>Làm li u l i đ ra nhi u thi u nhi<BR></p>ề ề ạ ẻ ề ế
</BODY>
</HTML>
b. Th liên k t trang web.ẻ ế
5
Đ t o m t liên k t t i m t trang web khác, ta dùng c p th <a></a>. C p th này có các thu c tínhể ạ ộ ế ớ ộ ặ ẻ ặ ẻ ộ
sau:
Href: Đ a ch URL c a trang web c n liên k t t i. b n đã có m t bookmark trên trang web, b n có thị ỉ ủ ầ ế ớ ạ ộ ạ ể
tr đ n v trí c a bookmark b ng cách dùng thu c tính href v i d u # và tên bookmark.ỏ ế ị ủ ằ ộ ớ ấ
name: Xác đ nh tên c a bookmark (đi m liên k t trong n i t i trang web).ị ủ ể ế ộ ạ
Ví d , ta có 2 trang web:ụ
Trang th nh t có đ a ch là "tettrungthu.htm", có n i dung sau:ứ ấ ị ỉ ộ
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<p align="left" style="margin-left : 30">
<img src ="bigreen.gif" border ="5">
Trung thu là t t thi u nhi<BR>T i sao ng i l n l i đi ch i nhi u <BR>Ch i nhi u thì s làmế ế ạ ườ ớ ạ ơ ề ơ ề ẽ
li u<BR>Làm li u l i đ ra nhi u thi u nhi<BR></p>ề ề ạ ẻ ề ế
</BODY>
</HTML>
Trang th 2 có tên là danhsachthovui.htm, có n i dung sau:ứ ộ
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<p align="left" style="margin-left : 30">
Tet trung thu
</p>
</BODY>
</HTML>
Gi s ta mu n thêm m t liên k t v i file "tettrungthu.htm" vào ch Tet trung thu trong fileả ử ố ộ ế ớ ữ
danhsachthovui.htm, ta ph i chèn c p th <a> </a> nh sau:ả ặ ẻ ư
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<p align="left" style="margin-left : 30">
<a href ="tettrungthu.htm">Tet trung thu</a>
</p>
</BODY>
</HTML>
Chú ý: c 2 file này ph i đ c đ t cùng th m c. Trong tr ng h p đ t khác th m c các b n ph iả ả ượ ặ ư ụ ườ ợ ặ ư ụ ạ ả
ghi rõ đ ng d n đ n file kia.ườ ẫ ế
Các c p th x lý b ng:ặ ẻ ử ả
Các b ng trong HTML đ c đ nh nghĩa nh sau:ả ượ ị ư
Đ nh nghĩa 1 b ng b i c p th <table></table>ị ả ở ặ ẻ
Trong 1 b ng (table) đ c chia làm nhi u dòng , m i dòng gi i h n b i 1 c p th <tr></tr>.ả ượ ề ỗ ớ ạ ở ặ ẻ
Trong m i dòng l i có các ô , gi i h n b i c p th <td></td>ỗ ạ ớ ạ ở ặ ẻ
Ch ng h n đ đ nh nghĩa 1 b ng g m có 1 dòng và 3 ô, ta làm nh sau:ẳ ạ ể ị ả ồ ư
<table>
<tr>
<td>Ô th nh t</td>ứ ấ
<td>Ô th 2</td>ứ
<td>Ô th 3</td>ứ
</tr>
6
</table>
Ho c đ đ nh nghĩa m t b ng g m 2 dòng, m i dòng 3 ô:ặ ể ị ộ ả ồ ỗ
<table>
<tr>
<td>Ô th nh t dòng 1</td>ứ ấ
<td>Ô th 2 dòng 1</td>ứ
<td>Ô th 3 dòng 1</td>ứ
</tr>
<tr>
<td>Ô th nh t dòng 2</td>ứ ấ
<td>Ô th 2 dòng 2</td>ứ
<td>Ô th 3 dòng 2</td>ứ
</tr>
</table>
Chú ý: S l ng các ô trong các dòng ph i b ng nhau, n u 1 dòng nào đó có s ô khác v i dòng khác,ố ượ ả ằ ế ố ớ
b ng s b "v k ho ch". Đ kh c ph c đi u này, ta ph i tính tr c trong 1 b ng, s l ng t i đaả ẽ ị ỡ ế ạ ể ắ ụ ề ả ướ ả ố ượ ố
các ô c a 1 dòng s là bao nhiêu, sau đó có th dùng thu c tính colspan c a th <td> đ g p các ôủ ẽ ể ộ ủ ẻ ể ộ
tr ng trong cùng 1 hàng l i v i nhau.ố ạ ớ
Thu c tính colspan s ch đ nh s l ng các ô đ c g p vào nhau trên m t hàng.ộ ẽ ỉ ị ố ượ ượ ộ ộ
Ch ng h n:ẳ ạ
<table>
<tr>
<td colspan = "2" >Ch p ô th nh t và ô th 2 c a dòng 1</td>ậ ứ ấ ứ ủ
<td>Ô th 3 dòng 1</td>ứ
</tr>
<tr>
<td>Ô th nh t dòng 2</td>ứ ấ
<td>Ô th 2 dòng 2</td>ứ
<td>Ô th 3 dòng 2</td>ứ
</tr>
</table>
M t s thu c tính có liên quan:ộ ố ộ
Th Table:ẻ
- border: Xác đ nh đ dày c a khung bao quanh b ngị ộ ủ ả
- bordercolor: Màu c a khung bao quanh, vi t d i d ng d u # và 6 ch s HEX ti p theo.ủ ế ướ ạ ấ ữ ố ế
- cellspacing: Xác đ nh kho ng cách gi a các ô trong b ng.ị ả ữ ả
- width: Xác đ nh đ r ng c a b ngị ộ ộ ủ ả
- background: Xác đ nh hình nh s đ c s d ng đ làm n n cho toàn b ngị ả ẽ ượ ử ụ ể ề ả
- bgcolor: Xác đ nh màu n n c a b ng, vi t theo ki u #XXXXXX (s HEX).ị ề ủ ả ế ể ố
Th <td>ẻ
- width: Đ r ng c a ôộ ộ ủ
- height: Chi u cao c a ôề ủ
- colspan: Xác đ nh bao nhiêu ô tính t ô đó s đ c ch p vào làm 1 (trên cùng 1 dòng)ị ừ ẽ ượ ậ
- rowspan: Xác đ nh bao nhiêu ô tính t ô đó s đ c ch p vào làm 1 (trên cùng 1 c t).ị ừ ẽ ượ ậ ộ
- background: Xác đ nh hình nh s đ c s d ng đ làm n n cho ôị ả ẽ ượ ử ụ ể ề
- bgcolor: Xác đ nh màu n n ô, vi t theo ki u #XXXXXX (s HEX).ị ề ế ể ố
Bài 7: Các câu l nh gán và r nhánhệ ẽ :
Các câu l nh trong ngôn ng l p trìnhệ ữ ậ
Đ l p trình gi i m t bài toán nào đó, chúng ta ph i s d ng các câu l nh sau:ể ậ ả ộ ả ử ụ ệ
1. L nh gán: đ c s d ng đ đ t m t giá tr vào m t bi n nào đó.ệ ượ ử ụ ể ặ ộ ị ộ ế
2. L nh r nhánh: Đ c s d ng đ xác đ nh xem ch ng trình s th c hi n công vi c gì trong đi uệ ẽ ượ ử ụ ể ị ươ ẽ ự ệ ệ ề
ki n ra saoệ
3. L nh l p: Cho phép ch ng trình c a b n t đ ng l p l i các thao tác nào đóệ ặ ươ ủ ạ ự ộ ặ ạ
Quá trình xây d ng các b c đ th c hi n m t bài toán nào đó, g i là quá trình xây d ng thu t gi i.ự ướ ể ự ệ ộ ọ ự ậ ả
1. L nh gánệ
7
L nh này đã đ c h c bài tr c:ệ ượ ọ ở ướ
Cú pháp:
$ten_bien = gia_tri;
Ví d :ụ
$ngay_sinh="1/4/1980";
$que_quan="Thanh Hoa";
$luong=300000;
2. Các câu l nh r nhánhệ ẽ
Trong PHP có 2 d ng r nhánh: r hai nhánh (if) và r nhi u nhánh.ạ ẽ ẽ ẽ ề
L nh r nhánh là m t trong nh ng câu l nh quan tr ng nh t c a t t c các ngôn ng l p trình. Nó choệ ẽ ộ ữ ệ ọ ấ ủ ấ ả ữ ậ
phép b n th c thi m t đo n mã khi mà đi u ki n ch đ nh là đúng.ạ ự ộ ạ ề ệ ỉ ị
Trong PHP, l nh r nhánh có d ng sau:ệ ẽ ạ
if (đi u ki n)ề ệ
{
công vi c c n làmệ ầ
}
Ví d :ụ
if ($name="Sinh")
{
echo ("Good morning, my boss");
}
N u kh i câu l nh c n làm ch bao g m duy nh t m t dòng l nh, ta có th b c p d u {} :ế ố ệ ầ ỉ ồ ấ ộ ệ ể ỏ ặ ấ
if ($name="Sinh")
echo ("Good morning, my boss");
Nh ng n u nhi u h n m t dòng l nh, ta ph i đ a chúng vào c p d u ngo c {}:ư ế ề ơ ộ ệ ả ư ặ ấ ặ
if ($name=="Sinh")
{
echo ("Good morning, my boss");
echo ("Have a romantic day!");
}
Đo n l nh trên s ki m tra n u đi u ki n bi n $name = "Sinh" thì nó s hi n th l i chào. Còn n uạ ệ ẽ ể ế ề ệ ế ẽ ể ị ờ ế
không thì nó không làm gì c !ả
Đi u ki n đ t vào có th là đúng, có th là sai, có th là t ng h p c a nhi u đi u ki n. Hãy xem ví dề ệ ặ ể ể ể ổ ợ ủ ề ề ệ ụ
sau:
if ("false" )
echo ("Khong co gi ca");
if (($name=="sinh") && ($pass=="test"))
echo ($name. "đã nh p đúng password");ậ
Đo n l nh trên có th vi t t ng đ ng v i:ạ ệ ể ế ươ ươ ớ
if ($name=="sinh")
{
if ($pass=="test")
echo ($name. "đã nh p đúng password");ậ
}
Nh b n th y trên, trong m t câu l nh, chúng ta có th chèn nhi u đo n l nh khác, ng i ta g i đóư ạ ấ ở ộ ệ ể ề ạ ệ ườ ọ
là c u trúc kh i, t c là trong m t kh i l nh, có th có ch a nhi u kh i l nh con khác. N u b n ph iấ ố ứ ộ ố ệ ể ứ ề ố ệ ế ạ ả
đ c mã ngu n c a ng i khác, hi v ng b n không b hoa m t vì hàng ch c kh i l nh chen chúc vàoọ ồ ủ ườ ọ ạ ị ắ ụ ố ệ
nhau nh v y.ư ậ
Chúng ta có th s d ng các toán t &&, || hay xor đ k t n i các đi u ki n v i nhau nh b n th y ể ử ụ ử ể ế ố ề ệ ớ ư ạ ấ ở
trên
Câu l nh r nhánh đ y đ :ệ ẽ ầ ủ
N u đi u ki n ki m tra tr v false (sai), PHP cho phép chúng ta ch đ nh th c thi m t kh i mã l nhế ề ệ ể ả ề ỉ ị ự ộ ố ệ
khác b ng t khoá elseằ ừ
Ví d :ụ
8
if (($name=="sinh") && ($pass=="test"))
{
echo ("Good day, ".$name);
}
else
{
echo {"Sai mat khau!")
}
Chú ý đ n m t ngo i l sau: Tr c t khoá else không bao gi có d u ch m ph y (.ế ộ ạ ệ ướ ừ ờ ấ ấ ẩ
L nh r nhi u nhánh:ệ ẽ ề
V i câu l nh if, PHP cho phép chúng ta r nhi u nhánh thông qua t khoá elseif:ớ ệ ẽ ề ừ
if (dieu_kien1)
{
doan_lenh_1;
}
elseif (dieu_kien_2)
{
doan_lenh_2
}
elseif (dieu_kien_3)
} // bao nhiêu t khoá elseif cũng đ cừ ượ
else
{
doan_lenh_n
}
Ví d :ụ
if ($thu==2)
{
echo ("Chao co, van, su, ly");
}
elseif ($thu==3)
{
echo (" Hoa, Sinh, Dia, GDCD");
}
elseif ($thu==4)
{
echo ("KTCN, Van, Toan, Tieng Anh");
}
elseif ($thu==5)
{
echo (" Hoa, Toan, Van, Tin");
}
elseif ($thu==6)
{
echo ("Toan, Van, Anh, Sinh hoat");
}
else
{
echo ("Duoc di choi");
}
Trong ví d trên, chúng ta đã l p đi l p l i thao tác ki m tra giá tr c a bi n $thu, m c dù nó khôngụ ặ ặ ạ ể ị ủ ế ặ
thay đ i qua các dòng. Đ kh c ph c s dài dòng này, PHP cho phép ta s d ng câu l nh switch. Câuổ ể ắ ụ ự ử ụ ệ
l nh này s đ c s d ng đ ki m tra khi mu n xem xét qua nhi u giá tr c a m t bi n:ệ ẽ ượ ử ụ ể ể ố ề ị ủ ộ ế
9
switch ($bien){
Case gia_tri 1:
doan_lenh_1;
break;
Case gia_tri 2:
doan_lenh_2;
break;
Case gia_tri n:
doan_lenh_n;
break;
default:
doan_lenh_khac;
}
Ví d :ụ
switch ($thu){
case 2:
echo ("Chao co, van, su, ly");
break;
case 3:
echo (" Hoa, Sinh, Dia, GDCD");
break;
case 4:
echo ("KTCN, Van, Toan, Tieng Anh");
break;
case 5:
echo (" Hoa, Toan, Van, Tin");
break;
case 6:
echo ("Toan, Van, Anh, Sinh hoat");
break;
default:
echo ("Duoc di choi");
}
Câu l nh switch s c l ng giá tr c a bi n $thu, và so sánh nó v i giá tr c a m nh đ case. Khiệ ẽ ướ ượ ị ủ ế ớ ị ủ ệ ề
m t giá tr h p l đ c tìm th y, nó s th c hi n câu l nh t ng ng v i giá tr đó. Còn n u không,ộ ị ợ ệ ượ ấ ẽ ự ệ ệ ươ ứ ớ ị ế
nó s t đ ng th c hi n câu l nh trong m nh đ default. Hãy chú ý r ng m nh đ defaul là tuỳ ch nẽ ự ộ ự ệ ệ ệ ề ằ ệ ề ọ
(b n có th có nó ho c không c n nó)ạ ể ặ ầ
Chú ý: Sau m i m nh đ trong câu l nh switch, c n ph i s d ng câu l nh break. N u không thìỗ ệ ề ệ ầ ả ử ụ ệ ế
ch ng trình s th c thi t t t n t t các đo n mã l nh n m trong câu l nh switch. ươ ẽ ự ấ ầ ậ ạ ệ ằ ệ
Bài 8: Các câu l nh l pệ ặ
L nh đi u khi n vòng l pệ ề ể ặ
Đi u khi n vòng l p, t c là b n đi u khi n ch ng trình c a b n t đ ng th c hi n m t đo n mãề ể ặ ứ ạ ề ể ươ ủ ạ ự ộ ự ệ ộ ạ
l nh nào đó l p đi l p l i nhi u l n (l p m t s l ng l n nào đó, ho c l p cho đ n khi tho mãnệ ặ ặ ạ ề ầ ặ ộ ố ượ ầ ặ ặ ế ả
m t đi u ki n nào đó).ộ ề ệ
PHP cung c p cho chúng ta hai ki u vòng l p: vòng l p while (l p ki m tra đi u ki n, cho đ n khiấ ể ặ ặ ặ ể ề ệ ế
đi u ki n đ c tho mãn) và vòng l p for (xác đ nh s l n l p l i)ề ệ ượ ả ặ ị ố ầ ặ ạ
a) Vòng l p whileặ
Vòng l p while là m t d ng vòng l p đ n gi n nh t, c u trúc c a nó g n gi ng nh l nh if:ặ ộ ạ ặ ơ ả ấ ấ ủ ầ ố ư ệ
while (đi u ki n)ề ệ
{
//Khoi cau lenh can lap
}
Vòng l p while s c l ng m t bi u th c giá tr ki u boolean (đúng ho c sai).N u giá tr c a bi uặ ẽ ướ ượ ộ ể ứ ị ể ặ ế ị ủ ể
th c là false, đo n mã trong c p d u ngo c (đo n mã c n l p) s đ c b qua và nh y đ n đo n mãứ ạ ặ ấ ặ ạ ầ ặ ẽ ượ ỏ ả ế ạ
sau vòng l p. N u giá tr c a nó là true, đo n mã trong c p d u ngo c s đ c th c thi. Khi b t g pặ ế ị ủ ạ ặ ấ ặ ẽ ượ ự ắ ặ
10
d u ngo c ôm ("}") , đi u ki n ki m tra s đ c tính toán l i, và n u giá tr v n là true, đo n mãấ ặ ề ệ ể ẽ ượ ạ ế ị ẫ ạ
trong ngo c l i ti p t c đ c th c thi. Chú ý r ng đi u ki n l p ch đ c tính toán t i th i đi m b tặ ạ ế ụ ượ ự ằ ề ệ ặ ỉ ượ ạ ờ ể ắ
đ u l p. Vì v y, dù đi u ki n l p có b thay đ i trong quá trình th c thi đo n l nh trong c p d u {}ầ ặ ậ ề ệ ặ ị ổ ự ạ ệ ặ ấ
thì đo n l nh đó v n đ c ti p t c th c hi n cho đ n h t. Mu n d ng l i m t v trí xác đ nh nào đóạ ệ ẫ ượ ế ụ ự ệ ế ế ố ừ ạ ở ộ ị ị
trong kh i câu l nh, chúng ta s d ng l nh break:ố ệ ử ụ ệ
Ví d 1: Tính t ng t 1 đ n 5:ụ ổ ừ ế
<?php
$i=0;
$tong=0;
while ($i<=5)
{
$tong=$tong+$i;
$i+=1;
}
?>
Ví d 2: Đo n mã sau s hi n th trên trình duy t 3 ô textbox (V i đi u ki n b n ph i save nó d iụ ạ ẽ ể ị ệ ớ ề ệ ạ ả ướ
m t file *.php :ộ
<HTML>
<TABLE>
<BODY>
<?php
$i=1;
while ($i<=3)
{
?>
<TR><TD> <INPUT type="text"> </TD></TR>
<?php
$i+=1;
}
?>
</table>
</body>
</html>
b. Vòng l p do whileặ
Vòng l p này gi ng nh vòng l p while, nh ng thay vì ki m tra đi u ki n vào lúc đ u c a đo n l nhặ ố ư ặ ư ể ề ệ ầ ủ ạ ệ
c n l p, thì nó l i ki m tra giá tr đi u ki n vào cu i vòng l p. Đi u này có nghĩa là nó luôn luôn th cầ ặ ạ ể ị ề ệ ố ặ ề ự
hi n đo n l nh c n l p ít nh t m t l n.ệ ạ ệ ầ ặ ấ ộ ầ
C u trúc c a nó nh sau:ấ ủ ư
do
{ Đo n (kh i) câu l nh c n l pạ ố ệ ầ ặ
} while (đi u ki n);ề ệ
Ví d :ụ
<HTML>
<TABLE>
<BODY>
<?php
$i=1;
do
{
?>
<TR><TD> <INPUT type="text"> </TD></TR>
<?php
$i+=1;
}while ($i<=3);
11
?>
</table>
</body>
</html>
Đ xác đ nh l i s khác nhau c a 2 câu l nh trên, đ n gi n b n ch vi c thay đi u ki n $i<=3 thànhể ị ạ ự ủ ệ ơ ả ạ ỉ ệ ề ệ
$i<1, b n s th y hai k t qu khác nhau li n . Ph n này dành cho b n t ng i nghĩ. OK???ạ ẽ ấ ế ả ề ầ ạ ự ồ
Quên m t, lúc nãy tôi đ c p đ n l nh break, nh ng ch a cho ví d , bây gi chúng ta hãy xem xét víấ ề ậ ế ệ ư ư ụ ờ
d sau:ụ
Các b n bi t r ng giai th a là m t con s l n kinh kh ng, và ch ng trình c a chúng ta s tính toán nạ ế ằ ừ ộ ố ớ ủ ươ ủ ẽ
giai th a, v i s n đ c g i đ n theo đ a ch url: ừ ớ ố ượ ử ế ị ỉ http://dia_chi_trang_web_cua_ban/giaithua.php?n=xx
( đó x là m t s do ng i dùng t nh p)ở ộ ố ườ ự ậ
Do giai th a là m t con s c c kỳ l n, nên chúng ta ch cho phép ng i dùng tính đ n t i đa là 8 giaiừ ộ ố ự ớ ỉ ườ ế ố
th a ch ng h n. N u h nh p l n h n 8 thì sao? Hãy xem đây:ừ ẳ ạ ế ọ ậ ớ ơ
<HTML>
<?php
// Ghi lai voi ten file la giaithua.php
$giaithua=1;
$i=1;
while ( $i<=$n)
{
$giaithua*=$i;
$i+=1;
if ($i>8 )
{
echo ("Chi tinh den 8! <BR>");
break;
}
}
echo ("Ket qua la: ".$giaithua);
?>
</HTML>
Đo n mã trên ch cho phép tính đ n 8 giai th a, n u ng i dùng nh p m t con s l n h n 8 thì máy sạ ỉ ế ừ ế ườ ậ ộ ố ớ ơ ẽ
hi n th 8 giai th a, còn n u nh h n thì v n ch y t t.ể ị ừ ế ỏ ơ ẫ ạ ố
c) Vòng l p for.ặ
Vòng l p for, v i ý nghĩa đ u tiên là l p v i s l n đ nh tr c, có c u trúc nh sau:ặ ớ ầ ặ ớ ố ầ ị ướ ấ ư
for ( $bi n = giá_tr _đ u; $bi n < (hay <=) giá_tr _k t_thúc; tăng_bi n_đ m)ế ị ầ ế ị ế ế ế
{
// Kh i câu l nhố ệ
}
Bi u th c $bi n=giá_tr _đ u, đ m b o bi n đ c gán m t giá tr kh i đ u (1)ể ứ ế ị ầ ả ả ế ượ ộ ị ở ầ
Bi u th c $bi n< (hay <=) giá_tr _k t_thúc, s xác đ nh xem bi n đã đ t đ n giá tr k t thúc (t c làể ứ ế ị ế ẽ ị ế ạ ế ị ế ứ
đi u ki n l p không còn đúng n a) ch a (2)ề ệ ặ ữ ư
Bi u th c tính toán tăng_bi n_đ m đ m b o đ sau m t s l n l p nào đó thì bi u th c xác đ nh đi uể ứ ế ế ả ả ể ộ ố ầ ặ ể ứ ị ề
ki n (2) s d n đ n k t qu sai (đ thoát kh i vòng l p).ệ ẽ ẫ ế ế ả ể ỏ ặ
Ví d :ụ
for ( $i = 1; $i <10; ++$i)
{
echo ("Giá tr c a bi n \$i là: ".$i);ị ủ ế
}
M t bi n d ng khác c a vòng l p for, g n gi ng nh l nh r nhánh if và while:ộ ế ạ ủ ặ ầ ố ư ệ ẽ
for (bieu_thuc_1; bieu_thuc_2; bieu_thuc_3):
// Kh i câu l nhố ệ
endfor;
Ví d :ụ
12
<?php
for ($i=1; $i<=10;++$i)
?>
<TR><TD> <INPUT type="text"> </TD></TR>
<?php
endfor
?>
Bài 9: M ngả
Là m t danh sách các ph n t có cùng ki u d li u.M ng có th là m ng m t chi u hay nhi u chi u.ộ ầ ử ể ữ ệ ả ể ả ộ ề ề ề
M ng có 2 thành ph n là ch m c (key) và giá tr . Ch m c có th là s nguyên ho c là chu i . B n cóả ầ ỉ ụ ị ỉ ụ ể ố ặ ỗ ạ
th kh i t o m ng b ng các cách nh sau:ể ở ạ ả ằ ư
$arr[key] = value;
$arr[] = value;
$arr= array($key1 =>value1,$key2=>value2);
$arr = array(value1, value2);
Nh đã gi i thi u thì m ng có th dùng s nguyên ho c chu i đ làm ch m c , ta t m th i phân lo iư ớ ệ ả ể ố ặ ỗ ể ỉ ụ ạ ờ ạ
ra nhu sau:
1.M ng m t chi u có ch m c: là m ng đ c qu n lý b ng cách s d ng ch s d i ki u integer đả ộ ề ỉ ụ ả ượ ả ằ ử ụ ỉ ố ướ ể ể
bi u th v trí c a giá tr yêu c u.Cú pháp: $name[index1];ể ị ị ủ ị ầ
Ví d : m t m ng m t chi u có th đ c t o ra nh sau:ụ ộ ả ộ ề ể ượ ạ ư
$meat[0]="chicken";
$meat[1]="steak";
$meat[2]="turkey";
N u b n th c thi dòng l nh sau: print $meat[1]; thì trên trình duy t s hi n th dòng sau: steak.ế ạ ự ệ ệ ẽ ể ị
B n cũng có th s d ng hàm array( ) c a PHP đ t o ra m t m ng.Ví d :ạ ể ử ụ ủ ể ạ ộ ả ụ
$meat=array("chicken","steak","turkey");
L u ý : Khác v i các ngôn ng l p trình khác ( nhu Pascal ch ng h n) , ph n t đ u tiên c a m ng cóư ớ ữ ậ ẳ ạ ầ ử ầ ủ ả
ch m c là 0 , không ph i 1 . Nh ng khi khai báo m ng , ch m c kh i đ u không nh t thi t là 0 .ỉ ụ ả ư ả ỉ ụ ở ầ ấ ế
ví d b n t o m ng th nàyụ ạ ạ ả ế
$meat = array("chicken","steak","tukey");
Đ l y ph n t đ u tiên b n s g iể ấ ầ ử ầ ạ ẽ ọ
echo $meat[0];
Nh ng n u khia báo th nàyư ế ế
$arr[5] = 1;
thì ch m c ti p theo là 6.ỉ ụ ế
$arr[] = 3; // key là 6 nhá.
Nh k đ u này nhá , lúc đ u t cũng b PHP l a v chuy n này đ y ( do tr c đây ch h c Pascal).ớ ỹ ề ầ ớ ị ừ ề ệ ấ ướ ỉ ọ
2.M ng m t chi u k t h p: r t thu n l i khi dùng đ ánh x m t m ng s d ng các t h n là sả ộ ề ế ợ ấ ậ ợ ể ạ ộ ả ử ụ ừ ơ ử
d ng các s ( integer), nó giúp ta gi m b t th i gian và các mã yêu c u đ hi n th m t giá tr c th .ụ ố ả ớ ờ ầ ể ể ị ộ ị ụ ể
Ví d : b n mu n ghi l i t t c các th c ăn và các c p r u ngon trong vi c ăn nh u c a mình.ụ ạ ố ạ ấ ả ứ ặ ượ ệ ậ ủ
$annhau["ruou"] = "Minh M ng T u";ạ ử
$annhau["khaivi"] = "L c rang";ạ
$annhau["Trangmieng"] = "Chu i";ố
M t cách khác là b n có th s d ng hàm array( ) c a PHP đ t o ra m t m ng lo i này, ví d nhộ ạ ể ử ụ ủ ể ạ ộ ả ạ ụ ư
sau:
$annhau = array( "ruou" => "Minh M ng T u", "khaivi" => "L c Rang", "trangmieng" => "Chu i");ạ ử ạ ố
Khi truy xu t ph n t m ng :ấ ầ ử ả
echo $annhau["ruou"];
S xu t ra : Minh M ng T uẽ ấ ạ ử
3.M ng nhi u chi u có ch m c: ch c năng c a nó cũng gi ng nh m ng m t chi u có ch m c,ả ề ề ỉ ụ ứ ủ ố ư ả ộ ề ỉ ụ
ngo i tr vi c nó có thêm m t m ng ch m c đ c dùng đ ch đ nh m t ph n t . Cú pháp:ạ ừ ệ ộ ả ỉ ụ ượ ể ỉ ị ộ ầ ử
$name[index1] [index2] [indexN];
M t m ng hai chi u có ch m c đ c t o ra nh sau:ộ ả ề ỉ ụ ượ ạ ư
$position = $chess_board[5][4];
4.M ng đa chi u k t h p: khá h u ích trong PHP. Gi s b n mu n ghi l i các c p r u-th c ăn,ả ề ế ợ ữ ả ử ạ ố ạ ặ ượ ứ
13
không ch lo i r u, mà c nhà s n xu t. B n có th th c hi n nh sau:ỉ ạ ượ ả ả ấ ạ ể ự ệ ư
$pairings["Martinelli"] ["zinfandel"] = "Broiled Veal Chops";
$pairings["Beringer"] ["merlot"] = "Baked Ham";
$pairings["Jarvis"] ["sauvignon"] = "Prime Rib";
H t ph n khái ni m , ti p theo là gi i thi u các hàm đ truy xu t m ngế ầ ệ ế ớ ệ ể ấ ả
Đ truy xu t hay nh p giá tr cho 1 ph n t m ng c th , b n có th g i tr c ti p chúng nh sau:ể ấ ậ ị ầ ử ả ụ ể ạ ể ọ ự ế ư
$arr = $mang[1];
ho cặ
$arr = $dothi["x"];
Cú pháp là tên m ng[ch m c]ả ỉ ụ
Tips : Đ xóa 1 ph n t ra kh i m ng , ta dùng unset()ể ầ ử ỏ ả
Ví dụ
$arr = array(1,2,3,4);
unset($arr[2]);
// $arr bay gi là array(1,2,4);ờ
Đ đi m các ph n t c a m ng , dùng hàm count()ể ế ầ ử ủ ả
$arr = array(1,2,3,4);
$so = count($arr); // đ b n b ng bao nhiu ?ố ạ ằ
Đ duy t qua h t t t c các ph n t c a m ng (truy xu t ho c nh p giá tr ) ta dùng các cách sau:ể ệ ế ấ ả ầ ử ủ ả ấ ặ ậ ị
Cách th nh t , dùng vòng l p forứ ấ ậ
N u bi t tr c s ph n t c a m ng ta có th dùng vòng l p for đ duy t qua các ph n t m ng:ế ế ướ ố ầ ử ủ ả ể ặ ể ệ ầ ử ả
Code:
<?php
$giatri = array(1,2,3,4,5,6,7,8,9,10);
for ($i = 0; $i < 10 ; $i ++)
echo $giatri[$i]."<br>";
?>
Ch y đo n mã trên PHP s xu t ra t 1 đ n 10 .ạ ạ ẽ ấ ừ ế
Đ nh p giá tr vào thì cũng th nháể ậ ị ế
Ví dụ
Code:
<?php
for ($i = 0; $i < 10 ; $i ++)
echo $giatri[$i] = $i +1 ;
?>
Cách th 2 : Dùng Foreachứ
Cú pháp :
Quote
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
Ví dụ
Code:<?php
$giatri = array(1,2,3,4,5,6,7,8,9,10);
foreach ($giatri as $value)
echo $value."<br>";
?>
V i foreach này đ nh p giá tr vào ta ph i thêm d u " &" tr c bi n $value , nh th này &$valueớ ể ậ ị ả ấ ướ ế ư ế
Code:
<?php
$arr = array(1, 2, 3, 4);
14
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>
Thêm 1 ví d n a , l n này s có s xu t hi n c a ch m cụ ữ ầ ẽ ự ấ ệ ủ ỉ ụ
Code:
<?php
$arr = array("mot"=>"one", "hai"=>"two","ba"=> "three");
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value<br />\n";
}
?>
M t cách khác đ làm nh trên ta s dùng vòng l p while đi v i list() và each(). Xét ví d sau , thay vìộ ể ư ẽ ặ ớ ụ
dùng foreach nh trên thì ta dùng while nh sau:ư ư
Code:
<?php
$arr = array("one", "two","three");
while (list($key, $value) = each($arr)) {
echo "Key: $key; Value: $value<br />\n";
}
?>
L u ý , list() ch ho t đ ng v i m ng có ch m c là s và ph n t kh i đ u c a m ng có ch m c là 0ư ỉ ạ ộ ớ ả ỉ ụ ố ầ ử ở ầ ủ ả ỉ ụ
( PHP manual nói th )ế
List s gán giá tr cho bi n đ c khai báo bên trong hàm list v i giá tr là giá tr t ng ng c a m ng.ẽ ị ế ượ ớ ị ị ươ ứ ủ ả
Còn hàm each() s tr v giá tr ch m c và giá tr c a ph n t m ng hi n t i , đ ng th i chuy n v tríẽ ả ề ị ỉ ụ ị ủ ầ ử ả ệ ạ ồ ờ ể ị
c a ch m c lên 1 đ n v , s tr v False n u v trí c a ch m c là v trí cu i cùng trong m ng.C p giáủ ỉ ụ ơ ị ẽ ả ề ế ị ủ ỉ ụ ị ố ả ặ
tr tr v này s n m trong 1 m ng 4 ph n t là 0,1 , key, value . Ph n t 0 và key ch a tên ch m cị ả ề ẽ ằ ả ầ ử ầ ử ứ ỉ ụ
c a m ng, ph n t 1 và value t t nhiên s ch a giá tr .ủ ả ầ ử ấ ẽ ứ ị
Có th ch s d ng while và each thôi cũng đ cể ỉ ử ụ ượ
Code:
<?php
$arr = array("one", "two","three");
while ($phantu = each($arr)) {
echo "Key: $phantu['key']; Value: $phantu['value']<br />\n";
}
?>
Đ i v i m ng nhi u chi u th cách làm cũng t ng t , ch ph c t p h n là thêm 1 vòng l p n a.ố ớ ả ề ề ỉ ươ ự ỉ ứ ạ ơ ặ ữ
Code:
<?php
$sanpham = array( array("ITL","INTEL","HARD"),
array("MIR", "MICROSOFT","SOFT"),
array("PHP", "PHPVN.ORG","TUTORIAL")
);
for ($row = 0; $row < 3; $row++)
{
for ($col = 0; $col <3; $col++)
{
echo "|".$sanpham[$row][$col];
}
echo "<br>";
}
?>
15
M ng ti pả ế :S p x p m ngắ ế ả
Do PHP l u tr các ph n t trong m ng theo th t chúng đ c đ a vào m ng, chính vì v y đôi lúcư ữ ầ ử ả ứ ự ượ ư ả ậ
s n y sinh nhu c u s p x p các ph n t trong m ng. Đ s p x p ta có th dùng các hàm có s n c aẽ ả ầ ắ ế ầ ừ ả ể ắ ế ể ẵ ủ
PHP, tiêu bi u là hàm sortể
Code:
<?php
$arr = array(5, 3, 6, 4, 2, 1);
var_dump($arr);
echo "<br/>\n";
sort($arr);
var_dump($arr);
?>
K t qu thu đ c s là:ế ả ượ ẽ
Quote
array(6) {
* => int(5) [1]=> int(3) [2]=> int(6) [3]=> int(4) [4]=> int(2) [5]=> int(1) }
array(6) {
* => int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) [5]=> int(6) }
Các b n có th th y là các giá tr đã đ c s p x p tăng d n tuy nhiên các key cũng đã b thay đ i. Đạ ể ấ ị ượ ắ ế ầ ị ổ ể
d nguyên các key ban đ u, ta s d ng hàm asort. Thay th hàm sort trong ví d b ng asort thì s thuữ ầ ử ụ ế ụ ằ ẽ
đ c k t qu nh sau:ượ ế ả ư
Quote
array(6) {
* => int(5) [1]=> int(3) [2]=> int(6) [3]=> int(4) [4]=> int(2) [5]=> int(1) }
array(6) { [5]=> int(1) [4]=> int(2) [1]=> int(3) [3]=> int(4)
* => int(5) [2]=> int(6) }
Các hàm này cũng s làm vi c t t đ p v i các xâu kí t , tuy nhiên v i 1 m ng có các giá trẽ ệ ố ẹ ớ ự ớ ả ị
"report1.pdf", "report5.pdf", "report10.pdf", and "report15.pdf" thì k t qu thu đ c s là:ế ả ượ ẽ
Quote
"report1.pdf", "report10.pdf", "report15.pdf", "report5.pdf"
Đ n gi n là vì mã ASCII c a "1" nh h n "5" nên k t qu s ra nh v y. Đ gi i quy t v n đ này,ơ ả ủ ỏ ơ ế ả ẽ ư ậ ể ả ế ấ ề
thay vì sort và asort ta s d ng natsort ho c natcasesort. K t qu thu đ c s là:ử ụ ặ ế ả ượ ẽ
"report1.pdf", "report5.pdf", "report10.pdf", "report15.pdf"
S p x p m ng nâng caoắ ế ả
Gi s b n có m ng nhi u chi u sau:ả ử ạ ả ề ề
Code:
<?php
$bikes = array();
$bikes["Tourmeister"] = array("name" => "Grande Tour Meister",
"engine_cc" => 1100,
"price" =>12999);
$bikes["Slasher1000"] = array("name" => "Slasher XYZ 1000",
"engine_cc" => 998,
"price" => 11450);
$bikes["OffRoadster"] = array("name" => "Off-Roadster",
"engine_cc" => 550,
"price" => "4295");
?>
Khi mu n s p x p m ng $bikes theo price c a m i ph n t thì làm th nào? Không th dùng các hàmố ắ ế ả ủ ỗ ầ ử ế ể
trên đ c! V y gi i pháp duy nh t là ta s ph i t s p x pở ượ ậ ả ấ ẽ ả ự ắ ế
Code:
<?php
function compare_price($in_bike1, $in_bike2)
{
16
if ($in_bike1["price"] > $in_bike2["price"])
{
return 1;
}
else if ($in_bike1["price"] == $in_bike2["price"])
{
return 0;
}
else
{
return -1;
}
}
uasort($bikes, "compare_price");
foreach ($bikes as $bike)
{
echo "Bike {$bike['name']} costs \${$bike['price']}<br/>\n";
}
?>
Trong ví d trên, m u ch t chính là hàm uasort, hàm này s so sánh t ng giá tr trong m ng v i nhauụ ấ ố ở ẽ ừ ị ả ớ
b ng hàm so sánh compare_price. Hàm này s so sánh 2 giá tr đ c đ a vào là $in_bike1 và $in_bike2ằ ẽ ị ượ ư
r i tr l i 1 trong 3 giá tr : 1, 0 ho c (-1) khi so sánh price c a $in_bike1 và $in_bike2. Sau cùng ta sồ ả ạ ị ặ ủ ẽ
thu đ c k t qu :ượ ế ả
Quote
Bike Off-Roadster costs $4295
Bike Slasher XYZ 1000 costs $11450
Bike Grande Tour Meister costs $12999
S p x p ng c l iắ ế ượ ạ
Trong các ph n trên ta đ u th y s p x p tăng d n, v y đ s p x p gi m d n thì làm th nào? Ta cóầ ề ấ ắ ế ầ ậ ể ắ ế ả ầ ế
th s d ng rsort và arsort thay th cho sort và asort. Chú ý là không có ursort! Đ s p x p ng c l iể ử ụ ế ể ắ ế ượ ạ
b n ch c n đ o ng c th t trong hàm so sánh c a mìnhạ ỉ ầ ả ượ ứ ự ủ
S p x p theo keyắ ế
Đ s p x p theo key, ta có các hàm ksort, krsort, và uksort. S p x p theo key s luôn gi nguyên cácể ắ ế ắ ế ẽ ữ
key vì v y không có kasort. Các giá tr đi kèm m i key cũng s đ c gi nguyênậ ị ỗ ẽ ượ ữ
Các hàm khác
array_merge
Hàm này s nh n vào 2 m ng và tr l i 1 m ng trong đó bao g m t t c các giá tr c a 2 m ng banẽ ậ ả ả ạ ả ồ ấ ả ị ủ ả
đ u. Các key s đ c gi nguyên tr tr ng h p:ầ ẽ ượ ữ ừ ườ ợ
2 m ng có 1 key là xâu kí t gi ng nhau, thì giá tr c a m ng th nh t s b ghi đè b ng giá tr c a keyả ự ố ị ủ ả ứ ấ ẽ ị ằ ị ủ
đó m ng th haiở ả ứ
m ng th hai n u trùng các key là s nguyên v i m ng th nh t, thì các giá tr c a m ng th hai sỞ ả ứ ế ố ớ ả ứ ấ ị ủ ả ứ ẽ
nh n 1 key m i (không ghi đè)ậ ớ
Xét ví d :ụ
Code:
<?php
$ar1 = array('name' => 'Zeke', 10, 100);
$ar2 = array('name' => 'Zimbu', 2, 3, 4);
$newar = array_merge($ar1, $ar2);
print_r($newar);
?>
K t qu thu đ c s là:ế ả ượ ẽ
Quote
Array (
[name] => Zimbu
17
* => 10
[1] => 100
[2] => 2
[3] => 3
[4] => 4
)
array_combine
Hàm này nh n vào 2 m ng r i tr l i 1 m ng, trong đó các key là các giá tr c a m ng th nh t, cácậ ả ồ ả ạ ả ị ủ ả ứ ấ
giá tr là t m ng th hai. N u 2 m ng không có cùng s ph n t s báo l i. Xét ví d sau:ị ừ ả ứ ế ả ố ầ ử ẽ ỗ ụ
Code:
<?php
$ar1 = array('name', 'age', 'height');
$ar2 = array('Bob', 23, '5\'8"');
$newary = array_combine($ar1, $ar2);
print_r($newary);
?>
K t qu thu đ c s là:ế ả ượ ẽ
Quote
Array (
[name] => Bob
[age] => 23
[height] => 5'8"
)
array_intersect
Hàm này nh n vào 2 m ng r i tr l i các ph n t cùng có 2 m ng. Các key s đ c gi nguyên,ậ ả ồ ả ạ ầ ử ở ả ẽ ượ ữ
n u cùng 1 giá tr mà l i có 2 key khác nhau thì key m ng th nh t s đ c s d ng. Xét ví d sau:ế ị ạ ở ả ứ ấ ẽ ượ ử ụ ụ
Code:
<?php
$ar1 = array('name' => 'Zeke', 10, 100);
$ar2 = array('eeek' => 'Zeke', 2, 3, 4, 10);
$newar = array_intersect($ar1, $ar2);
print_r($newar);
?>
K t qu thu đ c (đoán tr c r i hãy đ c xem có đúng kô nhé )ế ả ượ ướ ồ ọ
Quote
Array (
[name] => Zeke
* => 10
)
array_search
Khi b n c n tìm 1 giá tr trong m ng thì s d ng hàm này. C u trúc r t đ n gi n:ạ ầ ị ả ử ụ ấ ấ ơ ả
Code:
<?php
$ar1 = array(1, 10, 100, 23, 44, 562, 354);
var_dump(array_search(100, $ar1));
var_dump(array_search(3333, $ar1));
?>
Và đây là k t qu :ế ả
Quote
int(2)
bool(false)
18
Bài 10: Cách l y thông tin t trình duy t: GET, POST, COOKIES.ấ ừ ệ
D li u c a ng i dùng t trình duy t s đ c g i lên máy ch d i d ng t ng c p bi n=giá_tr vàữ ệ ủ ườ ừ ệ ẽ ượ ử ủ ướ ạ ừ ặ ế ị
có th đi theo 3 con đ ng khác nhau. Tuỳ theo t ng con đ ng c th , trên máy ch ta cũng có cácể ườ ừ ườ ụ ể ủ
cách khác nhau đ l y d li u đ c g i lên 3 con đ ng đó là: GET, POST và COOKIES. V y GET,ể ấ ữ ệ ượ ử ườ ậ
POST và COKIES là gì?
1. Truy n d li u thông qua ph ng th c GETề ữ ệ ươ ứ
D li u g i t trình duy t lên qua ph ng th c GET là ph n d li u đ c nh p tr c ti p theo sau đ aữ ệ ử ừ ệ ươ ứ ầ ữ ệ ượ ậ ự ế ị
ch URL do trình duy t g i lên, đ c phân bi t v i tên file script b ng d u h i ch m (?). Ví d , khi taỉ ệ ử ượ ệ ớ ằ ấ ỏ ấ ụ
gõ vào trình duy t đ a ch URL sau:ệ ị ỉ
/>Khi đó, trình duy t s g i theo đ a ch trên m t c p bi n = giá tr , trong đó bi n có tên là TOPIC_ID vàệ ẽ ử ị ỉ ộ ặ ế ị ế
giá tr là 161 (TOPIC_ID=161).ị
Chúng ta cũng có th đ a lên nhi u c p bi t=giá_tr b ng cách phân cách chúng b i d u &:ể ư ề ặ ế ị ằ ở ấ
PHP Viet Nam - Index
V i đ a ch URL trên, chúng ta s g i lên 3 c p bi n=giá_tr theo ph ng th c GET, đó là:ớ ị ỉ ẽ ử ặ ế ị ươ ứ
method=Reply, TOPIC_ID=161 và FORUM_ID=20.
Khi trình duy t g i các thông tin này lên máy ch , PHP s t đ ng sinh ra m t m ng có tên là $_GET[]ệ ử ủ ẽ ự ộ ộ ả
đ n m gi t t c các c p bi n và giá tr đó, trong đó, ch s c a m ng chính là m t chu i mang tênể ắ ữ ấ ả ặ ế ị ỉ ố ủ ả ộ ỗ
c a tên bi n và giá tr c a ch s đó chính là giá tr c a bi n do trình duy t g i lên. Ví d , v i đ a chủ ế ị ủ ỉ ố ị ủ ế ệ ử ụ ớ ị ỉ
URL sau:
61&FORUM_ID=20
Thì PHP s t đ ng sinh ra m t m ng $_GET có n i dung sau:ẽ ự ộ ộ ả ộ
$_GET["method"] = "Reply" // t ng ng v i c p method=Replyươ ứ ớ ặ
$_GET["TOPIC_ID"] = 161 // t ng ng v i c p TOPIC_ID=161ươ ứ ớ ặ
$_GET["FORUM_ID"] = 20 // t ng ng v i c p FORUM_ID=20ươ ứ ớ ặ
Sau đó, trong trang web c a mình, các b n có th tha h s d ng các bi n này. Ví d , tôi làm m tủ ạ ể ồ ử ụ ế ụ ộ
đo n ch ng trình sau đ khi ng i dùng nh p vào bi n user=sinh thì cho hi n th "Hello, my Boss",ạ ươ ể ườ ậ ế ể ị
còn n u bi n user khác sinh thì "Hello " + giá tr c a bi n:ế ế ị ủ ế
Code:
<?
// Hàm isset đ c s d ng đ ki m tra xem m t bi n đã đ c thi t l p hay ch aượ ử ụ ể ể ộ ế ượ ế ậ ư
if (isset ($_GET["user"]))
{
if ($_GET["user"]=="sinh")
{
echo "Hello, my boss. Good morning!";
}
else
{
echo "Hello, " . $_GET["user"] . ". Good morning!";
}
}
else
{
echo "Hello, guest. How do you do?";
}
?>
OK, bây gi hãy save l i. Gi s tôi l u v i tên là welcome.php trong th m c www. M trình duy tờ ạ ả ử ư ớ ư ụ ở ệ
lên, gõ vào ô Address dòng ch sau:ữ
http://localhost/welcome.php?user=sinh
Hãy xem k t qu hi n th trên màn hình, sau đó thay ch sinh b ng m t cái tên gì đó xem k t qu raế ả ể ị ữ ằ ộ ế ả
sao.
II. Ph ng th c POSTươ ứ
Post là ph n d li u đ c g i qua các form HTML có method ="POST" (xin xem l i bài v HTML).ầ ữ ệ ượ ử ạ ề
19
Đ l y các bi n theo ki u POST, PHP s t đ ng sinh ra m ng có tên là $_POST[]. M ng này có chể ấ ế ể ẽ ự ộ ả ả ỉ
s chính là tên c a các ph n t trong form (các th input, select có thu c tính name) và giá tr là n iố ủ ầ ử ẻ ộ ị ộ
dung giá tr do ng i s d ng nh p vào các ph n t có tên t ng ng. Ch ng h n v i m u bi uị ườ ử ụ ậ ầ ử ươ ứ ẳ ạ ớ ẫ ể
HTML sau:
Code:
<form method="POST">
<p>
User Name:<input type="text" name="T1" size="20"> </p>
<p>
Password:
<input type="password" name="T2" size="20"></p>
<p>Sex: <Select name ="sex">
<option value =1>Male </option>
<option value =0>Female </option>
</select>
</p>
<input type="submit" value="Gui di" name="B1">
</form>
Khi ng i dùng nh p user name (gi s là Sinh), password (gi s là 123456) và ch n sex là Male, khiườ ậ ả ử ả ử ọ
đó, m ng $_POST s có các ph n t sau:ả ẽ ầ ử
$_POST["T1"] = Sinh
$_POST["T2"] = 123456
$_POST["sex"] = 1
Sau khi l y đ c các giá tr này r i, các b n có th tho i mái s d ng.ấ ượ ị ồ ạ ể ả ử ụ
Đây là ví d m t ch ng trình gi i ph ng trình b c nh t (cho nó đ n gi n Grin)ụ ộ ươ ả ươ ậ ấ ơ ả
Code:
<form method="POST">
<p style="margin-top: 0; margin-bottom: 0">
Nh p a:<input type="text" name="a" size="20"></p>ậ
<p style="margin-top: 0; margin-bottom: 0">Nh p b:<input type="text" name="b" size="20"></p>ậ
<p style="margin-top: 0; margin-bottom: 0">
<input type="submit" value="Tính" name="B1"></p>
</form>
<?
$a=0;
$b=0;
if (isset ($_POST["a"]))
{
$a =$_POST["a"];
}
if (isset ($_POST["b"]))
{
$b =$_POST["b"];
}
if ($a<>0)
{
echo "<BR>Nghiem la: " . $b/$a;Ch này là -$b/$aỗ
}
else
{
if ($b==0)
{
echo "<BR>Vo so nghiem";
}
else
20
{
echo "<BR>Vo nghiem";
}
}
?>
Bây gi hãy làm c c cafe ho c trà đá cho t nh táo.ờ ố ặ ỉ
III Cookie và cách s d ng Cookieử ụ
Cookies là m t ph n d li u đ c l u trên máy khách. M i khi máy khách g i m t yêu c u t i máyộ ầ ữ ệ ượ ư ỗ ử ộ ầ ớ
ch nào đó, thì nó s g i ph n d li u đ c l u trong cookie t ng ng v i máy ch đó.ủ ẽ ử ầ ữ ệ ượ ư ươ ứ ớ ủ
Trong Cookie có m t s thông s sau:ộ ố ố
- Đ a ch URL mà trình duy t s g i cookie t iị ỉ ệ ẽ ử ớ
- Th i gian h t h n c a cookieờ ế ạ ủ
- Các c p bi n:giá tr đ c l u tr liên t cặ ế ị ượ ư ữ ụ
Ng i ta th ng dùng cookies đ l u tr các thông tin có liên quan đ n nhi u "phiên" làm vi c khácườ ườ ể ư ữ ế ề ệ
nhau. Vi giao th c HTTP là giao th c không l u tr ng thái (M i khi x lý xong m t yêu c u t máyứ ứ ư ạ ỗ ử ộ ầ ừ
khách là nó ph i tay t ng t k t n i luôn và ch ng thèm quan tâm đ n máy khách làm gì ), nên cookiesủ ự ắ ế ố ẳ ế
đ c sinh ra đ làm nhi m v l u tr m t s bi n tr ng thái đ kh c ph c nh c đi m này.ượ ể ệ ụ ư ữ ộ ố ế ạ ể ắ ụ ượ ể
Khác v i d li u g i t form (Post hay Get) thì cookies s đ c trình duy t t đ ng g i đi theo m iớ ữ ệ ử ừ ẽ ượ ệ ự ộ ử ỗ
l n truy c p lên máy ch . Trong quá trình làm vi c, cookie có th b thay đ i giá tr . Cookie s b vôầ ậ ủ ệ ể ị ổ ị ẽ ị
hi u hoá n u c a s trình duy t đi u khi n cookie đóng l i và cookie h t th i gian có hi u l c. Theoệ ế ử ổ ệ ề ể ạ ế ờ ệ ự
m c đ nh, th i gian "s ng" c a cookies là t n t i cho đ n khi c a s trình duy t s d ng cookies bặ ị ờ ố ủ ồ ạ ế ử ổ ệ ử ụ ị
đóng. Tuy nhiên ng i ta có th thi t l p tham s th i gian đ cookie có th s ng lâu h n (6 thángườ ể ế ậ ố ờ ể ể ố ơ
ch ng h n). Ví d nh ch đ Remember ID & Password c a 1 s trang web.ẳ ạ ụ ư ế ộ ủ ố
Cách ghi thông tin vào cookie và g i xu ng trình duy tử ố ệ
Trong PHP, đ g i cookie xu ng trình duy t, ta có th s d ng hàm setcookie:ể ử ố ệ ể ử ụ
setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
Trong đó:
- string name: Chu i mang tên c a cookieỗ ủ
- string value: Chu i mang giá tr c a cookie t ng ng v i tên đã choỗ ị ủ ươ ứ ớ
- int expire: Th i gian h t h n c a cookieờ ế ạ ủ
- string path: Đ ng d n c a cookie (đ n 1 th m c nào đó trên máy ch . Tham s này cho bi t cookieườ ẫ ủ ế ư ụ ủ ố ế
s ch đ c truy n đi n u nh trang web mà trình duy t yêu c u n m trên th m c đó, thay vì lúc nàoẽ ỉ ượ ề ế ư ệ ầ ằ ư ụ
cũng ph i g i đi t i b t kỳ khu v c nào).ả ử ớ ấ ự
- string domain: cookie này s đ c g i t i domain nào?ẽ ượ ử ớ
- int secure: Ch đ b o m t.ế ộ ả ậ
Các tham s trong c p d u ngo c vuông là tuỳ ch nố ặ ấ ặ ọ
Ví d : setcookie ("ten_truy_cap","lan gio vo tinh");ụ
Chú ý: Hàm setcookie ph i đ c g i tr c khi b n g i b t kỳ m t n i dung nào xu ng trình duy t:ả ượ ọ ướ ạ ử ấ ộ ộ ố ệ
VD: Cách dùng đúng:
Code:
// Th c hi n các câu l nh nào đó, nh ng không đ c phép g i gì xu ng trình duy tự ệ ệ ư ượ ử ố ệ
setcookie ("ten_truy_cap","lan gio vo tinh");
setcookie ("password","thumotti");
// Th c hi n các câu l nh ti p theo, có th xu t d li u xu ng trình duy t:ự ệ ệ ế ể ấ ữ ệ ố ệ
echo "<html><body>Xin chào lan gio vo tinh";
VD: Cách dùng sai:
Code:
// Th c hi n các câu l nh nào đóự ệ ệ
echo ("cái gì đó");
setcookie ("ten_truy_cap","lan gio vo tinh");
setcookie ("password","thumotti");
// các câu l nh khác.ệ
Ví d trên sai vì b n đã trót g i dòng "cái gì đó" xu ng trình duy t tr c khi g i hàm setcookie.ụ ạ ử ố ệ ướ ọ
21
Cách l y d li u l u trong cookie:ấ ữ ệ ư
Đ l y d li u đã l u trong cookies do trình duy t g i lên, ta có th dùng m ngể ấ ữ ệ ư ệ ử ể ả
$_COOKIE["tên_cookie"]
Ch ng h n, v i câu l nh setcookie trên, sau khi trình duy t g i lên, ta s có 2 bi n sau:ẳ ạ ớ ệ ở ệ ử ẽ ế
$_COOKIE["ten_truy_cap"] // ch a giá tr "lan gio vo tinh"ứ ị
$_COOKIE["password"] // ch a giá tr "thumotti".ứ ị
Chi ti t h n các b n có th xem trong PHP Manual.ế ơ ạ ể
PHP: Superglobals - Manual
Note : C p nh t thêm v i sorivevolậ ậ ở
Do t php 4.1 thì có thêm $_POST, $_GET, $_REQUEST,$_COOKIE etc . & tr thành super globalừ ở
variable & cũng do lý do t c đ nên register_long_arrays th ng đ c off, do v y các b n khi s d ngố ộ ườ ượ ậ ạ ử ụ
$HTPP_*_VARS s có th x y ra 1 s l i.ẽ ể ả ố ỗ
Cho nên các b n nên s d ng $_POST,$_GET,$_COOKIE,etc. đ l p trình. ạ ử ụ ể ậ
Plugin Ki m th update 2 /6/ 2011 !ế ế
Plugin Ki m th update 2 /6/ 2011 ! ế ế
link Dowloa : << Dowloa >>
H NG D N TRAIN KHÔNG C N DÙNG KIM TÊ ƯỚ Ẫ Ầ
- Các b n l y t a đ luy n trong BVĐ. L a ch n s th c ăn c n mua là 8 cáiạ ấ ọ ộ ệ ự ọ ố ứ ầ
- Khi train các b n nh n vào ch luy n nhân v t s t đi đ n t a đ luy n. Sau khi luy n h t s th cạ ấ ữ ệ ậ ẽ ự ế ọ ộ ệ ệ ế ố ứ
ăn ( VD: mua 8 cái thì luy n 4h khi luy n 4h kô th h ng h t đ đ c ). H t 8 cái th c ăn s t đ ngệ ệ ể ỏ ế ồ ượ ế ứ ẽ ự ộ
v thành mua th c ăn và s a đ r i quay l i đi m train -> v y là OK train kô s h ng đề ứ ử ổ ồ ạ ể ậ ợ ỏ ồ
Ngày 22-10
+ Fix l i phiên b n m iỗ ả ớ
+ Fix l i đang ch i b thoát accỗ ơ ị
+ Chú ý: Hôm nay ch a quét đ c virut. Các b n dow v r i t quét tr c tuy n nhé ( Do máy mình bư ượ ạ ề ồ ự ự ế ị
nhi m virut Wrom nên không cài đ c ph n m m di t virut )(Mình cũng đang dùng các b n yên tâm )ễ ượ ầ ề ệ ạ
17/9/2010
+Add Combo Ngũ Đ c Ch ngộ ưở
+Event trung thu [Alt+E]
+S a l i giao di n thanh Homeử ạ ệ
+ Click vào nút QD or Hòm đ s giúp thanh home n i lênồ ẽ ổ
+T đ ng nhìn th y v t ph m eventự ộ ấ ậ ẩ
( Ch a fix đ c kim tê do VNG can thi p )ư ượ ệ
Đ có th d dàng th y đ c các v t ph m event vào ki m th xóa cái th m c:ể ể ễ ấ ượ ậ ẩ ế ế ư ụ
kiemthe\log và
kiemthe\logs và user\3943685223 ( có th máy b n s khác, nh ng gi ng th này )ể ạ ố ư ố ế
09/09/2010:
- S a l i t đ ng tr l i.ử ỗ ự ộ ả ờ
- S a m t s l i th c hi n t đ ng trong HLVM (đoán s lúc tìm QAT xong)ử ộ ố ỗ ự ệ ự ộ ố
- B sung thêm 5D s d ng 2 skill (5x và 9x): đang test th khi d n damage 2 skill trên ng i, trên quáiổ ử ụ ử ồ ườ
thì th y r t OK.ấ ấ
- Và s a nh ng l i nh khác.ử ữ ỗ ỏ
28-08
+ add skill MTCC cho CLK ( combo )
+ Fix t a đ boss HK (phím U)ọ ộ
+ Gia tăng l a ch n cho ch c năng săn h i t cự ọ ứ ả ặ
*Tính năng 4' v thành 1 l n khi train setting BVĐ (save l i đ c) New: ko ăn h t th c ăn, ko s a đề ầ ạ ượ ế ứ ử ồ
m i l n v , tóm lai train nh x a + 4' v thành 1 l n r i ngay l p t c quay l i trainỗ ầ ề ư ư ề ầ ồ ậ ứ ạ
Yêu c u :ầ
+ Ph i thi t đ t toa đ trainả ế ặ ộ
+ Ph i thi t đ t thành v trong setting BVĐả ế ặ ề
+ Thành v ko đ c trùng v i map g n t a đ trainề ượ ớ ầ ọ ộ
+ Đ c bi t ko train map 9x (phong đô qu thành) ặ ệ ở ỷ
+ Khi train cho phép ng i ch i l y t a đ phù an toàn khi phù v thành ườ ơ ấ ọ ộ ề
22
Remote Quân Doanh phím [pagedown]
+ Đi u khi n các acc ph trong quân doanh ( t t h tr Alt+M )ề ể ụ ắ ỗ ợ
+ Có th khi n ch c năng Vip b t/t t [Ctrl+Q] và b t/t t [Ctrl+F] ngoài map bình th ng b ng cáchể ể ứ ậ ắ ậ ắ ườ ằ
b t h tr PT [Alt+N]ậ ỗ ợ
+ Có th k t h p ch c năng t đoán s 0 t ng 2 HLVMể ế ợ ứ ự ố ầ
Nh n vào đây đ xem nh rõ h n ([B n ph i đăng ký m i nhìn th y link. ]) ấ ể ả ơ ạ ả ớ ấ
+ SupermapLink
- Di chuy n nhanh v i 1 clickể ớ
- T đ ng t t b n F4ự ộ ắ ả
- T lên ng a h p lýự ự ợ
- Theo sau [Ctrl+Q] thông minh xuyên su t các mapố
- T đ ng n ok khi nh n nhi m vự ộ ấ ậ ệ ụ
Đ kick ho t t t c các tinh năng c a supermaplink, khi vào game ph i di chuy n b ng thanh homeể ạ ấ ả ủ ả ể ằ
( t 1 l n tr lên ) ừ ầ ở
+ Ch c năng h n gi đi v t i gia t c ứ ẹ ờ ượ ả ộ
+ B c 1 : Click vào ô ch n VAGT nh hình vướ ọ ư ẽ
+ B c 2: Click vào ô h n gi nh hình v và ch n timeướ ẹ ờ ư ẽ ọ
+ B c 3: Ch nh s nhi m v làm BVĐ v 0 ho c b n đã hoàn thành h t s nhi m v BVĐ trongướ ỉ ố ệ ụ ề ặ ạ ế ố ệ ụ
ngày
+ B c 4: n nút l u , t b c này tr đi mu n làm gì thì làm, ko đ c n nút star BVĐ (B t đ u) .ướ Ấ ư ừ ướ ở ố ượ ấ ắ ầ
mu n train thì n nút trainố ấ
Nh n vào đây đ xem nh rõ h n ([B n ph i đăng ký m i nhìn th y link. ])ấ ể ả ơ ạ ả ớ ấ
+Thi t k thanh Home ki u m i . không che buff skill ế ế ể ớ
+ Thêm ch c năng NM đánh không buff trong [Ctrl+Q]ứ
+ Rút g n hi n th PT và hi n Phái bên ngoài luôn ọ ể ị ệ
Cách thi t l p c u hình [Ctrl+F] đ Plugin có th ho t đ ng t t nh t v i t t c các tính năng nh :ế ậ ấ ể ể ạ ộ ố ấ ớ ấ ả ư
BVĐ, Săn H i T c, Train, v v. (ai không thích sài combo thì b nút "k t h p chiêu th cả ặ ỏ ế ợ ứ
đi"
V t t t c huy n tinh và trang b c p th p ứ ấ ả ề ị ấ ấ
Săn H i T c [Ctrl+3]ả ặ
Các thành viên có th s d ng ch đ m c đ nh c a h th ng , còn key thì ch n "tác vể ử ụ ế ộ ặ ị ủ ệ ố ọ ụ
ch " là +6 giây là đ pờ ẹ
+ Nga My c m key : t nh n nhi m v chia s cho c nhóm , sau đó NM ch y tr c lên boss HT vàầ ự ậ ệ ụ ẻ ả ạ ướ
buff
+ Khi đánh xong c team s v tr NV và Nga My s ti p t c nh n NM r i chia cho c nhómả ẽ ề ả ẽ ế ụ ậ ồ ả
+ Trong quá trình ch y đi ra ch boss dù các b n có làm thêm đ ng tác gì thì sau khi hoàn thi n , hạ ỗ ạ ộ ệ ệ
th ng s ti p t c đi săn HT mà ko c n kick ho t l iố ẽ ế ụ ầ ạ ạ
+ Khi Key ch t s t n m yên nh thành viên và khi hoàn thành song nhi m v cũng s phù v trế ẽ ự ằ ư ệ ụ ẽ ề ả
nhi m v nh thành viênệ ụ ư
+ N u click vào ô "Nga My chi n" thì nhân v t là Nga My s không buff mà chuy n quaế ế ậ ẽ ể
ch đ đánh [Ctrl+F]ế ộ
+ N u click vào ô "làm BVĐ" thì nh t v t sau khi hoàn thành h t t t c các nhi m v sănế ậ ậ ế ấ ả ệ ụ
h i t c thì s chuy n qua ch đ làm BVĐ (c u hình BVĐ tùy do b n th t đ t t tr c) = Thoát gameả ặ ẽ ể ế ộ ấ ạ ế ặ ừ ướ
+ Luy n+ Làm BVĐ ệ
+ N u click vào ô v t đ thì khi phù v thành s v t đ ( by Bear00 )ế ứ ồ ề ẽ ứ ồ
*****Các b n b m phím U lên đ xem các phím t t c a các tính năng khác n a*****ạ ấ ể ắ ủ ữ
[Shift+0] T t/b t hi n th Môn phái-C p ắ ậ ể ị ấ
[Shift+X] Ghép Huy n Tinh có l a ch nề ự ọ
[Shift+A] Xông vào HLVM và VAGT
[Tab] Ch đ t click "Nh n Nh Ng c"+"C T m B o"ế ộ ự ạ ư ọ ờ ầ ả
[U] SuperMaplink
[Y] B ng h tr : Buff ,g i giúp đ , PKả ổ ợ ọ ở
23
[N] Thi t l p ch đ t rao các kênhế ậ ế ộ ự
[F]-[Ctrl+F] B t t đánh.ậ ự
[F1] Hi n th đ p m t, ch c năng tài phú ể ị ẹ ắ ứ
[F12] Hi n th chi ti t thông tin nhân v t-ngày-tu nể ị ế ậ ầ
[End] Tool BVĐ - HLVM - HPNS
[Home] Tools công c đa ch c năngụ ứ
[Pagedown] Công c Remote Auto Quân doanhụ
[C] Lên xu ng ng a [C] và [M]ố ự
[G] Kỳ Trân Các
[T] Đ u giáấ
[Ctrl+1] B t/t t t đào kho báuậ ắ ự
[Ctrl+2] B t/t t m r ng thu c tiêu dao c cậ ắ ở ươ ố ố
[Ctrl+3] Thi t l p săn H i t cế ậ ả ặ
[Ctrl+4] B t/t t t nh n - tr đ c sáchậ ắ ự ậ ả ọ
[Ctrl+5] B t/t t t quay chúc phúcậ ắ ự
[Ctrl+6] Mua th c ăn - s a đứ ử ồ
[Ctrl+7] Ghép Huy n tinhề
[Ctrl+8] Ng ng Bao V n Đ ngừ ạ ồ
[Ctrl+9] Làm Bao V n Đ ng (trang b Truy n t ng phù)ạ ồ ị ề ố
[Ctrl+A] Nh t H t không bõ xót, không l c.ặ ế ọ
[Ctrl+Q] B t/t t Buff-H t ngậ ắ ộ ố
[Ctrl+X] Nga My t đ ng buff t i ch làm NVự ộ ạ ỗ
[Ctrl+R] B t/t t t xu t chiêu t i ch theo h ng chu t.ậ ắ ự ấ ạ ổ ướ ộ
[Ctrl+K] M r ng t xa.ở ươ ừ
[Ctrl+N] B t/t t ch đ t tr l i(Auto Reply)ậ ắ ế ộ ự ả ờ
[Ctrl+M] B t/t t t đ ng tr l i câu h i Hoa Đăngậ ắ ự ộ ả ờ ỏ
[Alt+1] L y t a đ hi n t i ấ ọ ộ ệ ạ
[Alt+2] B t/t t t đ ng ph tr (m c đ nh luôn luôn t t)ậ ắ ự ộ ụ ợ ặ ị ắ
[Alt+3] B t/t t ch đ ph n khángậ ắ ế ộ ả
[Alt+4] B t/t t ch đ quay l i đi m ch tậ ắ ế ộ ạ ể ế
[Alt+5] Danh sách v t ph m đenậ ẩ
[Alt+6] B t/t t t đ ng m r ng thu c lakậ ắ ự ộ ở ươ ố
[Alt+7] Ch a thi t l pư ế ậ
[Alt+8] B t/T t tìm Nhan Nh Ng cậ ắ ư ọ
[Alt+M] T t/b t ch c năng h tr trong H i Lăngắ ậ ứ ổ ợ ả
[Alt+N] T t/b t ch c năng h tr Remoteắ ậ ứ ổ ợ
[Alt+C] T t/b t ch c năng t đoán s 0 cho acc ph HLVM ắ ậ ứ ự ố ụ
[Alt+A] B t/t t: nh t v t ph m nhi m vậ ắ ặ ậ ẩ ệ ụ
[Alt+V] B t/t t: Ch v sò vàngậ ắ ế ỏ
-H tr m khóa nhanh 1 clickỗ ợ ở
-H tr h i sinh b ng đ ng khóa , trong lúc ch t v n chát và s d ng đ c "s đ đ ng tâmỗ ợ ồ ằ ồ ế ẫ ử ụ ượ ư ồ ồ
phù"
+H tr nh t Quang nh Th ch : khi đ ng g n Quang nh Th ch kênh Đ i chát có s "3".ổ ợ ặ Ả ạ ứ ầ Ả ạ ộ ố
+H tr giúp đ "Tri u t p::" Kênh Bang-B n-Đ i-T c.ổ ợ ở ệ ậ ạ ộ ộ
+H tr : luôn luôn Đ c Sách khu v c Phi chi n đ u.ổ ợ ọ ở ự ế ấ
+Ch c năng Chúc Phúc trong Tools: nh n l n 1 Chúc t đ ng, nh n l n 2 Chúc B ng Tay.ứ ấ ầ ự ộ ấ ầ ằ
+T đ ng đ i tho i nhi m v nhanh, T nh n nh n nhi m v , t ăn "th t bò Quân Doanh"ự ộ ố ạ ệ ụ ự ấ ậ ệ ụ ự ị
các túi "Quân h ng"ưở
+H tr xem Skill, xem tr c c ng hóa trang b , giá bán shop, nút s a nhanh trang b khi giao d ch v iổ ợ ướ ườ ị ử ị ị ớ
NPC (có thêm nút s a k )ử ỹ
+T m Tu Châu 0,5 gi khi có l a tr i.ự ở ờ ử ạ
24
+CHÚ Ý ch c năng nh t đ : ch nh t trang b .ứ ặ ồ ỉ ặ ị
+Hành trang r ng nâng cao, ch c năng s p x p, l a bõ trang b không đ t yêu c u.ươ ứ ắ ế ọ ị ạ ầ
******C u hình buff c a 1 s phái nh sau*******ấ ủ ố ư
+Trong ch đ t đ ng đánh [Ctrl+F]ế ộ ự ộ
-B buff skill Minh Giáo Ki m chiêu 110 trong t đánh [F] và [Ctrl+F] trong [Alt+F2] v n đ , pk thìỏ ế ự ẫ ể
t t điắ
-B buff skil Lăng Ba Vi B c a đoàn th ch trong ch c năng t đ ng đánh [F] và [Ctrl+F]ỏ ộ ủ ị ỉ ứ ự ộ
+Trong ch đ buf skill cá nhân[Alt+2] (m c đ nh luôn t t)ế ộ ặ ị ắ
-Cho phépbuff skil Lăng Ba Vi B c a đoàn th đ ti n khi trainộ ủ ị ể ệ
+Trong ch đ săn h i t c [Ctrl+3]ế ộ ả ặ
-Cho phép s d ng buff skill cá nhân c a t t c các pháiử ụ ủ ấ ả
***************L u ý:**************ư
1.Plugin hi n nay đã add Combo skill 110 c a t t c các phái [ Combo vô đ ch ] Fix l i n khi train c aệ ủ ấ ả ị ỗ ộ ủ
t t c các phái ấ ả
2. H th ng đã m c đ nh l u c u hình BVĐ và pass R ng vào th m c KiemThe/User nên khi upệ ố ặ ị ư ấ ươ ư ụ
phiên b n m i và thay đ i plugin các b n không c n ch nh l i c u hình cho nhân v tả ớ ổ ạ ầ ỉ ạ ấ ậ
3.Đã "tr m" cái t đ ng g i nh c nh c a VNG nên c sài vô t , có check ô hay khôngả ự ộ ử ắ ở ủ ứ ư
cũng không v n ch y t tẫ ạ ố
Ch đ quay l i đi m ch t nh sau: ế ộ ạ ể ế ư
- Trong theo sau Ctrl+Q ( luôn t t )ắ
- Trong săn H i T c Ctrl+3 ( luôn t t )ả ặ ắ
- Trong ch đ train ( luôn b t ) ế ộ ậ
Download v => Gi i nén ra và copy t t c vào th m c g c c a Ki m Th ( L u Ý , xóa h t Pluginề ả ấ ả ư ụ ố ủ ế ế ư ế
cũ tr c khi cài đ t ) ướ ặ
Ko bi t nhi u v Plugin thì b m U vào xem H ng D n v Plugin.ế ề ề ấ ướ ẫ ề
Link DowLoa : << Dowloa >>
Bài 11: Các thông tin khác liên quan đ n trình duy t và máy ch .ế ệ ủ
Trong PHP, ngoài các thông tin trình duy t g i lên thông qua các con đ ng POST, GET, COOKIES,ệ ử ườ
chúng ta cũng có th thu đ c m t s thông tin khác có liên quan đ n trình duy t cũng nh các thôngể ượ ộ ố ế ệ ư
s liên quan đ n máy ch nh : đ ng d n, đ a ch IP, phiên b n Các thông tin này đ c l u trố ế ủ ư ườ ẫ ị ỉ ả ượ ư ữ
trong bi n m ng $_SERVER (đ i v i các phiên b n m i) ho c $HTTP_SERVER_VARS (đ i v i cácế ả ố ớ ả ớ ặ ố ớ
phiên b n cũ h n b n 4.1.0):ả ơ ả
$_SERVER['PHP_SELF']: Tên file n m trên th m c g c c a website. Ví d : bi nằ ư ụ ố ủ ụ ế
$_SERVER['PHP_SELF'] trong script đ t t i đ a ch ặ ạ ị ỉ s làẽ
/test.php/foo.bar.
$_SERVER['SERVER_NAME']: Tên c a máy ch host, n i mà đo n script đ c th c thi. N u đo nủ ủ ơ ạ ượ ự ế ạ
script này đang ch y trên m t host o thì giá tr này s tr v tên host o đó.ạ ộ ả ị ẽ ả ề ả
$_SERVER['SERVER_SOFTWARE']: Chu i đ nh danh c a máy ch , th ng đ c c p trong ph nỗ ị ủ ủ ườ ượ ấ ầ
header khi tr l i các yêu c u t máy khách.ả ờ ầ ừ
$_SERVER['SERVER_PROTOCOL']: Tên và phiên b n c a giao th c mà trang web yêu c u. VD:ả ủ ứ ầ
'HTTP/1.0';
$_SERVER['REQUEST_METHOD']: Lo i yêu c u đ c s d ng đ truy c p trang web. VD: 'GET',ạ ầ ượ ử ụ ể ậ
'HEAD', 'POST', 'PUT'.
$_SERVER['QUERY_STRING']: Câu truy v n (ch a các thông tin liên quan đ n các bi n và giá tr c aấ ứ ế ế ị ủ
ph ng th c GET.ươ ứ
$_SERVER['DOCUMENT_ROOT']: Th m c g c c a website, n i mà file script đang đ c th c thi.ư ụ ố ủ ơ ượ ự
$_SERVER['HTTP_HOST']: Nh ng n i dung liên quan đ n Host header l y t yêu c u hi n t iữ ộ ế ấ ừ ầ ệ ạ
$_SERVER['REMOTE_ADDR']: Đ a ch c a trình duy t, n i ng i s d ng đang duy t web.ị ỉ ủ ệ ơ ườ ử ụ ệ
$_SERVER['REMOTE_PORT']: C ng đ c s d ng trên máy khách (đ k t n i t i web server).ổ ượ ử ụ ể ế ố ớ
$_SERVER['SCRIPT_FILENAME']: Đ ng d n tuy t đ i c a file ch a script đang ch yườ ẫ ệ ố ủ ứ ạ
$_SERVER['SERVER_PORT']: C ng c a máy ch web đ c m đ truy n d li u. M c đ nh làổ ủ ủ ượ ở ể ề ữ ệ ặ ị
c ng 80.ổ
$_SERVER['SERVER_SIGNATURE']: Chu i ch a phiên b n c a máy ch và tên host o (n u đ cỗ ứ ả ủ ủ ả ế ượ
b t)ậ
25