Download - Tổng Hợp Mọi Thứ Về PHP (TEST)
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
1/412
Page 1 of 413
Tng Hp Mi Th V
PHP ( TEST )Mc LcChapter 1 : Gii Thiu PHPChapter 2 : Bt u Vi PHPChapter 3 : Ci t PHPChapter 4 : C Php PHPChapter 5 : Bin PHPChapter 6 : Chui Bin PHP
Chapter 7 : Ton T PHPChapter 8 : Cu lnh if else trong PHP .Chapter 9 : Cu lnh Switch trong PHPChapter 10 : Arrays ( Mng )Chapter 11 : Looping While LoopsChapter 12 : Looping For LoopsChapter 13 : Functions ( Hm Chc Nng )Chapter 14 : PHP Forms and User InputChapter 15 : PHP $_GET VariableChapter 16 : PHP $_POST FunctionChapter 17 : Date() Function
Chapter 18 : File HandingChapter 19 : File UploadChapter 20 : PHP CookiesChapter 21 : PHP SessionsChapter 22 : Sending EmailsChapter 23 : Secure E-mailsChapter 24 : Error HandingChapter 25 : Exception HandingChapter 26 : PHP FilterChapter 27 : PHP MySQLChapter 28 : PHP XML Expat Parser
Chapter 29 : Gii thiu AJAXChapter Ngoi : Bi Tp-Bi 11: Vit ng dng ng nhp bng PHP v MYSQL-Bi 12: Vit ng dng thm thnh vin bng PHP v MYSQL-Bi 13: Vit ng dng qun l thnh vin bng PHP v MYSQL-Bi 14: vit ng dng sa xa thnh vin bng PHP v MYSQL-Bi 15: Vit ng dng to m xc nhn bng PHP-Bi 16: Vit ng dng m s ngi online bng php
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
2/412
Page 2 of 413
-Bi 17: Xy dng h thng bnh chn bng PHP v MYSQL-Bi 18: Xy dng ng dng to trang upload nhiu hnh nh-Bi 19: Vit ng dng to gi hng - shopping cart - phn 1-Bi 20: Vit ng dng to gi hng - shopping cart - phn 2Chapter 30 : Cc hm
Chapter 31 : Linh Tinh Cc Th Bn Ngoi Tng Hp c+Code style theo chun Zend-Nhng iu cn bit v PHP 5.4-Cc hm rt hu ch trong PHP bn cn bit !-iu g khin bn l 1 coder ti ?-Cc li c bn trong lp trnh PHP-Code gi mail trong PHP-T lm menu 2 cp n gin vi php v javascript-T lm im sng vi javascript-Gii thiu - Ci t Smarty-Smarty c bn [ Phn 1 ]
-Smarty c bn [ Phn 2 ]-K thut s dng lazy loading trong hng i tng-Regular Expressions-Gii thiu Regular Expression Nng cao- quy vi menu khng gii hn s cp (N cp)-Upload file trong php-Class support Mutil Language cho c bn v nng cao v cho c cc framework khc!!!!-Hng dn CSS Framework 960 cho mi ngi-Nhp d liu t file excel s dng cng ngh XML...-M hnh VMC auto load Controller v model-Th Thut Tng Tc PHP-Code phn trang theo kiu Google-Phn trang c bn, c phn on khng OOP-Hng dn s dng jquery ajax lng nhau trong ng dng-Code phn trang bng Ajax n gin-S dng JqGrid PHP-K thut seo website-Phn trang n gin vi Jquery-Performance Tips trong PHP - Part 1-Nhng lp v phng thc tru tng trong PHP 5.-M hnh Multi Modules , Multi Templates v Multi Database-Tm hiu th vin Php_filter-Vit Class Database c chng SQL Injection-Cch ly rss v tin tc T VnExPress-Cch dng hm ereg, preg trong php-Khi dng ajax khi nhn enter s t ng gi hm ging khi dng form-[TUT] Add d liu t form vo database hin th ting vit c du.-Tn mn v ECHO-Code xem th mc con .-STRING trong PHP [PART1]
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
3/412
Page 3 of 413
-STRING trong PHP [PART2]-STRING trong PHP [PART3]-STRING trong PHP [PART4]-Mng trong PHP [Part1]-Mng trong PHP [Part2]
-Hng dn code trang news c bn-HNG DN CODE TRANG BN SCH-Hng dn chi tit code trang bn schAbout Author of this bookAuthor : Siverdragon12
- V l do ngu hng v trong lc hc lp trnh php nn mun vit liquyn sch ny dnh cho ngi mi nhp mn hoc a phn cc bnkhng bit ting anh v 1 tng lai ai cng gii CNTT nh khng c ngha ai khng bit ting anh th khng th lp trnh .
- Have A Nice Day , everybody !!!
Ch : Sch Cha c hon thin . ang c b sung v chnh sanhiu th gip sch ngy mt hon thin hn v vy sch hin ang l bntest , s sm public bn hon thin v thm nhiu chapter mi , bi tp mi ,training mi cho cc bn v thm phn nng cao PHP gip cc bn hiuhn v lp trnh tt hn vi PHP . Share To Be Shared . Cm n .
Chapter 1 : Gii Thiu PHP
PHP l mt ngn ng kch bn my ch, v l mt cng c mnh lm cho cc trangWeb ng v tng tc.
PHP l mt thay th c s dng rng ri, min ph, v hiu qu vi cc i th cnhtranh nh ASP ca Microsoft.
"Show PHP" cng c ca chng ti lm cho n d dng tm hiu PHP, n cho thy cm ngun PHP v u ra ca m HTML.
V D 1 on Code PHP n gin kt hp HTML
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
4/412
Page 4 of 413
Phn m l ngn ng PHP , cn li l HTML
Chapter 2 : Bt u vi PHP
Nhng g bn nn bit !!!
Trc khi tip tc, bn cn phi c mt s hiu bit c bn sau y:-HTML-Javascript
Nu bn mun nghin cu cc i tng ny ln u tin, tm thy cc hng dn trntrang ny .http://w3schools.com/
PHP l g?
-PHP l vit tt ca PHP: Hypertext Preprocessor-PHP l mt ngn ng s dng rng ri , l mt m ngun m-PHP c thc hin trn my ch ( vd : Linux )-PHP hon ton min ph download v s dng
PHP l ngn ng n gin nht cho ngi mi bt u hc lp trnhPHP cng cung cp nhiu tnh nng tin tin cho cc lp trnh vin chuyn nghip.
File PHP l g?
-PHP tp tin c th cha vn bn, HTML, JavaScript m, v m PHP-M PHP c thc hin trn my ch, v kt qu c tr v cho trnh duyt nh
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
5/412
Page 5 of 413
HTML-PHP tp tin c phn m rng tp tin mc nh ca ". Php"
PHP c th lm g?
-PHP c th to ra ni dung trang nng ng-PHP c th to ra, m, c, vit, v cc tp tin trn my ch gn-PHP c th thu thp d liu mu-PHP c th gi v nhn cookie-PHP c th thm, xa, sa i d liu trong c s d liu ca bn-PHP c th hn ch ngi dng truy cp mt s trang trn trang web ca bn-PHP c th m ha d liu
Vi PHP, bn khng gii hn u ra HTML. Bn c th xut hnh nh, tp tin PDF, vthm ch c phim Flash. Bn cng c th sn xut bt k vn bn, chng hn nh
XHTML v XML.Ti sao PHP?
- PHP chy trn cc nn tng khc nhau (Windows, Linux, Unix, Mac OS X, vv)- PHP l tng thch vi hu nh tt c cc my ch c s dng hin nay (Apache,
IIS, vv)- PHP h tr cho mt lot cc c s d liu- PHP l min ph. Ti v n t ngun PHP chnh thc: www.php.net- PHP l d dng tm hiu v chy hiu qu pha my ch
Chapter 3 : Ci t PHP
Nhng g bn cn c !+ Tm 1 Hosting ( chy php , ci ny p dng cho ai mun thu host b tin mnhkhuyn nn chy localhost )+ Bn c th dng cc chng trnh h tr chy localhost trn google , c rt nhiu v
bn c th ty chn nu thch
i vi vic Chn Hosting- Bn nn chn hosting no h tr tt v t vn khch hng ( v l yu t cn
thit )- Bn nn chn hosting no c tc load nhanh , h tr ng truyn tt v khng
b cm cc hm ( Function ) to iu kin tt nht cho vic hc PHP
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
6/412
Page 6 of 413
Cc chng trnh chy Localhost u phi c cc iu sau y- C h thng Apache- MySQL
- PHP l nhng yu cu c bn ca 1 server ( my ch )
Chapter 4 : C Php PHPMt s c php n ginTt c cc m lnh php u bt u vi . M lnh ca PHP cth t bt c u trong file . 1 s my ch khc bn cng c th bt u vi i vi kh nng tng thch ti a, chng ti khuyn bn nn s dng cc hnh thc tiuchun (
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
7/412
Page 7 of 413
V d :
Chapter 5 : Bin PHPBn cn nh mn i S Trng Khng ?Dng nh , x = 1 , y = 2 , z =3Bn cn nh vi mi t ta c th gn 1 gi tr (vd : x = 2 , y = 123 , z = 52 v.v ) v bn s dngmy thng tin tnh 1 gi tr no ca dchng hn .
Tt c nhng ci trn c gi l Bin PHP , vbin c dng gi 1 gi tr nht nh (x=2)hoc l cc bi ton nh ( d = a+b+c ) trong a,b,c l cc hng s c gi tr bt k ( vd : a = 1 ,
b = 2 , c = 3 th d = a + b + c = 6 )
Bin PHP
Vi i s, cc bin PHP c s dng gi cc gi tr hoc biu thc.Mt bin c th c mt tn ngn, nh x, hoc mt ci tn di hn, nh h vtn chng ta vy.
Quy tc cho tn bin PHP :-Cc bin trong PHP bt u vi mt k hiu $, tip theo l tn ca bin-Tn bin phi bt u vi mt k t hoc k t gch di-Mt tn bin ch c th cha cc k t ch-s v gch di (A-z, 0-9, v _)-Mt tn bin khng nn cha khng gian ( gi l khong cch vd : $a b
bin ny l sai , $ba th ny mi ng )-Tn bin l trng hp nhy cm v quan trng nn n phn bit c hoa vthng (y v Y l hai bin khc nhau)
Creating (Declaring) PHP Variables
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
8/412
Page 8 of 413
PHP khng c lnh khai bo mt bin.
Mt bin c to ra thi im ln u tin bn ch nh mt gi tr cho n: (lc mi bt u file php )
Vd v 1 bin y
$siverdragon12=Hacker;
Sau khi thc hin bin trn th bin siverdragon12 s gi gi tr l Hacker
Mo : Nu bn to mt bin m khng bt k gi tr no th bn nn t gi tr l null
Vd :
$siverdragon12=null;
No , by gi ta s to ra 1 bin c cha k t ( ch t a -> z ) v 1 bin ccha s ( 0 -> 9 )
Ch : i vi ch ( k t ) th bn phi du ngoc kp nh trn , cni vi s th khng cn .
PHP l mt ngn ng lng loTrong PHP, mt bin khng cn phi c khai bo trc khi thm mt gi tr cho n.Trong v d trn, nhn thy rng chng ti khng phi ni vi PHP kiu d liu bin.PHP s t ng chuyn bin cho ng kiu d liu, ty thuc vo gi tr ca n.Trong mt ngn ng lp trnh mnh m, bn phi khai bo (xc nh) cc loi v tn cabin trc khi s dng n.
Phm Vi PHPPhm vi ca mt bin l mt phn ca kch bn, trong bin c th ctham chiu.
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
9/412
Page 9 of 413
PHP c bn phm vi bin khc nhau:-local-global-static-parameter
Phm Vi LocalMt bin khai bo trong mt hm PHP l a phng v ch c thc truy cp trong phm vi chc nng . (Bin c phm vi local): Vd .
Cc kch bn trn s khng sn xut bt k sn lng v echo tuyn b
cp n bin phm vi a phng bin $a, m khng c chnh mt gi tr trong phm vi ny.Bn c th c cc bin a phngc cng tn trong cc chc nng khc nhau, bi v cc bin a phngch c cng nhn bi cc chc nng m chng c khai bo.Ccbin a phng s b xa ngay sau khi chc nng, nhim v chon thnh.
Phm Vi Global
Phm vi ton cu cp n bt k bin c nh ngha bn ngoica bt k chc nng.
Bin ton cu c th c truy cp t bt k mt phn ca kch bn khng phi l bn trong mt hm.
truy cp vo mt bin ton cu t bn trong mt chc nng, sdng global t kha:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
10/412
Page 10 of 413
V d :
Kt qu on code trn l 15 ( sau khi chy )
PHP cng lu tr tt c cc bin ton cu trong mt mng gi l $GLOBALS [ index]. Ch s ca n l tn ca bin. Mng ny cng cth truy cp t bn trong chc nng v c th c s dng cpnht cc bin ton cu trc tip.
V d trn c th c vit li nh th ny:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
11/412
Page 11 of 413
Phm Vi Static
Khi mt hm c hon thnh, tt c cc bin ca n thng b xa. Tuy nhin, i khi bnmun bin a phng khng b xa.
lm iu ny, s dng cc t kha tnh khi ln u tin bn khai bo cc bin:
static $rememberMe;
Sau , mi khi hm c gi, bin vn s c nhng thng tin n c t thi gian qua ccchc nng c gi.
Lu :bin vn l local n chc nng.
Parameters
Mt tham s l mt bin a phng c gi tr c truyn cho hm m gi.
Cc thng s c khai bo trong danh sch tham s nh l mt phn ca vic k khai hmfunctions:
Function myTest($para1,$para2,...)
{// function code}
Cc thng s cn c gi l i s. Chng ti s tho lun chi tit hn khi chng ta ni v ccchc nng.
Chapter 6 : Chui Bin PHP
Chui bin c s dng s dng cho cc gi tr c cha k t .Trong chng trnh ny , chng ta s nhn vo chc nng ph bin nht vvn hnh c s dng thao tc cc chui bin trong PHP.Sau khi chng ti to ra mt chui , chng ta c th thao tc n . Mt chuic th c s dng trc tip trong mt hm hoc n c th c lu trtrong mt bin .Di y, cc tp lnh PHP gn vn bn "Hello World" vo mt chui bingi l $ txt:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
12/412
Page 12 of 413
Khi thc thi code trn th s ra kt qu tr v l Hello WorldNo , by gi chng ta th 1 s chc nng v cc chc nng khc nhau x l 1 chuiCh c mt chui trong PHP.S dng du (.) c s dng t hai chui vi nhau. ni hai bin chui vi nhau, s dng ton t ni:
Kt qu tr v s l
Hello World ! What a nice day!
Nu chng ta nhn vo on m trn, bn thy rng chng ta s dng ton t ni hai ln.iu ny l bi v chng ti chn mt chui th ba (mt nhn vt khng gian), phn cch hai chui.
Hm strlen()Hm strlen () c s dng tr li chiu di ca mt chui.Hy tm chiu di ca mt chui:
Kt qu tr v l
12
Chiu di ca mt chui thng c s dng trong vng lp hoc cc chc nng khc,iu quan trng l bit khi no kt thc chui. (tc l trong mt vng lp, chng timun ngng vng lp sau khi k t cui cng trong chui).
Hm strpos()Hm strpos () c s dng tm kim mt nhn vt / vn bn trong mt chui.
Nu kt hp c tm thy, chc nng ny s tr li vi v tr nhn vt ca trn u u
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
13/412
Page 13 of 413
tin. Nu khng ph hp c tm thy, n s tr v FALSE.
Hy xem nu chng ta c th tm thy chui "th gii" trong chui k t ca chng ti:
Kt qu tr v l
6
V tr t "world" trong v d trn l 6. L do m n l 6 (v khng phi 7), l v tr ca kt u tin trong chui l 0, v khng phi 1.
Thng tin v 1 s chc nng ca cc hm khc ( c th l khng y nhng cng nnc qua cho bit )http://w3schools.com/php/php_ref_string.asp
Chapter 7 : Ton T PHP
Ton T ( i s n gin ) OperatorsThe table below lists the arithmetic operators in PHP:
Operator Name Description Example Result
x + y Addition . Cng Sum of x and y 2 + 2 4
x - y Subtraction . Tr Difference of x and y 5 - 2 3
x * yMultiplication.Nhn
Product of x and y 5 * 2 10
x / y Division . Chia Quotient of x and y 15 / 5 3
x % yModulus . Chialy s d
Remainder of x dividedby y
5 % 210 % 810 % 2
120
- x Negation . s m Opposite of x - 2
a . bConcatenation .Ghp k t
Concatenate two strings "Hi" . "Ha" HiHa
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
14/412
Page 14 of 413
Phn cng Operators
The basic assignment operator in PHP is "=". It means that the left operand gets set to thevalue of the expression on the right. That is, the value of "$x = 5" is 5.
Assignment Same as... Description
x = y x = yThe left operand gets set to the value of the expression onthe right
x += y x = x + y Addition
x -= y x = x - y Subtraction
x *= y x = x * y Multiplication
x /= y x = x / y Division
x %= y x = x % y Modulus
a .= b a = a . b Concatenate two strings
Tng dn/gim dn Operators
Operator Name Description++ x Pre-increment Increments x by one, then returns x
x ++ Post-increment Returns x, then increments x by one
-- x Pre-decrement Decrements x by one, then returns x
x -- Post-decrement Returns x, then decrements x by one
Ton T So SnhComparison operators allows you to compare two values:
Operator Name Description Examplex == y Equal True if x is equal to y 5==8 returns false
x === y IdenticalTrue if x is equal to y, and theyare of same type
5==="5" returns false
x != y Not equal True if x is not equal to y 5!=8 returns true
x y Not equal True if x is not equal to y 58 returns true
x !== y Not identical True if x is not equal to y, orthey are not of same type
5!=="5" returns true
x > y Greater than True if x is greater than y 5>8 returns false
x < y Less than True if x is less than y 5= yGreater than orequal to
True if x is greater than or equalto y
5>=8 returns false
x
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
15/412
Page 15 of 413
equal to y
Logical Operators
Operator Name Description Example
x and y And True if both x and y are true
x=6y=3(x < 10 and y > 1) returnstrue
x or y OrTrue if either or both x and y aretrue
x=6y=3(x==6 or y==5) returnstrue
x xor y Xor
True if either x or y is true, but
not both
x=6y=3
(x==6 xor y==3) returnsfalse
x && y And True if both x and y are true
x=6y=3(x < 10 && y > 1) returnstrue
x || y OrTrue if either or both x and y aretrue
x=6y=3(x==5 || y==5) returnsfalse
! x Not True if x is not true x=6y=3!(x==y) returns true
Array Operators
Operator Name Descriptionx + y Union Union of x and y
x == y Equality True if x and y have the same key/value pairs
x === y Identity
True if x and y have the same key/value pairs in the same
order and of the same typesx != y Inequality True if x is not equal to y
x y Inequality True if x is not equal to y
x !== y Non-identity True if x is not identical to y
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
16/412
Page 16 of 413
Chapter 8 : Cu lnh If else trongPHP
Cu iu kin c s dng thc hin cc hnh ng khc nhau da trn cc iu kinkhc nhau.
iu kin cu lnh ( c cho bit v suy ngh ) .N rt c dng thng xuyn khi bn vit code , bn mun thc hin mthnh ng ( 1 cu lnh ) nhng vi nhng quyt nh khc nhau th cu lnhif else l s la chn ca bn
Bn c th s dng cu lnh iu kin trong m ca bn lm iu ny.
- Trong PHP chng ti c bo co iu kin sau y .- Cu lnh if ( khng c else ) ci ny dng thc hin mt lnh ch khi iukin quy nh l ng s tht
- Cu lnh if else thc hin iu kin nu n iu kin l ng cn nu sai ths tr kt qu khc else
- Cu lnh if elseif else dng thc hin nhiu khi m 1 lc trong nhiukhi m thc hin ( vd trn c mi 1 iu kin sai th tr v ci kia , cn ciny nhiu trng hp i loi th )
- Cu lnh switch S dng cu lnh ny la chn mt trong nhiu on m sc thc hin .
Cu lnh IF- S dng cu lnh if khi thc hin mt s m khi v ch khi iu kin
qui nh ca n ng vi m c qui nh
C php cu if :
If ( iu kin ) s c thc hin nu iu kin ng .
V d sau y s a ra "Have a nice weekend!" nu ngy hin nay l th Su:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
17/412
Page 17 of 413
Ch rng on m trn khng c else . v vy m ny c thc thi khi nch ng vi iu kin .
Cu lnh IF ELSE
S dng cu lnh if else thc hin on m nu iu kin n l nghoc sai .C php :
if (iu kin){
M lnh s c thc hin nu iu kin ng;}
else{M lnh s c thc hin nu iu kin sai;}
V d
V d sau y s a ra "Have a nice weekend!" nu ngy hin nay l th Su, nu khngphi n s tr kt qu khc l "Have a nice day!"
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
18/412
Page 18 of 413
Cu lnh IF ELSEIF ELSE
S dng cu lnh if .... elseif ... else la chn mt trong nhiu khi m s c thchin.
C php
if (iu kin 1){code s c thc hin nu iu kin 1 ng;}
elseif (iu kin 2){code s c thc hin nu iu kin 2 ng;}
else{code s c thc hin nu my ci iu kin trn sai;}
V d
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
19/412
Page 19 of 413
V d sau y s a ra "Have a nice weekend!"nu ngy hin nay l th Su, v "Have anice Sunday!" nu ngy hin nay l ch nht. Nu khng, n s ra "Have a nice day!"
Chapter 9 : Cu lnh Switch PHPCu iu kin c s dng thc hin cc hnh ng khc nhau da trn cc iu kinkhc nhau.S dng cu lnh switch la chn mt trong nhiu khi m s c thc hin.
C php
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
20/412
Page 20 of 413
switch (n){case label1:
code s thc hin nu n=label1;break;
case label2:code s thc hin nu if n=label2;break;
default:code s thc hin nu n khc c 2 ci label1 v label2; }
y l cch n hot ng: u tin chng ta c mt biu thc duy nht n (thng xuynnht mt bin), c nh gi mt ln. Gi tr ca biu thc sau c so snh vi ccgi tr cho tng trng hp trong cu trc. Nu c mt trn u, cc khi m lin kt vitrng hp c thc hin. S dng break ngn chn cc m t chy vo trnghp tip theo t ng. Nhng tuyn b mc nh c s dng nu khng tm thy.
V d
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
21/412
Page 21 of 413
Chapter 10 : Arrays ( Mng )Mt mng lu tr nhiu gi tr trong mt bin duy nht.Mt Array l g?
Mt bin l mt vng lu tr ang nm gi mt s hoc vn bn. Vn l, mt bin sch c mt gi tr.
Mt mng l mt bin c bit, c th lu tr nhiu gi tr trong mt bin duy nht.
Nu bn c mt danh sch cc mc (mt danh sch cc tn xe, v d), lu tr cc xe ttrong cc bin duy nht c th nhn nh th ny:
$cars1="Saab";$cars2="Volvo";$cars3="BMW";
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
22/412
Page 22 of 413
Tuy nhin , nu khng phi 3 ci tn m l hng ngn ci tn th sao ? Gii php tt nht l dng mngMt mng c th gi tt c cc gi tr bin ca bn di mt ci tn. V bn c th truycp vo cc gi tr bng cch cp n tn mng.
Mi phn t trong mng c ch s ring ca mnh n c th d dng truy cp.Trong PHP, c ba loi ca cc mng:
Numeric array - Mt mng vi mt s ch sAssociative array - Mt mng m mi phm ID c kt hp vi mt gi trMultidimensional array- Mt mng c cha mt hoc nhiu mng
Numeric Arrays
Mt mng s cc ca hng mi phn t mng vi mt s ch s.
C hai phng php to ra mt mng s.
1. Trong v d sau ch s c gn t ng (ch s bt u t 0):
$cars=array("Saab","Volvo","BMW","Toyota");
2.Trong v d sau chng ta gn cc ch s theo cch th cng:
$cars[0]="Saab";$cars[1]="Volvo";$cars[2]="BMW";$cars[3]="Toyota";
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
23/412
Page 23 of 413
V dTrong v d sau bn truy cp cc gi tr bin bng cch cp n tn mng v ch s:
Code s tr v l
Saab and Volvo are Swedish cars.
Associative Arrays
Mt mng kt hp, mi phm ID c kt hp vi mt gi tr.Khi lu tr d liu v cc gi tr c th c t tn, mt mng s khng phi l lunlun l cch tt nht lm iu .
Vi mng kt hp, chng ti c th s dng cc gi tr nh l cha kha v gn gi tr choh.V d 1Trong v d ny, chng ti s dng mt mng gn la tui ngi khc nhau:
V d 2
V d ny l tng t nh v d 1, nhng cho thy mt cch khc nhau ca vic to ra cc
mng:
$ages['Peter'] = "32";$ages['Quagmire'] = "30";$ages['Joe'] = "34";
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
24/412
Page 24 of 413
Cc phm ID c th c s dng trong mt kch bn:
Code s tr v l
Peter is 32 years old.
Multidimensional Arrays
Trong mt mng a chiu, mi phn t trong mng chnh cng c th l mt mng. Vmi phn t trong mng ph c th l mt mng, v nh vy.V dTrong v d ny, chng ta to mt mng a chiu, vi cc phm ID t ng gn:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
25/412
Page 25 of 413
$families = array("Griffin"=>array("Peter",
"Lois","Megan"),"Quagmire"=>array("Glenn"),"Brown"=>array("Cleveland","Loretta",
"Junior"));
Cc mng trn s ging nh th ny nu bng vn bn n u ra:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
26/412
Page 26 of 413
Array([Griffin] => Array([0] => Peter
[1] => Lois[2] => Megan)
[Quagmire] => Array([0] => Glenn)
[Brown] => Array([0] => Cleveland[1] => Loretta
[2] => Junior))
V d 2
Cho php th hin th mt gi tr t mng trn:
echo "Is " . $families['Griffin'][2] ." a part of the Griffin family?";
Kt qu tr v s l
Is Megan a part of the Griffin family?
Chapter 11 : Looping While LoopsLoops thc thi mt khi m mt s quy nh ca ln, hoc trong khi mt iu kin cch nh l ng s tht.
PHP Loops
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
27/412
Page 27 of 413
Thng thng khi bn vit m, bn mun cng mt khi m chy hn v hn natrong mt hng. Thay v thm mt vi dng trong mt kch bn gn nh bng nhau,chng ta c th s dng cc vng lp thc hin mt nhim v nh th ny.
Trong PHP, chng ti c bo co vng lp sau y:- while - loops thng qua mt khi m trong khi mt iu kin c ch nh l ng s
tht- do ... while - vng lp thng qua mt khi m mt ln, v sau lp i lp li vng
lp di nh mt iu kin xc nh l ng s tht- foreach - loops mt khi m cho mi phn t trong mt mng
The while Loop
Cc vng lp trong khi thc thi mt khi m trong khi mt iu kin l ng s tht.
C php
while (iu kin){code s c thc hin;}
V d
V d di y u tin thit lp mt bin 1 ($i=1;).
Sau , trong khi vng lp s tip tc chy khi i nh hn hoc bng 5. N s tng thm 1mi ln vng lp chy:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
28/412
Page 28 of 413
Kt qu l
The number is 1The number is 2The number is 3
The number is 4The number is 5
The do...while Statement
Vic do ... while khi tuyn b s lun lun thc hin cc khi m mt ln, sau s kim
tra cc iu kin, v lp li vng lp trong khi iu kin l ng.C php
do{code s c thc hin;}
while (iu kin);
V d
V d di y u tin thit lp mt bin 1 ($i=1;).
Sau , n bt u do ... trong khi vng lp. Cc vng lp s tng bin i vi 1, v sau vit mt s u ra. Sau , iu kin c kim tra (l ti t hn, hoc bng 5), v vnglp s tip tc chy khi i nh hn hoc bng 5
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
29/412
Page 29 of 413
Kt qu cho ra l
The number is 2The number is 3The number is 4The number is 5The number is 6
Cc vng lp v vng lp foreach s c gii thchtrong chng k tip.
Chapter 12 : Looping For LoopsLoops thc thi mt khi m mt s quy nh ca ln, hoc trong khi mt iu kin cch nh l ng s tht.
The for Loop
Vng lp for c s dng khi bn bit trc kch bn nn chy bao nhiu ln.C php
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
30/412
Page 30 of 413
for (init; condition; increment){code to be executed;}
Ch thch:
init: Hu h s dng s m (nhng c th c bt km c thc hin mt ln vo u ca vng lp)
condition: iu kin cho mi ln lp. Nu iu kinny ng, vng lp tip tc. Nu n iu kin sai thvng lp kt thc.
increment: Hu ht tng s m (nhng c th cbt k m s c thc hin vo cui ca s lp li)
Lu : Cc thng s init v increment c th c snphm no hoc c nhiu biu ng (cch nhau bng duphy).
V d
V d di y nh ngha mt vng lp bt u vi i = 1. Cc vng lp s tip tc chymin l bin i nh hn hoc bng 5. Bin i s tng thm 1 mi ln vng lp chy:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
31/412
Page 31 of 413
Kt qu tr v l
The number is 1The number is 2The number is 3The number is 4The number is 5
The foreach Loop
Vng lp foreach c s dng lp qua mng.C php
foreach ($array as$value){code to be executed;}
i vi mi vng lp, gi tr ca phn t mng hin ti c gn cho $ value (v con trmng l di chuyn ca mt) - do , vng lp tip theo, bn s c xem xt gi tr mngtip theo.
V d
V d sau y cho thy mt vng lp m s in cc gi tr ca cc mng nht nh
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
32/412
Page 32 of 413
Kt qu tr v s l
onetwothree
Chapter 13 : Functions ( Hm
Chc Nng )Sc mnh thc s ca PHP xut pht t chc nng ca mnh.
Trong PHP, c hn 700 tch hp chc nng.
Bn c th tham kho cc chc nng nhiu hn y
http://w3schools.com/php/default.asp
PHP Functions
Trong chng ny, chng ti s cho bn thy lm th no to ra cc chc nng caring bn. gi cho kch bn ang c thc thi khi ti trang, bn c th t n vo mthm.Chc nng s c thc hin bi mt cuc gi n chc nng.Bn c th gi mt chc nng t bt c ni no trong mt trang .
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
33/412
Page 33 of 413
Create a PHP Function
Chc nng s c thc hin bi mt cuc gi n chc nng.C php
functionfunctionName(){code to be executed;}
PHP function hng dn:
Cung cp cho cc chc nng mt tn phn nh nhng g chc nngTn chc nng c th bt u bng mt ch ci hoc gch di (khng phi s)
V d
Mt chc nng n gin, vit tn ca ti khi n c gi l:
Kt qu l
My name is siverdragon12
PHP Functions - Adding parameters (thm cc thngs)
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
34/412
Page 34 of 413
thm nhiu chc nng cho mt hm, chng ta c th thm cc thng s. Mt tham sl ging nh mt bin.
Tham s c quy nh c th sau tn hm, bn trong du ngoc n.V d 1
V d sau y s vit tn khc nhau u tin, nhng tn cui cng nh nhau:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
35/412
Page 35 of 413
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
36/412
Page 36 of 413
Kt qu s l
1 + 16 = 17
Chapter 14 : PHP Forms and User
InputCc bin PHP $_GET v $_POST c s dng ly thng tin t cc hnhthc, nh u vo ca ngi s dng.
PHP Form Handling
iu quan trng nht khi giao dch vi cc hnh thc HTML v PHP l bt k yu thnh thc trong mt trang HTML s t ng c sn cho PHP script ca bn.V d
V d di y c cha mt dng HTML vi hai lnh vc u vo v mt nt submit:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
37/412
Page 37 of 413
Name:
Age:
Khi mt ngi dng in vo cc hnh thc trn v nhp chut vo nt submit, cc dliu mu c gi vo mt tp tin PHP, gi l "welcome.php":
"welcome.php" trng nh th ny:
Welcome !
You are years old.Kt qu tr v s i loi nh th ny
Welcome John!You are 28 years old.
Cc bin PHP $_POST v $_GET s c gii thch trong cc chng tip theo.
Form Validationu vo s dng nn c xc nhn trn cc trnh duyt bt c khi no c th (theo lnhca khch hng). Trnh duyt xc nhn l nhanh hn v gim ti my ch.
Bn nn xem xt my ch xc nhn nu ngi dng nhp vo s c chn vo c s dliu. Mt cch tt xc nhn mt hnh thc trn my ch l vit cc hnh thc chochnh n, thay v nhy n mt trang khc. Sau ngi dng s nhn c cc thng
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
38/412
Page 38 of 413
bo li trn cng mt trang nh hnh thc. iu ny lm cho n d dng hn pht hinra cc li.
Chapter 15 : PHP $_GET VariableTrong PHP, bin $ _GET c xc nh trc c s dng thu thp cc gi tr trongmt hnh thc vi phng php = "get".
The $_GET Variable
Thng tin c gi t mt hnh thc vi phng thc GET c th nhn thy tt c mingi (n s c hin th trong thanh a ch ca trnh duyt) v c gii hn v s lng
thng tin gi.V d
Name: Age:
Khi ngi dng nhp vo nt "Submit", URL gi n my ch c th nhn mt ci g
nh th ny:
http://localhost/welcome.php?fname=Peter&age=37
Cc tp tin "welcome.php" by gi c th s dng bin $ _GET thu thp d liu mu(tn ca cc trng mu t ng s l cha kha trong mng $ _GET):
Welcome .
You are years old!When to use method="get"?
Khi s dng phng php "get" trong cc hnh thc HTML, tt c cc tn bin v gi trc hin th trong URL.
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
39/412
Page 39 of 413
Lu : Phng php ny khng nn c s dng khi gi mt khu hoc cc thng tinnhy cm khc!
Tuy nhin, bi v cc bin c hin th trong URL, n c th nh du trang. iu ny
c th hu ch trong mt s trng hp.Lu : Phng php get l khng ph hp vi cc gi tr bin rt ln. N khng nnc s dng vi gi tr vt qu 2000 k t.
Chapter 16 : PHP $_POSTFunctionTrong PHP, bin $ _POST c xc nh trc c s dng thu thp cc gi tr trongmt hnh thc vi phng php = "post".
The $_POST Variable ( Bin $_POST )
Bin $ _POST c xc nh trc c s dng thu thp cc gi tr t mt hnh thcgi vi phng php = "post".
Thng tin c gi t mt hnh thc vi phng thc POST l v hnh cho ngi khc
v khng c gii hn v s lng thng tin gi.Lu : Tuy nhin, kch thc ti a cho phng thc POST l 8 MB mc ch ( c ththay i mc nh thng qua file php.ini , dng post_max_size )
V d :
Name: Age:
Khi ngi dng nhp vo nt "Submit", URL s nh th ny:
http://localhost/welcome.php
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
40/412
Page 40 of 413
Cc tp tin "welcome.php" by gi c th s dng bin $ _POST thu thp d liu mu(tn ca cc trng mu t ng s l cha kha trong mng $ _POST):
Welcome !
You are years old.When to use method="post"?
Thng tin c gi t mt hnh thc vi phng thc POST l v hnh cho ngi khcv khng c gii hn v s lng thng tin gi.
Tuy nhin, bi v cc bin khng c hin th trong URL, n khng phi l c th nhdu trang.
The PHP $_REQUEST Variable
Bin $ _REQUEST c xc nh trc c cha cc ni dung ca c hai $ _GET,$_POST , $_COOKIE
Bin $ _REQUEST c th c s dng thu thp d liu mu c gi vi c haiphng php GET v POST.V d
Welcome !
You are years old.Phn 2 : PHP Nng Cao
Chapter 17 : Date() FunctionChc nng php date() dng nh dng mt thi gian v / hoc ngy.
The PHP Date() Function
Chc nng PHP Date() nh dng du thi gian cho mt ngy d c hn v thi gian.
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
41/412
Page 41 of 413
Mo : Du thi gian l mt chui cc k t, biu th ngy thng v / hoc thi gian mti mt s kin no xy ra.C php
date(format,timestamp)
Parameter Descriptionformat Required. Specifies the format of the timestamp
timestamp Optional. Specifies a timestamp. Default is the current date and time
PHP Date() - Format the Date
Tham s nh dng cn thit trong date()xc nh lm th no nh dng ngy / thigian.
Di y l mt s k t c th c s dng:
d - i din cc ngy trong thng (01-31)m - i din cho mt thng (01-12)Y - i din mt nm (bn ch s)
Bn c th tham kho thm ti yhttp://w3schools.com/php/php_ref_date.asp
Nhng k t khc nh : /,.,- cng c th c chn vo gia cc cc ch ci bsung thm nh dng .
Kt qu tr v s l
2013/05/112013.05.112013-05-11
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
42/412
Page 42 of 413
PHP Date() - Adding a Timestamp
Tham s du thi gian ty chn trong date() chc nng xc nh mt du thi gian. Nubn khng ch nh mt du thi gian, ngy hin ti v thi gian s c s dng.
Chc nng mktime() tr v cc du thi gian Unix cho mt ngy.
Cc du thi gian Unix cha s giy gia Epoch Unix (January 1 1970 00:00:00 GMT)v thi gian quy nh.
C php cho mktime()
mktime(hour,minute,second,month,day,year,is_dst)
i mt ngy trong tng lai, chng ti ch n gin l thm mt i s ngy mktime()
Code s ra l
Tomorrow is 2009/05/12
Chapter 17 : Include File
PHP include and require Statements
Trong PHP, bn c th chn ni dung ca mt file PHP vo mt tp tin PHP trc khimy ch thc hin n.
Bao gm v yu cu bo co c s dng chn m hu ch bng vn bn trong cctp tin khc, trong dng chy ca thc hin.
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
43/412
Page 43 of 413
Bao gm v yu cu ging ht nhau, ngoi tr khi tht bi:
-yu cu s to ra mt li nghim trng (E_COMPILE_ERROR) v dng li kch bn-bao gm s ch sn xut mt cnh bo (E_WARNING) v kch bn s tip tc
V vy, nu bn mun thc hin i vo v ch cho ngi s dng u ra, ngay c khibao gm cc tp tin l mt tch, s dng bao gm. Nu khng, trong trng hpFrameWork, CMS hoc mt ng dng PHP m ha phc tp, lun lun s dng yu cu bao gm mt tp tin quan trng n dng chy ca thc hin. iu ny s gip trnhnh hng n an ninh v ton vn ca ng dng ca bn, ch cn trong trng hp mttrong nhng tp tin quan trng l v tnh mt tch.
Cc file bao gm tit kim rt nhiu cng vic. iu ny c ngha l bn c th to mttiu tiu chun, chn, hoc tp tin trnh n cho tt c cc trang web ca bn. Sau ,khi tiu cn c cp nht, bn ch c th cp nht cc tiu bao gm cc tp tin.
Syntax ( C php )
include 'filename';
or
require 'filename';
PHP include and require Statement
Gi s bn c mt tp tin tiu tiu chun, c gi l "header.php". bao gm cctp tin tiu trong mt trang, s dng include/require:
Welcome to my home page!
Some text.
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
44/412
Page 44 of 413
V d 2
Gi s chng ta c mt tp tin trnh n tiu chun nn c s dng trn tt c cctrang.
"menu.php":
echo 'HomeTutorialsReferencesExamplesAbout UsContact Us';
Tt c cc trang trong trang Web nn bao gm cc tp tin trnh n ny. y l lm thno n c th c thc hin:
Welcome to my home page.
Some text.
V d 3
Gi s chng ta c mt tp tin vi mt s bin c nh ngha ("vars.php") bao gm:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
45/412
Page 45 of 413
Sau , cc bin c th c s dng trong cc tp tin gi:
Welcome to my home page.
Chapter 18 : File HandingChc nng fopen() dng m 1 file trong PHP
Opening a File
Tham s u tin ca chc nng ny cha tn ca tp tin c m v tham s th hai quynh c th trong ch tp tin phi c m ra:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
46/412
Page 46 of 413
Tp tin c th c m trong mt trong cc phng thc sau y:
Modes Descriptionr Read only. Starts at the beginning of the file
r+ Read/Write. Starts at the beginning of the file
w Write only. Opens and clears the contents of file; or creates a new fileif it doesn't exist
w+ Read/Write. Opens and clears the contents of file; or creates a new fileif it doesn't exist
a Append. Opens and writes to the end of the file or creates a new file ifit doesn't exist
a+ Read/Append. Preserves file content by writing to the end of the filex Write only. Creates a new file. Returns FALSE and an error if file
already exists
x+ Read/Write. Creates a new file. Returns FALSE and an error if filealready exists
Lu : Nu hm fopen() l khng th m cc tp tin c ch nh, n s tr v 0 (false).V d
V d sau y to ra mt tin nhn nu hm fopen() l khng th m cc tp tin c chnh:
Closing a File
Chc nng fclose() dng ng file ang m:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
47/412
Page 47 of 413
Check End-of-file
Feof () chc nng kim tra nu "end-of-file (EOF) t c.
Feof () chc nng hu ch cho Looping thng qua cc d liu khng r chiu di.
Lu : Bn khng th c t tp tin m trong w, a, v ch x!
if (feof($file)) echo "End of file";
Reading a File Line by Line
Cc fgets() chc nng c s dng c mt dng t mt tp tin duy nht.
Lu : Sau khi mt cuc gi n chc nng ny, con tr tp tin di chuyn n dng ktip.V d
V d di y c mt dng tp tin theo dng, cho n khi t n cui ca tp tinc:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
48/412
Page 48 of 413
Reading a File Character by Character
Hm fgetc() c s dng c mt k t t mt tp tin duy nht.
Lu : Sau khi mt cuc gi n chc nng ny di chuyn con tr tp tin k t tip theo.V d
V d di y c mt tp tin k t ca nhn vt, cho n khi t n cui tp tin:
Chapter 19 : File UploadVi PHP , n c th cho php bn upload 1 tp tin ln server ( my ch )
Create an Upload-File Form
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
49/412
Page 49 of 413
cho php ngi dng ti ln cc tp tin t mt hnh thc c th rt hu ch.
Nhn vo cc hnh thc HTML cho cc tp tin ti ln sau:
Filename:
Ch sau y v dng HTML trn:
-Thuc tnh enctype ca th xc nh loi ni dung s dng khi np mun. "multipart / form-data" c s dng khi yu cu d liu nh phn, ging nh nidung ca mt tp tin c ti ln mt hnh thc ( ti nhiu file cho nhanh )
-Type = "file" thuc tnh ca th xc nh rng u vo nn c x l nhmt tp tin. V d, khi xem trong mt trnh duyt, c s l mt nt browse bn cnh lnhvc u vo
Lu : Cho php ngi dng ti ln cc tp tin l mt nguy c bo mt ln. Ch cho phpngi dng tin cy thc hin cc tp tin ti ln.
Create The Upload Script
Ni dung file "upload_file.php" s c dng nh th ny
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
50/412
Page 50 of 413
Bng cch s dng PHP global $ _FILES mng bn c th ti ln cc tp tin t mt mytnh khch hng n my ch t xa.
Tham s u tin l tn ca hnh thc u vo v ch s th hai c th l mt trong hai"name", "type", "size", "tmp_name" hoc "error". Nh th ny:
$ _FILES ["File"] ["name"] - tn ca cc tp tin ti ln$ _FILES ["File"] ["type"] - loi tp tin ti ln$ _FILES ["File"] ["size"] - kch thc trong kilobytes ca cc tp tin ti ln$ _FILES ["File"] ["tmp_name"] - tn ca bn sao tm thi ca tp tin c lu tr
trn my ch$ _FILES ["File"] ["error"] - m li t tp tin ti ln
y l mt cch rt n gin cc tp tin ti ln. V l do bo mt, bn nn thm hn chv nhng g ngi dng c php ti ln.
Restrictions on Upload
Trong kch bn ny, chng ta thm mt s hn ch cc tp tin ti ln. Ngi s dngc th ti ln gif, jpeg, v png tp tin v kch thc tp tin phi di 20 kB.:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
51/412
Page 51 of 413
Lu : i vi IE nhn ra loi tp tin jpg phi l pjpeg, cho FireFox n phi ljpeg.
Saving the Uploaded File
Cc v d trn to ra mt bn sao tm thi ca cc tp tin ti ln trong th mc temp PHPtrn my ch.
Cc file tm thi sao chp mt i ngay c khi kch bn kt thc. lu tr cc tp tin
c ti ln chng ta cn phi sao chp n vo mt v tr khc nhau:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
52/412
Page 52 of 413
Cc kch bn trn kim tra nu tp tin tn ti, nu n khng c, n s sao chp cc tptin vo mt th mc gi l "upload".
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
53/412
Page 53 of 413
Chapter 20 : PHP CookiesMt cookie thng c s dng xc nh mt ngi s dng.
What is a Cookie?
Mt cookie thng c s dng xc nh mt ngi s dng. Mt cookie l mt filenh m server nhng vo trn my tnh ca ngi dng. Mi ln cng mt my tnh yucu mt trang vi mt trnh duyt, n s gi cookie. Vi PHP, bn c th to ra v ly gitr cookie.
How to Create a Cookie?Hm setcookie() c s dng thit lp mt cookie.
Lu : Hm setcookie() phi c TRC th .C php
setcookie(name, value, expire, path, domain);
V d 1
Trong v d di y, chng ti s to ra mt cookie c tn l "user" v gn gi tr "AlexPorter" vi n. Chng ti cng xc nh rng cookie ht hn sau mt gi:
.....
Lu : Gi tr ca cookie c t ng urlencoded khi gi cc tp tin cookie, v t nggii m khi nhn ( ngn chn URLencoding, s dng setrawcookie () thay th).V d 2
Bn cng c th thit lp thi gian ht hn ca cookie theo mt cch khc. N c thc d dng hn bng cch s dng giy.
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
54/412
Page 54 of 413
.....
Trong v d trn c thit lp thi gian ht hn mt thng (60 giy * 60 pht * 24 gi *30 ngy).
How to Retrieve a Cookie Value?
PHP bin $ _COOKIE c s dng ly mt gi tr cookie.
Trong v d di y, chng ti ly gi tr ca cookie c tn l "ngi s dng" v hinth n trn mt trang:
Trong v d sau, chng ti s dng isset() chc nng tm ra nu mt cookie cthit lp:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
55/412
Page 55 of 413
How to Delete a Cookie?Khi xa mt cookie, bn nn m bo rng ngy ht hn l trong qu kh.
V d xa Cookie:
What if a Browser Does NOT Support Cookies?
Nu cc chng trnh khuyn mi p dng vi cc trnh duyt khng h tr cookies, bns phi s dng cc phng php khc vt qua thng tin t trang ny sang trang khctrong ng dng ca bn. Mt phng php l truyn d liu thng qua cc hnh thc(hnh thc v u vo ngi s dng c m t trc trong hng dn ny).
Mu di y qua cc u vo ngi s dng "welcome.php" khi ngi dng nhp vont "Submit":
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
56/412
Page 56 of 413
Name:
Age:
Cc gi tr trong tp tin "welcome.php" nh th ny:
Welcome .
You are years old.Chapter 21 : PHP SessionsMt bin PHP sessions c s dng lu tr thng tin v, hoc thay i ci t chomt phin ngi dng. Bin Session gi thng tin v ngi s dng duy nht, v c sncho tt c cc trang trong mt ng dng.
PHP Session Variables
Khi bn ang lm vic vi mt ng dng, bn m n, lm mt s thay i v sau bnng n. y l ging nh mt phin ( sessions ). Cc my tnh bit bn l ai. N bit khibn bt u ng dng v khi bn kt thc. Tuy nhin, trn internet c mt vn : ccmy ch web khng bit bn l ai v nhng g bn lm v a ch HTTP khng duy trtrng thi.
Mt PHP session gii quyt vn ny bng cch cho php bn lu tr thng tin ngi
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
57/412
Page 57 of 413
dng trn my ch s dng sau ny (v d nh tn ngi dng, cc mt hng mua sm,vv). Tuy nhin, thng tin phin l tm thi v s b xa sau khi ngi dng ri khi trangweb. Nu bn cn lu tr vnh vin, bn c th mun lu tr cc d liu trong mt cs d liu.
Phin lm vic bng cch to ra mt id duy nht (UID) cho mi khch truy cp v ccbin ca hng da trn UID ny. UID l hoc c lu tr trong mt cookie hoc ltuyn truyn trong URL.
Starting a PHP Session
Trc khi bn c th lu tr thng tin ngi s dng trong phin ( sessions ) PHP cabn, trc tin bn phi bt u sessions.
Lu : Cc chc nng session_start() phi xut hin TRC th :
on m trn s ng k phin lm vic ca ngi dng vi my ch, cho php bn bt u thng tin ngi dng tit kim, v gn mt UID cho session ca ngi dng .
Storing a Session Variable
Cch chnh xc lu tr v ly bin phin giao dch l s dng bin $ _SESSION PHP:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
58/412
Page 58 of 413
Kt qu cho ra l
Pageviews=1
Trong v d di y, chng ti to ra mt truy cp trang page-views n gin. Ccisset() chc nng kim tra nu bin "views" c thit lp. Nu "views" c thitlp, chng ta c th tng truy cp ca chng ti. Nu "views" khng tn ti, chng ti tora mt bin "views", v t n vo 1:
Destroying a Session
Nu bn mun xa mt s d liu phin ( sessions ), bn c th s dng unset() hocsession_destroy() .
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
59/412
Page 59 of 413
Unset() chc nng c s dng gii phng bin phin giao dch quy nh:
Bn cng c th ph hy hon ton cc session bng cch gi session_destroy() chcnng:
Lu : session_destroy () s thit lp li phin lm vic ca bn v bn s mt tt c cc
d liu sessions ca bn c lu tr.
Chapter 22 : Sending EmailsPHP cho php bn gi e-mail trc tip t mt on script.
The PHP mail() FunctionPHP mail() chc nng c s dng gi email t bn trong mt kch bn ( Mt Script ).
C php
mail(to,subject,message,headers,parameters)
Parameter Description
to Required. Specifies the receiver / receivers of the email
subject Required. Specifies the subject of the email. Note: This parametercannot contain any newline characters
message Required. Defines the message to be sent. Each line should beseparated with a LF (\n). Lines should not exceed 70 characters
headers Optional. Specifies additional headers, like From, Cc, and Bcc. Theadditional headers should be separated with a CRLF (\r\n)
parameters Optional. Specifies an additional parameter to the sendmail program
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
60/412
Page 60 of 413
Lu : i vi cc chc nng mail s c sn, PHP i hi mt h thng email c cit v hot ng. Chng trnh c s dng c xc nh bi cc thit lp cu hnhtrong file php.ini.
PHP Simple E-Mail
Cch n gin nht gi mt email vi PHP l gi mt email vn bn.
Trong v d di y, chng ti ln u tin khai bo cc bin ($to, $subject, $message,$from, $headers), sau chng ti s dng cc bin trong hm mail() gi e-mail:
PHP Mail Form
With PHP, you can create a feedback-form on your website. The example below sends atext message to a specified e-mail address:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
61/412
Page 61 of 413
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
62/412
Page 62 of 413
chng k tip ca hng dn ny, bn c th c thm chi tit v l hng trong kch bne-mail, v lm th no xc nhn u vo ngi s dng lm cho n an ton hn.
Chapter 23 : Secure E-mailsC mt im yu trong kch bn e-mail PHP trong chng trc.
PHP E-mail Injections
u tin, hy nhn vo cc m PHP t chng trc:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
63/412
Page 63 of 413
Vn vi code trn l ngi s dng tri php c th chn d liu vo cc tiu mail thng qua hnh thc u vo.
iu g s xy ra nu ngi dng thm cc vn bn sau y n lnh vc nhp a chemail trong cc hnh thc?
Nh th ny ?
[email protected]%0ACc:[email protected]%0ABcc:[email protected],[email protected],[email protected],[email protected]%0ABTo:[email protected]
Hm mail () t cc vn bn trn vo cc tiu th nh bnh thng, v phn u trangc thm mt Cc:, Bcc:, v: To : field. Khi ngi dng nhp vo nt submit, e-mail sc gi n tt c cc a ch trn!
PHP Stopping E-mail Injections
Cch tt nht ngn chn khai thc e-mail l xc nhn u vo.
on code di y l ging nh trong chng trc, nhng by gi chng ti thmmt validator u vo kim tra cc lnh vc th in t trong cc hnh thc:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
64/412
Page 64 of 413
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
65/412
Page 65 of 413
";}?>
Trong on m trn, chng ti s dng PHP b lc xc nhn u vo:
Cc b lc FILTER_SANITIZE_EMAIL loi b tt c cc k t bt hp php e-mailt mt chui
Cc b lc FILTER_VALIDATE_EMAIL xc nhn gi tr nh l mt a ch e-mail
Bn c th c thm v cc b lc trong chng Lc PHP ca chng ti..http://w3schools.com/php/php_filter.asp
Chapter 24 : Error HandingVic x l li mc nh trong PHP rt n gin. Mt thng bo li vi tn tp tin, sdng v mt tin nhn m t cc li c gi n trnh duyt.
PHP Error Handling
Khi to ra cc kch bn v cc ng dng web, li x l l mt phn quan trng. Nu mca bn thiu m kim tra li, chng trnh ca bn c th trng rt khng chuyn nghipv bn c th c ri ro an ninh.
Hng dn ny c cha mt s li ph bin nht kim tra cc phng php trong PHP.
Chng ti s hin th cc phng php x l cc li khc nhau:- n gin "die()" bo co- Tu chnh li v gy nn li- bo co li
Basic Error Handling: Using the die() function
V d u tin cho thy mt kch bn n gin m mt tp tin vn bn:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
66/412
Page 66 of 413
Nu tp tin khng tn ti, bn c th nhn c mt li nh th ny:
Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:No such file or directory in C:\www\test.php on line 2
trnh m ngi dng nhn c mt thng bo li nh trn, chng ti kim tra nutp tin tn ti trc khi chng ti c gng truy cp vo n:
By gi nu cc tp tin khng tn ti, bn nhn c mt li nh th ny:
File not found
on m trn l hiu qu hn hn so vi m trc , bi v n s dng mt c ch x lli n gin ngn chn kch bn sau khi li.
Tuy nhin, ch cn dng li kch bn khng phi l lun lun ng cch i. Chng tahy xem xt thay th PHP chc nng cho cc li x l.
Creating a Custom Error Handler
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
67/412
Page 67 of 413
To mt li x l ty chnh l kh n gin. Chng ti ch n gin l to ra mt chcnng c bit c th c gi khi li xy ra trong PHP.
Chc nng ny phi c kh nng x l ti thiu l hai tham s (mc li v thngbo li), nhng c th chp nhn n nm tham s (ty chn tp tin, ng s, v bi
cnh cc li);C php
error_function(error_level,error_message,error_file,error_line,error_context)
Parameter Descriptionerror_level Required. Specifies the error report level for the user-defined error.
Must be a value number. See table below for possible error reportlevels
error_message Required. Specifies the error message for the user-defined error
error_file Optional. Specifies the filename in which the error occurred
error_line Optional. Specifies the line number in which the error occurrederror_context Optional. Specifies an array containing every variable, and their values,in use when the error occurred
Error Report levels
Nhng mc bo co li l cc loi khc nhau ca cc li ngi dng nh ngha x lli c th c s dng cho:
Value Constant Description
2 E_WARNING Non-fatal run-time errors. Execution of the script isnot halted
8 E_NOTICE Run-time notices. The script found something thatmight be an error, but could also happen whenrunning a script normally
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
68/412
Page 68 of 413
256 E_USER_ERROR Fatal user-generated error. This is like anE_ERROR set by the programmer using the PHPfunction trigger_error()
512 E_USER_WARNING Non-fatal user-generated warning. This is like anE_WARNING set by the programmer using the
PHP function trigger_error()1024 E_USER_NOTICE User-generated notice. This is like an E_NOTICE
set by the programmer using the PHP functiontrigger_error()
4096 E_RECOVERABLE_ERROR Catchable fatal error. This is like an E_ERROR butcan be caught by a user defined handle (see alsoset_error_handler())
8191 E_ALL All errors and warnings (E_STRICT became a partof E_ALL in PHP 5.4)
By gi cho php to ra mt chc nng x l cc li:
function customError($errno, $errstr){echo "Error: [$errno] $errstr
";echo "Ending Script";die();}on m trn l mt li chc nng x l n gin. Khi n c kch hot, n c mc li v mt thng bo li. Sau kt qu u ra mc li v thng ip v kt thckch bn.
By gi chng ta to ra mt chc nng x l li, chng ti cn phi quyt nh khi ncn phi c kch hot.
Set Error HandlerX l li mc nh cho PHP l c xy dng trong x l li. Chng ti s thc hin ccchc nng trn x l li mc nh trong sut thi gian ca kch bn.
N c th thay i x l li p dng ch cho mt s li, nh vy kch bn c th x lcc li khc nhau theo nhng cch khc nhau. Tuy nhin, trong v d ny, chng ta s sdng x l li ty chnh ca chng ti cho tt c cc li:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
69/412
Page 69 of 413
set_error_handler("customError");
T khi chng ti mun c chc nng ty chnh ca chng ti x l tt c cc li,set_error_handler() ch cn mt tham s, mt tham s th hai c th c thm vo xc nh mt mc li.
V dKim tra x l li bng cch c gng bin u ra khng tn ti:
u ra ca cc m trn nn c mt ci g nh th ny:
Error: [8] Undefined variable: test
Trigger an Error
Trong mt kch bn m ngi s dng c th nhp d liu n rt hu ch kch hot ccli khi mt u vo bt hp php xy ra. Trong PHP, iu ny c thc hin bi ccchc nng trigger_error().V d
Trong v d ny, mt li xy ra nu bin "test" ln hn "1":
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
70/412
Page 70 of 413
u ra ca cc m trn nn c mt ci g nh th ny:
Notice: Value must be 1 or belowin C:\webfolder\test.php on line 6
Mt li c th c kch hot bt c ni no bn mun trong mt kch bn, v bng cchthm vo mt tham s th hai, bn c th xc nh mc li c kch hot.
Loi li c th xy ra:
E_USER_ERROR - Fatal thi gian chy li do ngi dng to ra. Li m khng thc phc hi t. Thc thi kch bn phi dng li
E_USER_WARNING - Khng gy h cnh bo ngi dng to ra thi gian chy.Thc thi kch bn khng dng li
E_USER_NOTICE - Default. Ngi s dng to thng bo thi gian chy. Cc kchbn tm thy mt ci g c th l mt li, nhng cng c th xy ra khi chy mt kch
bn bnh thngV d
Trong v d ny E_USER_WARNING xy ra nu bin "test" ln hn "1". NuE_USER_WARNING xy ra, chng ta s s dng ty chnh x l li ca chng ti vkt thc kch bn:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
71/412
Page 71 of 413
u ra ca cc m trn nn c mt ci g nh th ny:
Error: [512] Value must be 1 or belowEnding Script
By gi chng ta hc c cch to ra cc li ca chng ta v lm th no kch
hot chng, cho php c mt ci nhn li ng nhp.
Error Logging
Theo mc nh, PHP s gi mt bn ghi li h thng ng nhp ca my ch hoc mttp tin, ty thuc vo cch cu hnh error_log c thit lp trong file php.ini. Bng cchs dng cc error_log() chc nng bn c th gi cc bn ghi li vo mt tp tin c chnh hoc mt im n t xa.
Gi thng bo li cho chnh mnh bng e-mail c th l mt cch tt nhn c thngbo li c th.
Send an Error Message by E-Mail
Trong v d di y, chng ti s gi mt e-mail vi mt thng bo li v kt thc kchbn, nu mt li c th xy ra:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
72/412
Page 72 of 413
u ra ca cc m trn nn c mt ci g nh th ny:
Error: [512] Value must be 1 or belowWebmaster has been notified
V cc th nhn c t cc m trn trng nh th ny:
Error: [512] Value must be 1 or below
iu ny khng nn c s dng vi tt c cc li. Cc li thng xuyn nn c ngnhp trn my ch bng cch s dng h thng mc nh khai thc g PHP.
Chapter 25 : Exception HandingTrng hp ngoi l ( Exception ) c s dng thay i dng chy bnh thng camt kch bn nu mt li c xc nh xy ra.
What is an Exception
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
73/412
Page 73 of 413
Vi PHP 5, n mt i tng mi theo nh hng cch i ph vi cc li.
X l ngoi l c s dng thay i dng chy bnh thng ca vic thc thi m numt li c ch nh (c bit) iu kin xy ra. Tnh trng ny c gi l mt ngoi l.
y l nhng g thng xy ra khi mt ngoi l c kch hot:- M hin ti ca nh nc c lu- Vic thc thi m s chuyn sang mt chc nng c xc nh trc (ty chnh) x l
ngoi l- Ty theo tnh hnh, x l sau c th tip tc thc hin t trng thi m lu, chm
dt thc hin kch bn hoc tip tc kch bn t mt v tr khc nhau trong cc m
Chng ti s hin th cc phng php x l cc li khc nhau:
-S dng c bn ca ngoi l
-To mt x l ngoi l tychnh nhiu trng hp ngoi l
-Li nm mt ngoi l-Thit lp mt x l ngoi l u
Lu : Trng hp ngoi l ch nn c s dng vi iu kin li, v khng nn cs dng chuyn n mt ni khc trong cc m ti mt thi im xc nh.
Basic Use of Exceptions
Khi mt ngoi l c nm ra, cc m sau n s khng c thc hin, v PHP s cgng tm thy nhng "catch" ph hp vi khi.
Nu mt ngoi l khng b bt, mt li nghim trng s c pht hnh vi mt thngbo "uncaught ngoi l".
Cho php th nm mt ngoi l m khng nh bt n:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
74/412
Page 74 of 413
on m trn s nhn c mt li nh th ny:
Fatal error: Uncaught exception 'Exception'with message 'Value must be 1 or below' in C:\webfolder\test.php:6Stack trace: #0 C:\webfolder\test.php(12):checkNum(28) #1 {main} thrown in C:\webfolder\test.php on line 6
Try, throw and catch
trnh li ny t v d trn, chng ta cn to ra cc m thch hp x l mttrng hp ngoi l.
Thch hp ngoi l m nn bao gm:
1.C gng - Mt chc nng bng cch s dng mt ngoi l phi trong mt khi"th". Nu trng hp ngoi l khng kch hot, m s tip tc nh bnh thng. Tuynhin, nu trng hp ngoi l kch hot, mt ngoi l l "nm"
2.Throw - y l cch bn kch hot mt ngoi l. Mi "nm" phi c t nht mt"catch"
3.Catch - Mt khi "bt" ly mt ngoi l v to ra mt i tng c cha cc thng
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
75/412
Page 75 of 413
tin ngoi l
on m trn s nhn c mt li nh th ny:
Message: Value must be 1 or below
Example explained:
on m trn nm mt ngoi l v bt n:
1.Cc checkNum() chc nng c to ra. N kim tra nu mt s l s ln hn 1. Nu
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
76/412
Page 76 of 413
c, mt ngoi l c nm2.Cc checkNum() chc nng c gi trong mt khi "th"3.Ngoi tr trong phm vi chc nng checkNum () c nm4.Block "bt" retrives cc trng hp ngoi l v to ra mt i tng ($e) c cha cc
thng tin ngoi l
5.Cc thng bo li t trng hp ngoi l c lp li bng cch gi $e->getMessage() t i tng ngoi l
Tuy nhin, mt trong nhng cch c c xung quanh "nm mi phi c mt nm bt"nguyn tc l thit lp mt mc ngoi l x l hng u x l cc li phiuthng qua.
Creating a Custom Exception Class
To mt x l ngoi l ty chnh l kh n gin. Chng ti ch n gin l to ra mt
lp hc c bit vi chc nng c th c gi khi mt ngoi l xy ra trong PHP. Cclp hc phi l mt phn m rng ca lp ngoi l.
Cc lp ngoi l ty chnh c tha hng ti sn t lp ngoi l ca PHP v bn c ththm cc chc nng ty chnh cho n.
Cho php to ra mt lp ngoi l:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
77/412
Page 77 of 413
{//throw exception if email is not
validthrow new
customException($email);
}}
catch (customException $e){//display custom messageecho $e->errorMessage();}
?>Cc lp hc mi l mt bn sao ca lp ngoi l c vi mt s b sung chc nngErrorMessage(). V n l mt bn sao ca lp c, v n c tha hng cc thuc tnh
v phng php t lp c, chng ta c th s dng cc phng thc lp ngoi l nhgetline() v getFile() v getMessage().
Example explained:
on m trn nm mt ngoi l v bt n vi mt lp ngoi l ty chnh:
1.Lp customException() c to ra nh l mt phn m rng ca lp ngoi l c.Bng cch ny, n c tha hng tt c cc phng php v cc thuc tnh t lp
ngoi l c2.Chc nng ErrorMessage() c to ra. Hm ny tr v mt thng bo li nu mt
a ch e-mail khng hp l3.Bin $email c thit lp mt chui khng phi l mt a ch e-mail hp l4."Th" khi c thc hin v ngoi l c nm t a ch e-mail khng hp l5.Khi "catch" bt nhng trng hp ngoi l v hin th cc thng bo li
Multiple Exceptions
N c th cho mt kch bn s dng nhiu trng hp ngoi l kim tra nhiu iukin.
C th s dng mt s nu .. khc khi, mt chuyn i, hoc nhiu trng hp ngoi llm t. Nhng trng hp ngoi l ny c th s dng cc lp hc ngoi l khc nhau vtr li thng bo li khc nhau:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
78/412
Page 78 of 413
Example explained:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
79/412
Page 79 of 413
on m trn kim tra hai iu kin v nm mt ngoi l nu c cc iu kin khngc p ng:
1. Lp customException () c to ra nh l mt phn m rng ca lp ngoi l c.Bng cch ny, n c tha hng tt c cc phng php v cc thuc tnh t lp
ngoi l c2. Chc nng ErrorMessage () c to ra. Hm ny tr v mt thng bo li nu mta ch e-mail khng hp l
3. Bin $ email c thit lp mt chui l mt a ch e-mail hp l, nhng ccha chui "v d"
4. "Th" khi c thc hin v mt ngoi l c nm vo iu kin u tin5. iu kin th hai gy ra mt ngoi l k t khi e-mail c cha chui "v d"6. Khi "catch" bt nhng trng hp ngoi l v hin th cc thng bo li chnh xc
Nu nm ngoi l ca customException lp v khng c bt customException, ch cngoi l c s nh bt, mt ngoi l s c x l .
Re-throwing Exceptions
i khi, khi mt ngoi l c nm ra, bn c th mun x l n khc vi cch tiuchun. N c th nm mt ngoi l ln th hai trong vng mt khi "catch".
Mt kch bn nn che giu li h thng t ngi dng. Li h thng c th quan trng ivi cc coder, nhng khng c ngi dng quan tm. lm cho mi vic d dng hncho ngi s dng, bn c th nm li ngoi l vi mt thng ip thn thin vi ngis dng:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
80/412
Page 80 of 413
Example explained:
on m trn bi kim tra nu a ch email c cha chui "v d" trong , nu c, cctrng hp ngoi l c li nm:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
81/412
Page 81 of 413
1.Lp customException() c to ra nh l mt phn m rng ca lp ngoi l c.Bng cch ny, n c tha hng tt c cc phng php v cc thuc tnh t lpngoi l c
2.Chc nng ErrorMessage() c to ra. Hm ny tr v mt thng bo li nu mt
a ch e-mail khng hp l3.Bin $email c thit lp mt chui l mt a ch e-mail hp l, nhng ccha chui "v d"
4."Th" khi cha mt "th" khi lm cho n c th nm ngoi l5.Ngoi l ny c kch hot k t khi e-mail c cha chui "v d"6.Khi "catch" bt ngoi l v li nm mt "customException"7.B bt "customException" v hin th mt thng bo li
Nu trng hp ngoi l khng c nh bt trong khi hin ti ca n "th", n s tmkim mt khi catch "cp cao hn".
Set a Top Level Exception Handler
set_exception_handler() chc nng thit lp mt chc nng ngi dng nh ngha xl tt c cc trng hp ngoi l uncaught.
u ra ca cc m trn nn c mt ci g nh th ny:
Exception: Uncaught Exception occurred
Trong on m trn khng c block "catch". Thay vo , x l ngoi l cp cao nhtkch hot. Chc nng ny nn c s dng bt ngoi l uncaught.
Quy tc cho trng hp ngoi l
M c th c bao bc trong mt khi th, gip bt ngoi l tim nngMi khi try hoc "nm" phi c t nht mt khi catch tng ngNhiu khi catch c th c s dng bt cc lp hc khc nhau ca cc trng hp
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
82/412
Page 82 of 413
ngoi lTrng hp ngoi l c th c nm (hoc ti nm) trong mt khi catch trong mt
khi try
Mt nguyn tc n gin: Nu bn nm mt ci g , bn phi nm bt n.
Chapter 26 : PHP FilterPHP b lc c s dng xc nhn v lc d liu n t cc ngun khng an ton,ging nh u vo ngi s dng.
What is a PHP Filter?
Mt b lc PHP c s dng xc nhn v lc d liu n t cc ngun khng anton.
kim tra, xc nhn v lc u vo ngi dng hoc d liu ty chnh l mt phnquan trng ca bt k ng dng web.
Phn m rng PHP b lc c thit k lc d liu d dng hn v nhanh hn.
Why use a Filter?
Hu nh tt c cc ng dng web ph thuc vo u vo bn ngoi. Thng thng, iuny xut pht t mt ngi dng hoc mt ng dng khc (nh mt dch v web). Bng
cch s dng b lc, bn c th chc chn rng ng dng ca bn c cc loi u vochnh xc.
Bn nn lun lun lc tt c d liu bn ngoi!
u vo lc l mt trong nhng vn bo mt ng dng quan trng nht.
D liu bn ngoi l g?
-D liu u vo t biu mu-Cookies
-Web dch v d liu-my ch cc bin-C s d liu kt qu truy vn
Functions and Filters
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
83/412
Page 83 of 413
lc mt bin, s dng mt trong cc chc nng lc sau y:
-filter_var() - B lc mt bin duy nht vi mt b lc xc nh-filter_var_array() - B lc mt s bin vi cc b lc ging v khc nhau-filter_input - mt bin u vo v lc n
-filter_input_array - Nhn mt s bin u vo v lc chng vi cc b lc ging vkhc nhau
Trong v d di y, chng ti xc nhn mt s nguyn bng cch s dng chc nngfilter_var():
Chapter 27 : PHP MySQLC s d liu MySQL min ph l rt thng c s dng vi PHP.
To mt kt ni n mt c s d liu MySQL
Trc khi bn c th truy cp d liu trong mt c s d liu, bn phi to ra mt kt ni nc s d liu.
Trong PHP, iu ny c thc hin vi cc chc nng mysql_connect ().
C phpmysql_connect(servername,username,password);
Thng s M t
servername Ty chn. Ch nh my ch kt ni vi. Gi tr mc nh l "localhost: 3306"
Tn truy nhp Ty chn. Ch nh tn ngi dng ng nhp vi. Gi tr mc nh l tn ca ngs hu qu trnh my ch
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
84/412
Page 84 of 413
mt khu Ty chn. Ch nh mt khu ng nhp. Mc nh l ""
Lu : C thm nhiu thng s c sn, nhng nhng ngi c lit k trn l quan trngnht. y ca chng ti PHP MySQL tham kho bit thm chi tit.
V d
Trong v d sau chng ti lu tr cc kt ni trong mt bin ($ con) cho s dng sau nytrong kch bn. "Cht" mt phn s c thc hin nu kt ni khng thnh cng:
Kt thc mt kt ni
Kt ni s c t ng ng khi kch bn kt thc. ng kt ni trc khi s dngmysql_close () chc nng:
Mt c s d liu cha mt hoc nhiu bng.
To mt c s d liuCu lnh CREATE DATABASE c s dng to ra mt c s d liu trong MySQL.
C phpCREATE DATABASE database_name
tm hiu thm v SQL, vui lng truy cp ca chng ti hng dn SQL .
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
85/412
Page 85 of 413
c c PHP thc hin cc tuyn b trn, chng ta phi s dng hm mysql_query(). Chc nng ny c s dng gi mt truy vn hoc lnh kt ni MySQL.
V d
V d sau y to ra mt c s d liu gi l "my_db":
To mt bng
Cu lnh CREATE TABLE c s dng to ra mt bng trong MySQL.
C phpCREATE TABLE table_name(column_name1 data_type,column_name2 data_type,column_name3 data_type,....)
tm hiu thm v SQL, vui lng truy cp ca chng ti hng dn SQL .
Chng ta phi thm cc tuyn b CREATE TABLE mysql_query () chc nng thc hinlnh.
V d
V d sau y to ra mt bng c tn l "Ngi", vi ba ct. Cc tn ct s c "FirstName","LastName" v "Age":
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
86/412
Page 86 of 413
Quan trng: Mt c s d liu phi c la chn trc khi mt bng c th c to ra. C
s d liu c chn vi mysql_select_db () chc nng.
Lu : Khi bn to ra mt lnh vc c s d liu kiu varchar, bn phi xc nh di ti aca lnh vc ny, v d nh varchar (15).
Cc kiu d liu xc nh kiu d liu ct c th gi. i vi mt ti liu tham kho y catt c cc loi d liu c sn trong MySQL, chng ti hon thnh ti liu tham kho kiu dliu .
Kha chnh v cc lnh vc Tng Auto
Mi bng cn phi c mt trng tiu hc trng im.
Mt kha chnh c s dng xc nh cc hng trong mt bng. Mi gi tr kha chnhphi l duy nht trong bng. Hn na, cc trng tiu hc trng im khng c th l v gitr v cc cng c c s d liu i hi phi c mt gi tr xc nh v tr cc bn ghi.
V d sau y thit lp cc lnh vc PersonId nh cc lnh vc kha chnh. Cc lnh vc trngim chnh thng l mt s ID, v thng c s dng vi cc thit lp
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
87/412
Page 87 of 413
AUTO_INCREMENT. AUTO_INCREMENT t ng lm tng gi tr ca trng 1 mi ln mt klc mi c thm vo. m bo rng cc trng tiu hc trng im khng th null,chng ta phi thm cc thit lp NOT NULL cho lnh vc ny.
V d$sql = "CREATE TABLE Persons
(personID int NOT NULL AUTO_INCREMENT,PRIMARY KEY(personID),FirstName varchar(15),LastName varchar(15),Age int)";
mysql_query($sql,$con);
Chn d liu vo mt bng c s d liuINSERT INTO tuyn b c s dng thm cc bn ghi mi vo mt bng c s d liu.
C php
C th vit INSERT INTO tuyn b trong hai hnh thc.
Cc hnh thc u tin khng xc nh cc ct d liu s c chn vo, ch c gi tr ca h:
INSERT INTO table_name
VALUES (value1, value2, value3,...)
Hnh thc th hai quy nh c th c cc tn ct v cc gi tr s c chn vo:
INSERT INTO table_name (column1, column2, column3,...)VALUES (value1, value2, value3,...)
tm hiu thm v SQL, vui lng truy cp ca chng ti hng dn SQL .
c c PHP thc hin bo co trn, chng ta phi s dng hm mysql_query (). Chcnng ny c s dng gi mt truy vn hoc lnh kt ni MySQL.
V d
Trong chng trc, chng ta to ra mt bng c tn l "Ngi", vi ba ct "FirstName","LastName" v "Age".Chng ti s s dng cng mt bng trong v d ny. V d sau y chobit thm hai k lc mi vo bng "Persons":
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
88/412
Page 88 of 413
{die('Could not connect: ' . mysql_error());}
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin',35)");
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)VALUES ('Glenn', 'Quagmire',33)");
mysql_close($con);?>
Chn d liu t form vo c s d liu
By gi chng ta s to ra mt hnh thc HTML c th c s dng thm cc h s mi bng "Ngi".
y l hnh thc HTML:
Firstname: Lastname: Age:
Khi ngi dng nhp chut vo nt gi dng HTML trong v d trn, cc d liu mu cgi "insert.php".
Cc tp tin "insert.php" kt ni vi mt c s d liu, v ly cc gi tr t hnh thc vi ccbin PHP _POST.
Sau , mysql_query () chc nng thc hin cc INSERT INTO tuyn b, v mt k lc mi s
c thm vo bng "Ngi".
y l trang "insert.php":
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
89/412
Page 89 of 413
}
mysql_select_db("my_db", $con);
$sql="INSERT INTO Persons (FirstName, LastName, Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con)){die('Error: ' . mysql_error());}
echo "1 record added";
mysql_close($con);?>
Chn d liu t mt bng c s d liu
Cu lnh SELECT c s dng chn d liu t mt c s d liu.
C phpSELECT column_name(s)FROM table_name
tm hiu thm v SQL, vui lng truy cp ca chng ti hng dn SQL .
c c PHP thc hin cc tuyn b trn, chng ta phi s dng hm mysql_query(). Chc nng ny c s dng gi mt truy vn hoc lnh kt ni MySQL.
V d
V d sau y chn tt c cc d liu c lu tr trong bng "Ngi" (k t * chn tt c ccd liu trong bng):
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
90/412
Page 90 of 413
mysql_close($con);?>
V d trn ca hng d liu tr v bi hm mysql_query () trong bin $ kt qu.
Tip theo, chng ti s dng mysql_fetch_array () chc nng tr li hng u tin t
recordset nh l mt mng. Mi cuc gi n mysql_fetch_array () tr li hng k tip trongrecordset. Cc vng lp trong khi vng qua tt c cc bn ghi trong recordset. in gi tr cami hng, chng ti s dng bin $ row PHP ($ row ['FirstName'] v $ row ['LastName']).
u ra ca cc m trn s l:
Peter GriffinGlenn Quagmire
Hin th cc kt qu trong mt bng HTML
V d sau y chn cc d liu tng t nh v d trn, nhng s hin th d liu trong mtbng HTML:
u ra ca cc m trn s l:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
91/412
Page 91 of 413
FirstName Lastname
Glenn Bai ly
Peter Tin mach ming
Mnh WHERE
Mnh WHERE c s dng trch xut ch nhng h s m thc hin mt tiu chun quynh.
C phpSELECT column_name(s)FROM table_nameWHERE column_name operator value
tm hiu thm v SQL, vui lng truy cp ca chng ti hng dn SQL .
c c PHP thc hin cc tuyn b trn, chng ta phi s dng hm mysql_query(). Chc nng ny c s dng gi mt truy vn hoc lnh kt ni MySQL.
V d
V d sau y chn tt c cc hng t bng "Ngi" "FirstName = 'Peter'":
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
92/412
Page 92 of 413
ORDER BY loi t kha cc bn ghi trong th t tng dn theo mc nh.
Nu bn mun sp xp cc bn ghi trong mt th t gim dn, bn c th s dng cc tkho DESC.
C phpSELECT column_name(s)FROM table_nameORDER BY column_name(s) ASC|DESC
tm hiu thm v SQL, vui lng truy cp ca chng ti hng dn SQL .
V d
V d sau y chn tt c cc d liu c lu tr trong bng "Ngi", v sp xp kt qutheo ct "Age":
u ra ca cc m trn s l:
Glenn Quagmire 33Peter Griffin 35
Sp xp theo hai ct
N cng c th t do nhiu hn mt ct. Khi t hng theo nhiu hn mt ct, ct th haich c s dng nu cc gi tr trong ct u tin l bng nhau:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
93/412
Page 93 of 413
SELECT column_name(s)FROM table_nameORDER BY column1, column2
Cp nht d liu trong mt c s d liu
Cu lnh UPDATE c s dng cp nht cc bn ghi hin c trong mt bng.
C phpUPDATE table_nameSET column1=value, column2=value2,...WHERE some_column=some_value
Lu : Ch mnh WHERE trong c php UPDATE. Mnh WHERE quy nh c th h shoc h s cn c cp nht. Nu bn b qua mnh WHERE, tt c h s s c cpnht!
tm hiu thm v SQL, vui lng truy cp ca chng ti hng dn SQL .
c c PHP thc hin cc tuyn b trn, chng ta phi s dng hm mysql_query(). Chc nng ny c s dng gi mt truy vn hoc lnh kt ni MySQL.
V d
Trc , trong hng dn, chng ti to ra mt bng c tn l "Ngi". y l n trng nhth no:
FirstName LastName Tui
Peter Tin mach ming 35
Glenn Bai ly 33
V d cp nht sau y mt s d liu trong bng "Persons":
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
94/412
Page 94 of 413
FirstName LastName Tui
Peter Tin mach ming 36
Glenn Bai ly 33
Xa d liu trong c s d liu
DELETE FROM tuyn b c s dng xa cc bn ghi t mt bng c s d liu.
C phpDELETE FROM table_nameWHERE some_column = some_value
Lu : Ch mnh WHERE trong c php DELETE. Mnh WHERE quy nh c th h shoc h s c cn xa. Nu bn b qua mnh WHERE, tt c h s s b xa!
tm hiu thm v SQL, vui lng truy cp ca chng ti hng dn SQL .
c c PHP thc hin cc tuyn b trn, chng ta phi s dng hm mysql_query(). Chc nng ny c s dng gi mt truy vn hoc lnh kt ni MySQL.
V d
Nhn vo bng sau "Ngi":
FirstName LastName Tui
Peter Tin mach ming 35
Glenn Bai ly 33
Cc v d sau y xa tt c cc bn ghi trong bng "Persons" LastName = 'Griffin:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
95/412
Page 95 of 413
FirstName LastName Tui
Glenn Bai ly 33
To mt kt ni ODBCVi mt kt ni ODBC, bn c th kt ni vo c s d liu no, trn bt k my tnh notrong mng ca bn, min l c mt kt ni ODBC.
y l cch to ra mt kt ni ODBC mt c s d liu MS Access:
1. M biu tng Administrative Tools trong Control Panel ca bn.2. Double-click vo Data Sources (ODBC) biu tng bn trong.3. Chn tab System DSN .4. Nhp vo Thm trong tab System DSN.5. Chn Microsoft Access Driver . Nhp vo Finish.6. Trong mn hnh k tip, nhp vo Chn xc nh v tr cc c s d liu.
7. Cung cp cho cc c s d liu Data Source Name (DSN) .8. Nhp vo OK .
Lu rng cu hnh ny c thc hin trn my tnh, ni trang web ca bn nm. Nu bnang chy Internet Information Server (IIS) trn my tnh ca ring ca bn, hng dn trn s lm vic, nhng nu trang web ca bn nm trn mt my ch t xa, bn phi cquyn truy cp vt l vo my ch , hoc yu cu my ch web ca bn n thit lpmt DSN cho bn s dng.
Kt ni n mt ODBC
Odbc_connect () c s dng kt ni vi mt ngun d liu ODBC. Chc nng c bnthng s: ngun d liu tn, tn ngi dng, mt khu, v con tr mt kiu ty chn.
Odbc_exec () chc nng c s dng thc thi mt cu lnh SQL.
V d
V d sau y to ra mt kt ni n mt DSN gi l northwind, khng c tn ngi dng vmt khu khng. Sau to ra mt cu lnh SQL v thc hin n:
$conn=odbc_connect('northwind','','');
$sql="SELECT * FROM customers";$rs=odbc_exec($conn,$sql);
Ly h s
Chc nng odbc_fetch_row () c s dng tr li h s t tp kt qu. Chc nng ny trv true nu n c th tr li hng, nu khng sai.
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
96/412
Page 96 of 413
Chc nng ny c hai tham s: nh danh kt qu ODBC v hng mt s ty chn:
odbc_fetch_row($rs)
Ly Fields t mc k lcChc nng odbc_result () c s dng c cc lnh vc t mc k lc. Chc nng ny chai tham s: nh danh kt qu ODBC v mt s tn trng.
Cc dng m di y tr v gi tr ca lnh vc u tin t cc h s:
$compname=odbc_result($rs,1);
Cc dng m di y tr v gi tr ca mt lnh vc c gi l "CompanyName":
$compname=odbc_result($rs,"CompanyName");
ng mt kt ni ODBC
Chc nng odbc_close () c s dng ng mt kt ni ODBC.
odbc_close($conn);
V d ODBCV d sau y cho thy lm th no ln u tin to ra mt kt ni c s d liu, sau thit lp mt kt qu, v sau hin th cc d liu trong mt bng HTML.
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
97/412
Page 97 of 413
$conname=odbc_result($rs,"ContactName");echo "$compname";echo "$conname";}
odbc_close($conn);echo "";?>
Chapter 28 : PHP XML ExpatParser
Phn tch c php nc ngoi c xy dng trong lm cho n c th x lcc ti liu XML trong PHP.
XML l g?
XML c s dng m t d liu v tp trung vo d liu l g. Mt tp tin XML m t cutrc ca d liu.
Trong XML, khng c th c nh ngha trc. Bn phi xc nh cc th ring ca mnh.
Nu bn mun tm hiu thm v XML, vui lng truy cp ca chng ti hng dn XML .
Ngi nc ngoi l g?
c v cp nht - to ra v thao tc mt ti liu XML, bn s cn mt phn tch c php XML.
C hai loi c bn ca phn tch c php XML:
Da trn cy phn tch c php: phn tch c php ny bin i mt ti liu XML vo
mt cu trc cy. N phn tch ton b ti liu, v cung cp truy cp n cc yu tcy. v d nh Document Object Model (DOM)
Phn tch c php da trn s kin: Xem mt ti liu XML nh l mt lot cc skin. Khi mt s kin c th xy ra, n gi mt chc nng x l n
Cc phn tch c php nc ngoi l mt b phn tch da trn s kin.
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
98/412
Page 98 of 413
Da trn s kin phn tch c php tp trung vo ni dung ca cc ti liu XML, cu trc cachng. Bi v iu ny, phn tch c php da trn s kin c th truy cp d liu nhanh hnso vi cc phn tch c php da trn cy.
Nhn vo cc phn XML sau y:
Jani
Mt phn tch c php da trn s kin bo co XML trn l mt lot cc ba s kin:
Yu t: t Bt u CDATA phn gi tr: Jani ng yu t: t
V d XML trn cha tt c hnh thnh XML. Tuy nhin, v d ny l khng hp l XML, vkhng c nh ngha kiu ti liu (DTD) lin kt vi n.
Tuy nhin, iu ny lm cho khng c s khc bit khi s dng cc phn tch c php nc
ngoi. Ngi nc ngoi l mt phn tch c php khng kim duyt, v b qua bt k ccDTD.
L mt s kin, khng kim duyt phn tch c php XML, Ngi nc ngoi l nhanh chngv nh, v mt trn u hon ho cho cc ng dng web PHP.
Lu : cc ti liu XML phi c hnh thnh hoc nc ngoi s to ra mt li.
Ci t
Cc chc nng phn tch c php XML Expat l mt phn ca li PHP. Khng c ci t cnthit s dng cc chc nng ny.
Mt file XML
Cc tp tin XML di y s c s dng trong v d ca chng ti:
ToveJaniReminderDon't forget me this weekend!
Khi to phn tch c php XML
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
99/412
Page 99 of 413
Chng ti mun khi to phn tch c php XML trong PHP, xc nh mt s x l cho ccs kin khc nhau XML, v sau phn tch cc tp tin XML.
V d
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
100/412
Page 100 of 413
xml_error_string(xml_get_error_code($parser)),xml_get_current_line_number($parser)));}
//Free the XML parserxml_parser_free($parser);?>
u ra ca cc m trn s l:
-- Note --To: ToveFrom: JaniHeading: ReminderMessage: Don't forget me this weekend!
Lm th no n hot ng:
1. Khi to phn tch c php XML vi xml_parser_create () chc nng
2. To cc chc nng s dng vi cc x l s kin khc nhau3. Thm xml_set_element_handler () chc nng xc nh c chc nng s c thchin khi phn tch c php gp cc th m v ng
4. Thm xml_set_character_data_handler () chc nng xc nh cc chc nng sthc hin khi phn tch c php gp d liu k t
5. Phn tch cc tp tin "test.xml" vi xml_parse () chc nng6. Trong trng hp c li, thm xml_error_string () chc nng chuyn i mt li
XML vi mt m t vn bn7. Gi xml_parser_free () chc nng gii phng b nh c cp pht bng
xml_parser_create () chc nng
Thm nc ngoi PHP Parser bit thm thng tin v cc chc nng nc ngoi PHP, hy truy cp ca chng ti thamkho PHP Parser XML.
Vic xy dng trong DOM phn tch c php lm cho n c th x l cc tiliu XML trong PHP.
DOM l g?W3C DOM cung cp mt b tiu chun ca cc i tng cho ti liu HTML v XML, v mtgiao din tiu chun cho vic truy cp v thao tc chng. W3C DOM c chia thnh cc phnkhc nhau (Core, XML, HTML) v cc mc khc nhau (DOM Level 1/2 / 3): * Core DOM -nh ngha mt tp hp cc i tng cho bt k ti liu c cu trc * XML DOM - nh nghamt b tiu chun ca cc i tng cho cc ti liu XML * HTML DOM - nh ngha mt btiu chun ca cc i tng cho cc ti liu HTML Nu bn mun tm hiu thm v DOM XML,vui lng truy cp ca chng ti hng dn XML DOM .
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
101/412
Page 101 of 413
XML Parsing
c v cp nht - to ra v thao tc mt ti liu XML, bn s cn mt phn tch c php XML.
C hai loi c bn ca phn tch c php XML:
Da trn cy phn tch c php: phn tch c php ny bin i mt ti liu XML vo
mt cu trc cy. N phn tch ton b ti liu, v cung cp truy cp n cc yu tcy
Phn tch c php da trn s kin: Xem mt ti liu XML nh l mt lot cc skin. Khi mt s kin c th xy ra, n gi mt chc nng x l n
Cc phn tch c php DOM l mt phn tch c php da trn cy.
Nhn vo phn ti liu XML sau:
Jani
XML DOM XML nhn thy trn l mt cu trc cy:
Level 1: XML Document Level 2: Root yu t: Level 3: Tiu yu t: "Jani"
Ci t
DOM XML chc nng phn tch c php l mt phn ca li PHP. Khng c ci t cn thit s dng cc chc nng ny.
Mt file XML
Cc tp tin XML di y s c s dng trong v d ca chng ti:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
102/412
Page 102 of 413
ToveJaniReminderDon't forget me this weekend!
Ti v u ra XML
Chng ti mun khi to phn tch c php XML, ti xml, v u ra n:
V d
u ra ca cc m trn s l:
Tove Jani Reminder Don't forget me this weekend!
Nu bn chn "Xem m ngun" trong ca s trnh duyt, bn s thy m HTML sau:
Tove
JaniReminderDon't forget me this weekend!
V d trn to ra mt DOMDocument i tng v ti XML t "note.xml" vo n.
Sau , saveXML () chc nng t cc ti liu ni b XML thnh mt chui, v vy chng ti cth sn xut n.
Looping thng qua XMLChng ti mun khi to phn tch c php XML, np XML, v vng lp thng qua tt c ccyu t ca phn t :
V d
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
103/412
Page 103 of 413
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;foreach ($x->childNodes AS $item){print $item->nodeName . " = " . $item->nodeValue . "
";}?>
u ra ca cc m trn s l:
#text =to = Tove#text =from = Jani#text =heading = Reminder#text =body = Don't forget me this weekend!#text =
Trong v d trn, bn thy rng c cc nt vn bn trng gia mi phn t.
Khi XML to ra, n thng c mu trng khng gian gia cc nt. XML DOM phn tch c phpx l cc yu t ny l ngi bnh thng, v nu bn khng nhn thc ca h, i khi h gyra vn .
Nu bn mun tm hiu thm v XML DOM, vui lng truy cp ca chng ti hng dn XMLDOM .
SimpleXML l g?
SimpleXML l mi trong PHP 5. l mt cch d dng nhn c cc thuc tnh ca mtnguyn t v vn bn, nu bn bit b tr cc ti liu XML.
So vi DOM hoc phn tch c php nc ngoi, SimpleXML ch mt mt vi dng m cd liu vn bn t mt phn t.
SimpleXML chuyn i cc ti liu XML vo mt i tng, nh th ny:
Elements - chuyn i cc thuc tnh duy nht ca cc i tngSimpleXMLElement. Khi c nhiu hn mt phn t mt mc , h ang t bntrong mt mng
Thuc tnh - truy cp bng cch s dng mng kt hp, ni m ch mc tng ng vitn thuc tnh
Yu t d liu - d liu vn bn t cc yu t c chuyn i thnh chui. Nu mtphn t c nhiu hn mt nt vn bn, h s c sp xp theo th t chng ctm thy
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
104/412
Page 104 of 413
SimpleXML l nhanh chng v d dng s dng khi thc hin nhim v c bn nh:
c cc tp tin XML Nn d liu t chui XML Chnh sa cc nt vn bn hoc cc thuc tnh
Tuy nhin, khi i ph vi XML tin tin, nh khng gian tn, bn tt hn bng cch s dngcc phn tch c php nc ngoi hoc DOM XML.
Ci t
PHP 5.0, cc chc nng SimpleXML l mt phn ca li PHP. Khng c ci t cn thit sdng cc chc nng ny.
S dng SimpleXMLDi y l mt tp tin XML:
ToveJaniReminderDon't forget me this weekend!
Chng ti mun sn xut cc tn phn t v d liu t tp tin XML trn.
Di y l nhng vic cn lm:
1. Ti cc tp tin XML2. Ly tn ca cc yu t u tin3. To mt vng lp m s kch hot trn mi nt con, s dng con ci () chc nng4. Sn xut cc tn phn t v d liu cho mi nt con
V d
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
105/412
Page 105 of 413
u ra ca cc m trn s l:
noteto: Tovefrom: Janiheading: Reminder
body: Don't forget me this weekend!
More PHP SimpleXML
bit thm thng tin v cc chc nng PHP SimpleXML, hy truy cp ca chng ti thamkho PHP SimpleXML.
Chapter 29 : Gii thiuAJAXAJAX l v vic cp nht cc b phn ca mt trang web, m khng cn ti liton b trang.
AJAX l g?
AJAX = Asynchronous JavaScript v XML.
AJAX l mt k thut to ra cc trang web nhanh chng v nng ng.
AJAX cho php cc trang web c cp nht khng ng b bng cch trao i mt lng nhd liu vi my ch ng sau hu trng. iu ny c ngha rng n c th cp nht cc phnca mt trang web, m khng cn ti li ton b trang.
Cc trang web c in, (m khng s dng AJAX) phi ti li ton b trang nu cc ni dungcn thay i.
V d v cc ng dng bng cch s dng AJAX: Google Maps, Gmail, Youtube, v Facebooktab.
Lm th no AJAX Hot ng
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
106/412
Page 106 of 413
AJAX Da trn cc tiu chun Internet
AJAX da trn cc tiu chun internet, v s dng mt s kt hp ca:
i tng XMLHttpRequest (trao i d liu khng ng b vi mt my ch) JavaScript / DOM ( hin th / tng tc vi thng tin) CSS (kiu d liu)
XML (thng c s dng nh l nh dng chuyn d liu)
Cc ng dng AJAX l trnh duyt v nn tng c lp!
Google Suggest
AJAX c thc hin ph bin vo nm 2005 bi Google, vi Google Suggest.
Google Suggest ang s dng AJAX to ra mt giao din web rt nng ng: Khi bn btu g vo hp tm kim ca Google, JavaScript mt gi cc k t vo mt my ch v my
ch tr v mt danh sch gi .
Bt u S dng AJAX Hm nay
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
107/412
Page 107 of 413
Trong hng dn PHP ca chng ti, chng ti s chng minh lm th no AJAX c th cpnht cc phn ca mt trang web, m khng cn ti li ton b trang. Cc kch bn my chs c vit bng PHP.
Nu bn mun tm hiu thm v AJAX, hy truy cp ca chng ti hng dn AJAX .
AJAX PHP V dV d sau y s chng minh lm th no mt trang web c th giao tip vi mt my chweb trong khi mt ngi s dng loi nhn vt trong mt lnh vc u vo:
V d
Start typing a name in the input field below:
First name:
Suggestions:
V d Gii thch - Trang HTML
Khi ngi dng g mt k t trong lnh vc u vo trn, chc nng "showHint ()" c thchin. Chc nng ny c kch hot bi s kin "onkeyup":
function showHint(str){if (str.length==0){document.getElementById("txtHint").innerHTML="";return;}
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}
else{// code for IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.onreadystatechange=function(){if (xmlhttp.readyState==4 && xmlhttp.status==200)
{document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
108/412
Page 108 of 413
}}
xmlhttp.open("GET","gethint.php?q="+str,true);xmlhttp.send();}
Start typing a name in the input field below:
First name:Suggestions:
M ngun gii thch:
Nu trng u vo l rng (str.length == 0), chc nng xa ni dung gi ch txtHint ra khichc nng.
Nu trng u vo khng phi l trng rng, showHint () thc hin cc chc nng sau y:
To mt i tng XMLHttpRequest To ra cc chc nng c thc hin khi p ng my ch sn sng Gi yu cu vo mt tp tin trn my ch Ch rng mt tham s (q) c thm vo URL (vi ni dung ca lnh vc u vo)
File PHPCc trang web trn my ch c gi bi JavaScript trn l mt file PHP gi l "gethint.php".
M ngun trong "gethint.php" kim tra mt lot cc tn, v tr v tn tng ng (s) cho trnhduyt:
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
109/412
Page 109 of 413
$a[]="Ophelia";$a[]="Petunia";$a[]="Amanda";$a[]="Raquel";$a[]="Cindy";$a[]="Doris";$a[]="Eve";
$a[]="Evita";$a[]="Sunniva";$a[]="Tove";$a[]="Unni";$a[]="Violet";$a[]="Liza";$a[]="Elizabeth";$a[]="Ellen";$a[]="Wenche";$a[]="Vicky";
//get the q parameter from URL$q=$_GET["q"];
//lookup all hints from array if length of q>0if (strlen($q) > 0){$hint="";for($i=0; $i
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
110/412
Page 110 of 413
Gii thch: Nu c bt k vn bn c gi t JavaScript (strlen ($ q)> 0), sau y xy ra:
1. Tm mt ci tn ph hp vi cc k t c gi t JavaScript2. Nu khng ph hp c tm thy, thit lp cc chui phn ng " ngh khng"3. Nu mt hoc nhiu tn ph hp c tm thy, thit lp cc chui phn ng cho tt
c cc tn ny4. p ng c gi n gi ch "txtHint"
AJAX C s d liu V d
V d sau y s chng minh lm th no mt trang web c th ly thng tin t mt c s dliu vi AJAX:
V d
Lois Griffin
Person info will be listed here...
V d Gii thch - C s d liu MySQL
Bng c s d liu chng ti s dng trong v d trn trng nh th ny:
id FirstName LastName Tui Qu hng Vic
1 Peter Tin mach ming 41 Quahog Ch lam ru
2 Lois Tin mach ming 40 Newport Piano Teache
3 Ng i an ng chay tnh Swanson 39 Quahog Cnh sat vin
4 Glenn Bai ly 41 Quahog Phi cng
V d Gii thch - Trang HTML
Khi ngi dng chn mt ngi s dng trong danh sch th xung trn, mt chc nngc gi l "showUser ()" c thc thi. Chc nng ny c kch hot bi s kin"onchange":
function showUser(str){if (str==""){document.getElementById("txtHint").innerHTML="";
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
111/412
Page 111 of 413
return;}
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}
else
{// code for IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.onreadystatechange=function(){if (xmlhttp.readyState==4 && xmlhttp.status==200)
{document.getElementById("txtHint").innerHTML=xmlhttp.responseText;}
}xmlhttp.open("GET","getuser.php?q="+str,true);xmlhttp.send();}
Select a person:Peter GriffinLois GriffinGlenn QuagmireJoseph Swanson
Person info will be listed here.ShowUser () chc nng no sau y:
Kim tra nu mt ngi c chn To mt i tng XMLHttpRequest To ra cc chc nng c thc hin khi p ng my ch sn sng Gi yu cu vo mt tp tin trn my ch Ch rng mt tham s (q) c thm vo URL (vi ni dung ca danh sch th
xung)
File PHP
Cc trang web trn my ch c gi bi JavaScript trn l mt file PHP gi l"getuser.php".
-
7/22/2019 Tng Hp Mi Th V PHP (TEST)
112/412
Page 112 of 413
M ngu