lap trinh php va my sql

of 115 /115
Ban chØ ®¹o c«ng nghÖ th«ng tin cña c¬ quan ®¶ng *** TμI liÖu tham kh¶o Ng«n ng÷ lËp tr×nh pHP Hμ néi, 2003

Author: hieusy

Post on 12-Nov-2014

640 views

Category:

Technology


4 download

Embed Size (px)

DESCRIPTION

 

TRANSCRIPT

n);} 5 6. Ban ch o cntt ca c quan ngPHP & MySQL b. Cc hng s c nh ngha trong PHP (Built-in Constants): h tr cho ngi lp trnh, PHP cung cp sn cc hng s nh : ccbin mi trng, cc bin ca Web server Apache ... Ngi lp trnh c th sdng hm phpinfo() xem cc gi tr ny. + Hng s nguyn : y l nhng gi tr c kiu integer. V d : 10+ Hng s thc: y l nhng gi tr c kiu double. V d : 10.00+ Hng k t : y l mt xu k t t trong du ngoc n hockp.V d : Ngn ng lp trnh PHP.6 7. Ban ch o cntt ca c quan ngPHP & MySQL3. Bin v gi tr logic.+ Cng ging vi C/C++, PHP khng c khi nim TRUE v FALSE.Cc gi tr TRUE c hiu l nhng gi tr bng 1 v gi tr FALSE lnhng gi tr bng 0 hoc xu rng .+ Khi s dng bin chng ta khng cn khai bo kiu .V d : $a = 1; // $a l mt bin kiu integer.$a = 1.2; // by gi $a l mt bin kiu double.$a = A ; // by gi $a li l mt bin kiu string. + Nu nh thc hin php ton gia bin c kiu s v kiu string,PHP s coi chui l mt dy s nh sau :$str = 222B Baker Street;Ta thy bin $str c gi tr kiu string, v nu cng s 3 vi gi tr nyth :$x = 3 + $str ; // $x = 225 khi bin $x nhn c gi tr 255 v PHP cng 3 vi ba s u.Nhng nu ta in gi tr ca bin $str thecho ($str);// print : 222B Baker StreetCh rng cc php ton gia s v chui ch ng khi k t u cachui l s .+ Ta cng c th lm thay i kiu gi tr ca mt bin bng cch pkiu$a = 11.2;// bin $a c kiu double$a = (int) $a;// by gi $a c kiu integer ,gi tr l 11$a = (double) $a; // by gi $a li c kiu double, gi tr l 11.0$b = (string) $a ; // bin $b c kiu string ,gi tr l 11 Cng phi bit rng PHP t ng chuyn i kiu rt tt. Nu tht scn thit chng ta mi phi dng cch trn. 7 8. Ban ch o cntt ca c quan ngPHP & MySQL+ Cc hm lm vic vi bin gettype() : hm ny tr li kiu ca mt bin no . Gi tr tr v cth l : integerdoublestringarrayobjectclassunknown typev d :if (gettype($user_input) == integer){ $age = $user_input;}settype() : hm ny p kiu cho mt bin no . Nu thnh cnghm tr v gi tr 1 (true) ,ngc li l 0 (false).v du :$a = 7.5;settype($a, integer);if (settype($a, array)){ echo (Conversion succeeded. );}else{ echo (Conversion error. );}isset() v unset() : Hm isset() kim tra mt bin c gn gi trhay cha, hm unset() s gii phng b nh cho mt bin no .v d : 8 9. Ban ch o cntt ca c quan ng PHP & MySQL$id = 323bb;if (isset($id)) { echo (D liu c gn);}else{ echo (D liu cha c gn);} unset($id); if(!isset($id)) {echo (D liu c gii phng);}empty() : Cng ging hm isset(), hm empty() s tr v gi tr 1(true) nu mt bin l rng v ngc li 0 (false). i vi bin c kiu sgi tr bng 0 c coi l rng, bin kiu string c coi l rng nu xu lxu rng.v d: echo empty($new) ; // true $new = 1; echo empty($new);// false $new = ; echo empty($new);// true $new = 0; echo empty($new);// true $new = So 323; echo empty($new);// false unset($new); echo empty($new);// true9 10. Ban ch o cntt ca c quan ng PHP & MySQLIII. Cc ton t + Bng cc php ton s hcPhp ton ngha V d Gii thch+Php cng7+2 Thc hin php cng gia 7 v 2 : 9 - Php tr 72Thc hin php tr gia 7 v 2 : 5 * Php nhn7*2Thc hin php nhn gia 7 v 2 : 14 / Php chia7/2Thc hin php chia gia 7 v 2 : 3.5%Chia d7%2 Thc hin php chia d gia 7 v 2 : 1 Ta c th vit cc php ton ngn gn nh bng sau :Khi vitTng ng vi$h += $i$h = $h + $i$h -= $i$h = $h - $i$h *= $i$h = $h * $i$h /= $i$h = $h / $i$h %= $i$h = $h % $i + Php gn : v d : $x = 1; $y = $x + 1; $length = $area / $width; 10 11. Ban ch o cntt ca c quan ngPHP & MySQL + Bng cc php ton quan hPhp nghaV d Gii thichton == So snh bng$h == Kim tra $h v $i c bng nhau< So snh nh hn $ikhng> So snh ln hn $h < $i Kim tra $h c nh hn $i khng $i Kim tra $h c ln hn $i khng >= bng$h Kim tra $h c khc $i khng $iSo snh khcKim tra $h c khc $i khngSo snh khc$h != $i$h $iCc php so snh thng dng kim tra iu kin trong cc cu lnhiu khin m ta s hc bi sau . + Bng cc php ton logic Php ton logic cng vi ton hng to thnh biu thc logic. Biu thc logic c th c gi tr l 1 (true) hoc 0 (false) . Ton hng a Ton hng b a && ba || b !a !b1 11 1 0 01 00 1 0 10 10 1 1 00 00 0 1 1 + Cc php ton vi bin kiu string .11 12. Ban ch o cntt ca c quan ngPHP & MySQL Ta s dng du . ghp hai bin kiu string vi nhau . v d : $first = Phineas;$last = Phop;$full = $first. . $last; // $full = Phineas Phop ;echo ($full);Ta c th ghp hai xu nh sau:echo ($last. s Bicycles);//print : Phops Bicycles c th chn mt bin vo trong hng c kiu string th tn binphi trong du ng m ngoc nhn.echo (${last}s Bicycles); + Cc php ton thao tc mc bit. Cc php ton thao tc mc bit tc ng ln tng bit ca ton hng .K hiu ngha& AND bit|OR bit^ XOR bit Bng cc php ton nh sau :&Kt qu| Kt qu ^ Kt qu 1&1 11|1 11^10 1&0 01|0 11^01 0&1 00|1 10^11 0&0 00|0 00^00 PHP cng h tr cc php dch phi v dch tri >> : dch phi > n lm cho cc bittrong $a b dch phi i n v tr. Tng t ta c php dch tri .12 13. Ban ch o cntt ca c quan ng PHP & MySQLv d : 11 >> 2 = 2 ;v :11 (1011)>> 22 (0010)+ Cc php ton tng gim :- Php tng : php tng (ton t tng) tng gi tr ca ton hng lnmt n v.$a ++ : $a c s dng ri mi tng++ $a : $a tng ri mi c s dng- Php gim : tng t nh php tng, khc l gi tr b gim i mtn v.$a -- : $a c s dng ri mi gim-- $a : $a gim ri mi c s dngv d :$a = 10; // $a bng 10$b = $a++ ; // $a bng 11 nhng $b bng 10$a = 10; // $a bng 10$b = -- $a ; // $a bng 9 v $b bng 9+ Php ton iu kin. ? :Php ton iu kin cng vi ton hng to nn biu thc iu kin.Ta k hiu e1 ,e2, e3 l ba ton hng.Biu thc c dng : e1 ? e2 : e3Nu e1 != 0 th gi tr ca biu thc iu kin l e2Nu e1 == 0 th gi tr ca biu thc iu kin l e3v d : tm maxmax = $a>$b ? a : b ; 13 14. Ban ch o cntt ca c quan ngPHP & MySQL+ Ton t sizeof (i tng) :Php ton sizeof cho bit kch thc (tnh bng byte ) nh m itng chim trong b nh. i tng y c kiu l integer, double,string.v d : $a = 10;echo sizeof($a); //s in ra mn hnh l : 4IV. Cc cu lnh iu khin1. Lnh if_else : y l lnh r nhnh c iu kin .a. Dng 1 :if ( biu thc ) cu lnh; Cu lnh y tng ng vi mt khi lnh. Mt khi lnh ct trong du ngoc kp. ngha :+ Nu biu thc khc khng ,th cu lnh c thc hin.+ Nu biu thc bng khng, th cu lnh khng c thc hinb. Dng 2 :if ( biu thc ) cu lnh 1;else cu lnh 2; ngha :+ Nu biu thc khc khng ,th cu lnh 1 c thc hin.+ Nu biu thc bng khng, th cu lnh 2 c thc hinCh :* Cu lnh 1 dng 2 l lnh if_else14 15. Ban ch o cntt ca c quan ngPHP & MySQL + Nu lng else bng lng If th else thuc v If gn nhttheo tng cp t trong ra ngoi. V d :$a = 10; $b = 10;$c = 3; $d = 3;$e = 12; $f = 8;if($a == $b)if($c == $d)if($e == $f)$max = $e;else$max = $f;else$max = $d;else$max = $becho $max ; //printf max = 8 + Nu lng else t hn lng If th else thuc v If ngn nhttheo tng cp t trong ra ngoi.V d :Tng ng vi :* Cu lnh 2 ca dng 2 l elseif :15 16. Ban ch o cntt ca c quan ngPHP & MySQL Bt ngun t :C th vit li nh sau: if ( biu_thc1 ) if ( biu_thc1 )cu_lnh 1;cu_lnh 1; elseelseif (biu_thc 2)if ( biu_thc 2 )cu_lnh 2; cu_lnh 2; elseif (biu_thc 3)elsecu_lnh 3; if ( biu_thc 3 ) ...cu_lnh 3;elseif (biu_thc i) ...cu_lnh i; else ...if ( biu_thc i ) elsecu_lnh i; cu_lnh n;...else cu_lnh n; Cu lnh elseif to ra lnh r nhnh c iu kin trong thc hin 1 trong n cch khc nhau. - Nu biu_thc i khc khng (i = 1,..n-1) th thc hin culnh i .- Nu biu_thc i bng khng (i = 1, ..n-1) th cu lnh thn c thc hin. 2. Cu lnh switch :switch (biu_thc n){ case n1:cu lnh 1;break; case n2:cu lnh 2;break; ... case nn:cu lnh nn;[default: cu lnh]} 16 17. Ban ch o cntt ca c quan ng PHP & MySQLCu lnh switch l cu lnh r nhnh c iu kin trong thchin mt trong n ci r nhnh.+Nu biu_thc n = ni (i = 1, .. n) th cu lnh sau case ni cthc hin cho n khi gp lnh break hoc du ngoc }+Nu biu_thc n != mi ni (i = 1, .. n) m c nhnh Default thcc cu lnh sau Default c thc hin.V d : 3. Cu lnh FOR: Dng lnh :for (biu_thc 1; biu_thc 2; biu_thc 3) cu lnh ; Lnh for l lnh to chu trnh c iu kin. Bc 1 : tnh biu_thc 1 Bc 2 : tnh biu_thc 2 :Nu biu_thc 2 khc 0 th thc hin cu lnh v sang bc 3.17 18. Ban ch o cntt ca c quan ngPHP & MySQLNu biu_thc 2 bng 0 th kt thc vng forBc 3 : tnh biu_thc 3 v quay li bc 2.+ biu_thc 1, biu_thc 2, biu_thc 3 l cc thnh phn. Mi thnhphn c th gm nhiu biu thc. Khi mi biu thc c vit cch nhaumt du phy (,).+Cc biu thc c tnh ln lt t tri qua phi+Biu thc trong biu_thc 2 quyt nh thc hin thn ca for.V d : +C th vng mt bt k thnh phn no. Nu vng mt biu_thc 2th cu lnh lun c thc hin. Mc d vng mt vn phi c du chmphy (;)V d : +Nu vng biu_thc 1 v biu_thc 3 th :for ( ; biu_thc 2 ; ) cau_lenh ;tng ng vi :while (biu_thc 2) cau_lenh ;4. Cu lnh WHILEwhile (biu_thc) cu lnh ;18 19. Ban ch o cntt ca c quan ng PHP & MySQLLnh while l mt lnh to chu trnh c iu kin. iu kin thc hinc kim tra u chu trnh.Bc 1 : Tnh biu thcNu biu thc khc khng, sang bc 2Nu biu thc bng khng, kt thc vng whileBc 2 : Thc hin cu lnh.Quay li bc 1.Ch : + Biu thc c th bao gm nhiu biu thc. Khi cc biu thc c vit cch nhau mt du phy ,v c tnh ln lt t tri qua phi. Biu thc cui cng quyt nh thc hin cu lnh.+ Khng c php vng mt biu thc+ to chu trnh v tn thwhile(1){... if (biu_thc) break; ...}V d :$i = 11;while (--$i){if (my_function($i) == error) { break; } ++ $number;}19 20. Ban ch o cntt ca c quan ngPHP & MySQL5. Lnh DO ... WHILEDng lnh : do {cu lnh; }while (biu_thc);Lnh do ... while l lnh to chu trnh c iu kin, trong iu kinthc hin chu trnh c kim tra cui chu trnh.Hot ng :Bc 1 : Thc hin cu lnhBc 2 : Tnh biu thc biu_thc +Nu biu thc biu_thc khc khng th quay li bc 1 +Nu biu thc biu_thc bng khng th kt thc do ... while.V d : 6. Lnh breakL lnh r nhnh khng iu kin v thng dng ra khi thn caswitch, while, do ... while, for .20 21. Ban ch o cntt ca c quan ng PHP & MySQLLnh break ch cho php thot khi thn cc lnh bn trong nht chan.7. Lnh continueL lnh r nhnh khng iu kin .Lnh thng dng bt u limt chu trnh mi trong cc lnh for, while, do ... while m khng cn thchin ht ton b thn ca ca lnh to chu trnh.8. Khai bo tin x l include v require . s dng cc on m bn ngoi, chng ta c th s dng khaibo tin x l include v require. Cho php chng ta xy dng cc hm cchng s, v bt k on m no sau c th chn vo cc on script.Require khc include l, n c th lm thay i ni dung ca trang hinti khi bin dch, cc trang ny dng khai bo cc bin, cc hng shay cc on m n gin khng c vng lp. Khi include cho phpthc hin cc cu lnh phc tp c cu lnh to chu trnh. N ch sdng cc hm nh nhng hm ngoi ca chng trnh.V. Hm trong PHP1. Quy tc xy dng hmfunction tn_hm (danh sch i s hnh thc) { Thn hm . }+ nh ngha hm khng nht thit phi nm ngoi thn mi hm,trong hm c th c hm khc. Nhng vic s dng mt hm khng khcnhau gia xy dng hm trong thn mt hm v ngoi mi hm .+ Tn hm tu t v khc tn hm chun.+ Hm c th c gi tr tr v hoc khng.+ Cc cu lnh c quyn gi bt k hm no c khai bo v c nh ngha.21 22. Ban ch o cntt ca c quan ng PHP & MySQL+ Return : - Tr mt gi tr v cho ni gi hm- L ni bo kt thc hm2. Gi hm .+ Hm phi c xy dng (khai bo) trc khi gi .+ Khi gi hm, nu c gi tr tr v thng c t trong biu thc .3. Bin ton c v bin cc b.Thng thng PHP coi cc bin c s dng trong thn ca hm lbin cc b. Ngha l bin trong thn hm khng lm thay i gi tr cabin ngoi hm . Mun hm lm thay i gi tr ca bin ngoi ta cnkhai bo global trc bin trong thn hm .V d :$position = m;function change_pos(){ $position = s;}change_pos();echo ($position);//Prints mTa thy bin $position gi tr khng i sau khi gi hm change_pos().$position = m;function change_pos(){global $position; $position = s;}change_pos();echo ($position);//Prints s 22 23. Ban ch o cntt ca c quan ng PHP & MySQLTa c th vit nh trn hoc ta c th vit :$position = m;function change_pos(){GOLOBALS[$position] = s;}change_pos();echo ($position); //Prints sVI. Bin mng trong PHP1. Mng mt chiuMng l mt bin bao gm nhiu phn t c cng tn nhng khcnhau v ch s (cc ch s ny tng dn t 0 n n). Vi ngn ng lp trnhC, cc phn t ca mng c cng kiu d liu ,nhng vi PHP th mm dohn. Cc phn t ca mng khng nht thit phi cng kiu.a. Khai bo mng mt chiu.Ta c th khai bo mng bng cch gn tn mng vi du ng mngoc vung khng c ch s. Chng ta hy xt v d sau :$countries[] = cr;$countries[] = de;$countries[] = us;V d trn to ra mt mng gm ba phn t c ch s l 0, 1 v 2.Vic cng tng t nh ta gn :$countries[0] = cr;$countries[1] = de;$countries[2] = us;Ngoi ra cc ch s ca mng khng nht thit phi tng dn m c thc khai bo nh sau :$countries[50] = cr;23 24. Ban ch o cntt ca c quan ngPHP & MySQL$countries[20] = de;$countries[10] = us;echo ($countries[20]); // prints deKhi thm mt phn t mi vo mng chng ta c th vit$countries[] = uk;// ch s s l 51Mt phn t mi c thm vo vi ch s l ch s ln nht ca mngcng thm mt. Ngoi ra cng c th khai bo mng mt chiu bng culnh array$countries = array (cr, de, us) ;echo ($countries[2]);//prints us ch s khng bt u t khng ta c th khai bo li nh sau$countries = array (1 => cr, de, us);echo ($countries[2]); //prints deTon t => c th c s dng trc bt k mt phn t no trongmng$countries = array (cr, 7 => de, us); v khi phn t c gi tr cr c ch s l 0 cn phn t c gi trde, us ln lt l 7 v 8. Khc vi ngn ng lp trnh C, ch s ca mngmt chiu khng ch l cc s nguyn m cn l xu k t. Ta c th khaibo nh sau :$countries[ca] = Canada;$countries[cr] = Costa Rica;$countries[de] = Germany;$countries[uk] = United Kingdom;$countries[us] = United States;echo ($countries[ca]);// print CanadaNu dng array th s l :$countries = (ca => Canada,24 25. Ban ch o cntt ca c quan ng PHP & MySQLcr => Costa Rica,de => Germany,uk => United Kingdom,us => United States); 25 26. Ban ch o cntt ca c quan ngPHP & MySQLb. Lm vic vi cc phn t ca mngC th s dng vng lp for xt tng phn t ca mng.$countries = array (cr, de, us);$num_elements = count($countries);for ($i = 0 ; $i < $num_elements ; $i ++) { echo ($countries[$i]
n);}V d trn s ng khi ch s ca cc phn t tng dn u. Nu ch scc phn t khng theo mt th t no c ta c th s dng hm list() veach().reset ($countries);while (list ($key, $value ) = each ($countries)) { echo (Ch s $key, gi tr $value);} di chuyn con tr ti phn t tip theo hoc trc ta cng c th dng hm next() - hm next() tr v l 1 (true) nu phn t tip theo khng phi l phn t cui cng, ngc li l 0 (false) v prev() - hm prev() cho gi tr tr v l 1 (true) nu phn t tip theo khng phi l phn t u tin, ngc li l 0 (false). Hm key () s cho bit ch s v hm current() s cho bit gi tr ca phn t .$arr = array (3, 4, 5, 6, 7);do { $k = key ($arr); $val = current ($arr); echo (Phn t $k = $val);}while2. Mng hai chiuChng ta c th khai bo mng hai chiu nh sau :26 27. Ban ch o cntt ca c quan ng PHP & MySQL $countries = array (Europs => array (de, uk),North America => array (ca, cr, us)); echo ($countries[Europs][1]);// print uk echo ($countries[North America][2]); // print us Ta c cu trc ca mng trn nh sau : $countries[Europs]$countries[North America][0] [1][0] [1][2] deukca crus Cng ging nh mng mt chiu ta s dng vng lp nh for, while, do ... while duyt qua cc phn t ca mng. V d : $countries = array (Europs => array (de, uk),North America => array (ca, cr, us)); while (list ($key1) = each ($countries)) {echo ($key1 :
n);while (list ($key2, $val) = each($countries[$key1])) {echo ( - $val
n) } } Khi chy chng trnh s in ra mn hnh l : Europ : - de - uk North America : - ca - cr - us 27 28. Ban ch o cntt ca c quan ngPHP & MySQL3. Cc hm sp xp mng .PHP cung cp cho chng ta cc hm sp xp mng. Vi mi loimng s c mt hm tng ng. Vi mng c ch s l kiu nguyn chng tac hm sort() sp xp tng dn cc phn t ca mng, hm rsort() s spxp cc phn t ca mng gim dn .$countries = array (us, uk, ca, cr, de);sort ($countries);while (list ($key, $val) = each ($countries)) { echo (Element $key equals $val
n);}Khi chy chng trnh s l :Element 0 equals caElement 1 equals crElement 2 equals deElement 3 equals ukElement 4 equals us Vi mng ch s c kiu string th dng hm asort (), arsort () spxp mng theo chiu tng dn v gim dn. Nu bn dng cc hm sort() vrsort() th cc ch s c kiu string s chuyn thnh cc ch s c kiunguyn. $countries = array(us => United States,uk => United Kingdom,ca => Canada,cr => Costa Rica,de => Germany);asort ($countries);while (list($key, $val) = each($countries)) { echo Chi so $key bang $val
n;28 29. Ban ch o cntt ca c quan ngPHP & MySQL}Kt qu khi chy chng trnh :Chi so ca bang CanadaChi so cr bang Costa RicaChi so de bang GermanyChi so uk bang United KingdomChi so us bang United StatesNhng nu thay dng asort ($countries); bng sort ($countries); ktqu s lChi so 0 bang CanadaChi so 1 bang Costa RicaChi so 2 bang GermanyChi so 3 bang United KingdomChi so 4 bang United States sp xp mng tng dn hay gim dn theo ch s chng ta c hmksort() tng dn v krsort() gim dn .$countries = array(e => United States,d => United Kingdom,c => Canada,b => Costa Rica,a => Germany);ksort ($countries);while (list($key, $val) = each($countries)) {echo Chi so $key bang $val
n;}Kt qu :Chi so a bang Germany29 30. Ban ch o cntt ca c quan ngPHP & MySQLChi so b bang Costa RicaChi so c bang CanadaChi so d bang United KingdomChi so e bang United StatesVII. Lp trnh hng i tng (OOP)1. nh ngha lp .Chng ta c th nh ngha lp bng ton t class, v trong mi mtlp chng ta s xy dng cc phng thc v thuc tnh cho lp .Gi s mun nh ngha lp Sesssion chng ta lm nh sau : nh ngha thuc tnh cho lp chng ta t t kho var trc thuctnh .Tip theo chng ta s nh ngha cc phng thc cho lp trn.Phng thc cn xy dng u tin l Session() sau n cc phng thckhc.2. S dng lp c nh ngha. khai bo mt i tng c kiu thuc lp xy dng ta dng tont new nh sau :Welcome to my website, >Next Page 32 33. Ban ch o cntt ca c quan ng PHP & MySQL>VIII. Tm hiu thm v HTML Phn mt chng ta tm hiu s lc v ngn ng HTML. Trongmc ny chng ta s trnh by thm v n vi trng tm l FORM caHTML. L do l v khi mun giao tip gia HTML v PHP script th khngth khng bit n FORM. FORM l cng c ph bin nht chuyn dliu t HTML n PHP script (client ln server).Thng thng, khi vit mt script, ngi ta thit k mt FORM sao cho ncung cp y nhng thng tin m script cn x l.1. Cu trc ca mt FORMMt FORM c m u bng th v kt thc bng th. Trong FORM c : - Thuc tnh : FORM thng c ba thuc tnh, ba thuc tnh ny nmtrong th FORM m u ca mt FORM : action, method, enctype .- Cc th c dng trong FORM : input, select, textarea, hn, p, hr,dir, dl, menu, ol, ul, address, blockquote, [isindex]. pre .- FORM c ba thnh phn chnh : textarea, select, input .- FORM c th c dng trong cc th : blockquote,body,dd, li.2. Cc thuc tnhKhi to mt FORM ,cng vic u tin l xc nh thuc tnh ca n.- Thuc tnh action : Action=URL ch n script m FORM sdng. Ngoi ra n cng c th l mailto url, khi ni dung ca FORMc mail n a ch trong url . 33 34. Ban ch o cntt ca c quan ngPHP & MySQL- Thuc tnh method : Method c th c gn bng GET hocPOST ,n ch ra phng thc Post hay Get s c s dng trong FORM,gi tr ngm nh l Get. - Thuc tnh enctype : Enctype=Mime_type :ch ra loi d liu sgi i. Gi tr ngm nh l application/x-www-form-urlencode.Trong mt trang chng ta c th s dng nhiu FORM nhng khngc lng chng vo nhau.2. Cc thnh phn c bn ca FORM.Mt FORM ,thng thng c ba thnh phn chnh :+Textarea+Select+Inputa - Textareac bt u bng th v kt thc bng th .Bn trong cha cc k t, th ny c dng lng vo trong FORM.Cc thuc tnh ca Texterea .- Name : nh ngha tn ca thnh phn, thuc tnh ny lun lun phic.- Rows : Cho bit s hng ca hp vn bn.- Cols : Cho bit s ct ca vn bn.Wrap : Ch ra cch x l word_wraping (cn chiu di ca dng vnbn theo kch thc ca hp vn bn) trong hp thoi. Nu wrap=off, chcnng word_wraping b cm. Nu wrap=vitual, chc nng ny c bt ln,khi g vn bn vo, ta thy con tr t ng xung hng mi khi n chy nbin ca hp vn bn, k t newline (OA hex) t ng c thm vo nhngkhng c gi i cng FORM. Nu wrap=physical, chc nng ny cngc bt v hot ng nh trn nhng k t newline c gi i cng viFORM.34 35. Ban ch o cntt ca c quan ngPHP & MySQLVn bn nm gia hai th v s c th hinnh on vn bn ngm nh trong vng d liu.V d: .. . Texterea >b. Selectc bt u bng th v kt thc bng th Select >, cpth ny c th lng trong FORM hay bt k thnh phn no ca FORMngoi tr Texterea v Select .Select c cc thuc tnh sau :- Name : Tn ca thnh phn. - Size : Cho bit s thnh phn s hin th, gi tr ngm nh l 1, do danh sch la chn thng c th hin di dng pop-up menu. Thuctnh ny c th khng c.- Multiple : Nu thuc tnh ny c thit lp, nhiu la chn s cchn cng mt lc, ngc li ch c chn mt item.Khi s dng Select, chng ta c th dng thm Option. .. .. .. Bn trong cha cc k t, c th c s dng lng vo Select .Cc thuc tnh Option : - Disable : nh mt la chn b cm. Khi hin th, chn la ny s bche m.- Selected : nh du chn la ny c chn, nu thuc tnhMultiple c bt trong Select, bn c th nh du Selected nhiu chn lacng lc. N dng nh du cc la chn ngm nh.- Value : Ch ra gi tr c gn cho la chn, nu khng c th nidung ca th mc option s c gi i thay cho value.c. Input 35 36. Ban ch o cntt ca c quan ng PHP & MySQLM u bng th < Input >, th ny c th dng trong bt c thnhphn no khc ca FORM ngoi tr Texterea v Select.Cc thuc tnh : - Align : C th l mt trong ba gi tr top, middle, bottom dng cn l nh vi cc vn bn xung quanh, thuc tnh ny ch c ngha viType=image . - Name : gn tn bin cho d liu ca thnh phn ny. Gi tr cathuc tnh do user la chn . - Type : nh ra mt trong nhng gi tr sau checkbox, hidden, image,password, radio, reset, submit, text, file, bottom . - Checked : ch ra mt nt radio, hay mt checkbox c c chn haykhng.- Maxlength : ch ra chiu di ti a m hp thoi vn bn c th cha,thuc tnh ny ch c ngha vi input c type=text hay type=password .- Size : ch ra kch thc thc s ca hp thoi vn bn.IX. Tm lc Nh vy, chng ta kho st hu ht cc chc nng c bn ca PHP, t cc kiu d liu, khai bo bin, hng, mng cho ti cch thc hin chng trnh dng My khch/My ch (Client/Server), v nhng cc on m PHP vo cc trang HTML .v.v.Nh trn chng ta trnh by, c s d liu cho trang Web l thnhphn khng th thiu, n ng vai tr quyt nh cho chng trnh. V l do, phn tip theo chng ta s kho st ngn ng SQL v cc hm API caPHP thc hin cc lnh truy vn trn h qun tr c s d liu MySQL.X. Cc hm API trong PHP1. Gii thiu v MySQL .PHP h tr mt s lng ln cc hm lm vic vi c s d liu nhOracle, Sybase, PostgreSQL, MySQL. .. Thng qua chun ODBC (OpenDatabase Connectivity), bng cch s dng cc hm API (Application36 37. Ban ch o cntt ca c quan ng PHP & MySQLProgramming Interface) m PHP c th lm vic c vi nhiu h qun trc s d liu nh vy. Nu h qun tr c s d liu khng h tr ODBC ,vhn na ODBC c c im ch h tr dng chun th PHP c th lm vicvi ODBC tng trn. Nu khng mun s dng ODBC ta c th s dngcc hm API .Trong phn ny chng ta ch s dng cc hm API lm vic vi hqun tr c s d liu MySQL .2. Cc hm c bn lm vic vi c s d liu MySQL.a) Cc hm kt ni n MySQL Server PHP cung cp hai hm kt ni vi c s d liu MySQL :mysql_connect v mysql_pconnect .+ mysql_connect () : hm ny s to ra mt lin kt ti my chMySQL . C php :int mysql_connect (string [hostname [:port] [:/path_to_socket]], string[username], string [password]);Trong : - hostname : Tn my ch c s d liu, ni trang web s cha c sd liu. Gi tr ngm nh l localhost - :port : a ch cng, ni b my c s d liu lng nghe yu cu. Gi tr ngm nh l :3306 .- :/path_to_socket : Cng ging nh :port nhng ch cho h iu hnhUNIX. Gi tr ngm nh l :/tmp/mysql.sock . - username : Tn ca ngi s dng c php kt ni vo b my cs d liu. - password : Mt khu ca ngi s dng kt ni vo b my c sd liu. Hm ny tr v m s nhn dng nu kt ni thnh cng, gi tr 0(false) nu vic kt ni c li. M s nhn dng ny s c s dng cho ttc cc yu cu ti b my c s d liu sau ny. 37 38. Ban ch o cntt ca c quan ng PHP & MySQLS kt ni ny s ng li khi gi hm mysql_close() hoc kt thcon PHP script. + mysql_pconnect() : Hm ny to ra mt lin kt bn vng vi mych MySQL. C php : int mysql_pconnect (string [hostname [:port] [:/path_to_socket]], string [username], string [password]);Tham s v gi tr tr v ca hm ny cng ging hmmysql_connect(). S khc bit gia hai hm ny l lin kt ti my chMySQL khng b ng li k c khi kt thc kch bn (script) PHP hay gihm mysql_close(). Mc ch ca hm ny l lun lun duy tr lin kt timy ch MySQL do lun c s yu cu ti my ch, trnh cho my ch phitm kim m s nhn dng mi t gim thi gian truy cp .Ch : hm ny ch thc hin c khi PHP c nh cu hnh nhl mt module ca Web server .+ mysql_close() : Hm ny hu b s kt ni ti my ch MySQL .C php :int mysql_close(int [link_identifier]); Tham s link_identifier l m s nhn dng to ra bi hmmysql_connect(). Hm tr v l True nu thnh cng, ngc li l False .b) Cc hm thao tc trn CSDL+ mysql_create_db() : Hm to c s d liu C php :int mysql_create_db(string name, int [link_identifier]) ; Trong :- string name : Tn ca c s d liu cn to. - int link_identifier : M s nhn dng c cp bi hmmysql_connect() . Chng ta hon ton c th gi cu lnh SQL to c s d liu thng qua hm mysql_query() . 38 39. Ban ch o cntt ca c quan ng PHP & MySQL+ mysql_drop_db() : Hm xo c s d liu C php :int mysql_drop_db(string name, int [link_identifier]);Trong :- string name : Tn ca c s d liu cn xo . - int link_identifier : M s nhn dng c cp bi hmmysql_connect() . Chng ta hon ton c th gi cu lnh SQL xo c s d liu thng qua hm mysql_query().+ mysql_select_db() : Hm cho c s d liu hot ng . C php :int mysql_select_db(string database_name, int [link_identifier]);Trong :- database_name : Tn ca c s d liu m sau ny cc hm APIkhc ca PHP s thc hin trn .- int link_identifier : M nhn dng c cp bi hm mysql_connect().Cu lnh ny s gn tn c s d liu vi m nhn dng, sau ny khilm vic vi link_identifier s bao gm c c s d liu c chn .c) Cc hm thao tc trn d liu+ mysql_query() : Hm gi cu lnh SQL ti my ch MySQL .C php :int mysql_query(string query, [int link_identifier]) ;Trong :- string query : Cu lnh SQL cn gi ti my ch MySQL . - int link_identifier : M s nhn dng, n phi c thc hin tronghm mysql_select_db() trc .+ mysql_db_query() : Hm gi cu lnh SQL ti my ch MySQL . C php : 39 40. Ban ch o cntt ca c quan ngPHP & MySQL int mysql_db_query(string database, string query, int[link_identifier]);Trong :- string database : Tn c s d liu cu lnh SQL s thc hin trn .- string query : Cu lnh SQL cn thc hin .- link_identifier : M s nhn dng c cp bi hm mysql_connect() Hm ny ch r cu lnh c thc hin trn c s d liu no nntrc khng cn thc hin hm mysql_select_db();+mysql_insert_id() :Hm ly gi tr c sinh ra t cu truy vn INSERT trcC php : int mysql_insert_id([link_identifier]) ;trong :int link_identifier : M s nhn dng c cp bi hmmysql_connect() .Hm ny tr v gi tr id c sinh ra trong ct AUTO_INCREMENTbi cu truy vn trc . iu ny ch c tc dng trn link_identifier cch ra trong hm, nu gi hm trn m khng ch nh tham s link_identifierth lin kt c m cui cng s c ch nh.Hm mysql_insert_id() tr v gi tr 0 nu cu truy vn trc khng sinhra mt gi tr AUTO_INCREMENT. Nu ta mun gi li gi tr cho ln sau,th phi gi hm ny ngay sau cu truy vn sinh ra gi tr . + mysql_fetch_row() : Hm tr v mt mng l gi tr ca mt bng ghi hin ti vi ch s ls th t ca cc trng (ch s bt u t 0). Sau hm s tr ti bng ghitip theo cho ti khi gp bng ghi cui cng hm tr v gi tr false. truyxut ti cc gi tr ca ct ta vit : tn_mng[s th t] C php :array mysql_fetch_row( int result_identifier); 40 41. Ban ch o cntt ca c quan ng PHP & MySQLTrong : result_identifier l m s tr v ca hm mysql_query()hoc mysql_db_query() .V d :+ mysql_fetch_array() :Hm tr v mt mng l gi tr ca mt bng ghi hin ti, sau hms tr ti bng ghi tip theo cho ti khi gp bng ghi cui cng hm tr vgi tr false. C php :array mysql_fetch_array( int result_identifier [, int result_type] );Trong : result_identifier l m s tr v ca hm mysql_query()hoc mysql_db_query() . truy xut n cc thnh phn ca ct :tn_bin_mng[tn_trng];result_type l mt hng s c th nhn cc gi tr sau:-MYSQL_NUM : ch tr li mt mng cha cc ch s l s (gingnh hm mysql_fetch_row() )-MYSQL_ASSOC: ch tr li mt mng lin kt41 42. Ban ch o cntt ca c quan ngPHP & MySQL -MYSQL_BOTH : tr li mng cha ng cc ch s gm c cc cons v ch s lin kt . Hm ny l s m rng ca hm mysql_fetch_row(). N cho php truycp trng d liu ca mng kt qu khng ch thng qua cc ch s l cc sm chng c th l tn ca cc trng d liu. iu ny lm cho vic lptrnh n gin v chnh xc hn.V d:+ mysql_fetch_object() : Hm tr v mt i tng l gi tr ca mt bng ghihin thi. Sau hm s tr ti bng ghi tip theo cho ti khi gp bng ghi cuicng hm tr v gi tr false. truy xut ti cc gi tr ca ct ta vittn_object->tn_ct . C php :object mysql_fetch_object(int result_identifier);Trong : result_identifier l m s tr v ca hm mysql_query()hoc mysql_db_query() .V d :42 43. Ban ch o cntt ca c quan ng PHP & MySQL+mysql_fetch_assoc() :ly v mt dng kt qu nh l mt mng linkt .c php: array mysql_fetch_assoc(int result_identifier)Trong : result_identifier l m s tr v ca hm mysql_query()hoc mysql_db_query() .Hm tr v mt mng tng ng vi mt bn ghi c ly v v tr liFALSE nu khng c bn ghi no. Hm ny tng ng vi hmarray mysql_fetch_array() vi tham s result_type l : MYSQL_ASSOCv d : 43 44. Ban ch o cntt ca c quan ngPHP & MySQL+mysql_data_seek()Di chuyn con tr bn trong tp kt qu (c c sau khi cu truy vnSELECT c thc hin)C php: bool mysql_data_seek(int result_identifier, int row_number); Trong : result_identifier l m s tr v ca hm mysql_query(),mysql_db_query(), mysql_list_tables(), mysql_list_dbs() . row_number l ch s ca bn ghi m cn t con tr vo . Hm tr v true nu thnh cng, false nu li .Hm ny s di chuyn con tr bn trong tp kt qu (c ch r bitham i result_identifier) n dng c m bng tham i row_number. Cc dng trong tp kt qu c bt u t 0 V d: 44 45. Ban ch o cntt ca c quan ngPHP & MySQL+ mysql_num_rows() :tr li s dng trong result_identifier (ni cha ktqu ca cu lnh SQL c thc hin)c php: mysql_num_rows(int result_identifier) ;Trong : result_identifier l m s tr v ca hm mysql_query(),mysql_db_query(), mysql_list_tables(), mysql_list_dbs() .+mysql_affected_rows()c php : int mysql_affected_rows(int [link_identifier]) ;Trong :int link_identifier l m s nhn dng, n phi c thc hintrong hm mysql_select_db() trc .Hm tr v s dng b tc ng bi mt cu truy vn SQL :INSERT,UPDATE, DELETE trc theo tham s link_identifier. Nulink_identifier khng c ch nh th m kt ni trc s c ch nh.Ch :- Nu cu lnh SQL trc l DELETE m khng c mnh WHERE thton b cc bn ghi trong bng b xo nhng hm mysql_affected_rows()s tr v gin tr 0.-Hm ny khng c tc dng i vi cu lnh truy vn SELECT. ly cs dng tr v (s dng b tc ng) bi cu lnh SELECT ta dnghm mysql_num_rows().+mysql_result() : ly d liu t result_identifierc php : mixed mysql_result(int result_identifier, int row, mixed [field]); Trong : result_identifier l m s tr v ca hm mysql_query(),mysql_db_query(), mysql_list_tables(), mysql_list_dbs() .row l bn ghi m ta s ly d liufield l trng trong dng row m ta s ly d liu .Cc tham s result_identifier v row phi c, cn tham field l tychn. Hm s tr li cc ni dung ca dng row v ct field t tp kt quc ch nh bi bin result_identifier. Nu i s field khng c chnh r th trng tip theo ca bn ghi s c tr v . 45 46. Ban ch o cntt ca c quan ng PHP & MySQLV d: +mysql_free_result() : Hm gii phng vng b nh c lin kt viresult_identifier .c php: mysql_free_result(int result_identifier) ; Trong : result_identifier l m s tr v ca hm mysql_query(),mysql_db_query(), mysql_list_tables(), mysql_list_dbs() . Hm ny ch c dng nu nh bn nh gi thy rng kch bn cabn s dng qu nhiu b nh khi ang chy. Gi hm ny trn mt trnh xl kt qu s gii phng ton b d liu lin kt trong b nh .Ngoi ra cn cc hm khc:string mysql_tablename (int result_identifier, int i)Hm tr li tn ca bng/csdl ti ch s i trong result_identifier.string mysql_field_name (int result_identifier, int field_index)Hm tr li tn ca trng ti v tr field_index trong m result_identifierint mysql_list_dbs ([int link_identifier])Hm tr li mt result_identifier l danh sch bin CSDL trn MySQL Servernu thnh cng, li tr v false .int mysql_list_tables (string database [, int link_identifier])Hm tr v danh sch tt c cc bng trong mt CSDL MySQL, thnh cngtr v mt result identifier, gi tr false nu c li . 46 47. Ban ch o cntt ca c quan ngPHP & MySQLint mysql_list_fields (string database_name, string table_name [, intlink_identifier])Hm tr v thng tin lin quan n mt bng d liu.int mysql_num_fields (int result_identifier)Tr v s trng trong tp kt qu .int mysql_num_rows (int result_identifier)Tr v s bn ghi trong tp kt qu, hm ny ch c gi i vi cc cu lnhSELECT , ly li s bn ghi c tr li t cc lnh :INSERT, UPDATEhoc DELETE, dng mysql_affected_rows().string mysql_field_type (int result_identifier, int field_index)Hm tr v kiu d liu ca trng ti v tr field_index trong mresult_identifier .int mysql_field_len (int result_identifier, int field_offset)Hm tr v di ca trng c ch nh thng qua tham s field_offset .array mysql_fetch_lengths (int result_identifier)tr v mt mng tng ng vi cc di ca mi trng trong bn ghi cly v bi hm mysql_fetch_row() hoc false nu c li.int mysql_errno ([int link_identifier])Hm tr v m li t hm thao tc CSDL MySQL trc ,tr v gi tr 0 nukhng c li .string mysql_error ([int link_identifier])Hm tr v xu thng bo li t hm thao tc CSDL MySQL trc, tr vxu rng nu khng c li .object mysql_fetch_field (int result_identifier [, int field_offset])Ly thng tin v trng t tp kt qu ri tr li nh mt i tng.47 48. Ban ch o cntt ca c quan ng PHP & MySQLXI. Session v Cookie1. Session l g ?HTTP l giao thc khng c xy dng theo cch c th lu gi ctrng thi gia hai ln giao dch. Khi mt ngi dng yu cu truy nhp mttrang Web, ri sau ngi dng ny li tip tc yu cu truy nhp i vitrang Web khc th HTTP khng th bit c rng l hai yu cu t cngmt ngi dng. tng ca vic iu khin phin lm vic l c th lu vt ca mt ngidng trong sut mt phin lm vic.Nu chng ta lm c iu ny th s d dng cung cp mt truy nhp chongi dng, t ta c th lu vt trng thi ca ngi dng v c th thchin vic mua bn trn mng.Session trong PHP c iu khin bi mt gi tr ID duy nht gi lsessionID, gi tr ny s c t ng sinh ra v m ha. SessionID csinh ra bi PHP v c lu tr pha client trong sut mt phin giao dch.N c th c lu tr trn cc Cookie my ngi dng hay truyn ln ccURL.SessionID c tc dng nh mt kho bn c th ng k nhng bin cbit gi l bin session. Ni dung ca nhng bin ny c cha trn Server.SessionID l nhng thng tin ch thy c pha client. Nu ti thi imno ca mt kt ni n trang Web ca bn, sessionID c th thy ctrn cookie hay URL, bn c th truy nhp nhng bin session ch trnServer phin lm vic .2) Cookie l g ?Cookie l nhng mu tin nh m trang script c th cha trn cc my khch(client). Bn c th thit lp mt cookie trn mt my ngi dng bng cchgi mt HTTP header c cha d liu theo dng sau:Set-Cookie:Name=VALUE;[expires=DATE;][path=PATH;][domain=DOMAIN_NAME;][secure]cu lnh ny s to ra mt cookie c tn gi l NAME vi gi tr l VALUE.Trng expires s thit lp ngy m cookie s ht hiu lc, path v domainc th c s dng ch nh cc URL (ni m cookie s c gi i). T 48 49. Ban ch o cntt ca c quan ng PHP & MySQLkho secure c ngha l cookie s khng gi i trn qu mt kt ni HTTPchun.Khi mt browser kt ni ti mt URL, trc tin n kim tra cc cookie c lu tr trn my. Nu c bt k mt cookie no c lin quan n a chURL va c kt ni, chng s c truyn tr li cho server.3) Thit lp cc cookie t PHPTa c th thit lp cc cookie trong PHP bng cch s dng hm:int setcookie (string name [,string value [,int expire [,string path [,stringdomain [, int secure]]]]]);Nhng tham i ca hm tng ng vi nhng tham i ca Set-Cookieheader trn.Nu ta thit lp cookie nh sau: setcookie ("TestCookie", "Test Value");th khi ngi dng n thm trang k tip trong site ca ta (hoc reload tranghin ti) ta s phi truy nhp vo bin vi tn l "TestCookie" c cha gi trl "Test Value", ta ch c th truy nhp ti n thng qua bin mng$HTTP_COOKIE_VARS [] ca PHP .Ta c th xo mt cookie bng cch gi li hm setcookie() vi tham i nhsau:tn ca cookie l tn ca cookie cn xo v khng c trng gi tr.4) S dng kt hp cookie vi sessioni vi cookie c mt s vn sau y:Mt vi webrowser khng th truy cp c ti cc cookie (khng h trcookie) v mt s ngi dng khng c cc cookie trn browser ca h. yl l do PHP s dng c hai cch thc :cookie v URL method.Khi s dng PHP session, ta s khng phi thit lp cc cookie, nhng hmsession s lu gi nhng thng tin ny cho chng ta. xem ni dung ca cc cookie c thit lp bi session ta s dnghm:session_get_cookie_params(). Hm ny s tr v mt mng lin kt m ccphn t ca mng cha cc thng tin nh: lifetime, path, domain,.. .49 50. Ban ch o cntt ca c quan ng PHP & MySQL thit lp cc tham s cho session cookie ta dng hm:void session_set_cookie_params (int lifetime [, string path [, stringdomain]])5) Lu gi sessionIDPHP s s dng cc cookie mc nh cng vi session. Nu c th c, mtcookie s c thit lp cha SessionID.Mt cch s dng cc SessionID trn URL l dch PHP cng vi lachn enable-tran-sid.Cch na l ta c th a sessionID vo trong th link. SessionID c chatrong hng SID. lm c iu ny, ta thm vo cui th link hng SID dng n nh l phng thc GET.V d:>Hng SID lm vic c nh trn ch khi ta cu hnh PHP cng vi--enable-track-vars.6) Thc thi nhng phin lm vic n gin.Nhng bc c bn ca vic s dng session:+ Bt u mt Session+ ng k nhng bin Session+ S dng bin Session+ Hu b bin Session v kt thc Session 6.1 Bt u mt SessionCch n gin nht bt u mt Session l dng hm: Bool Session_start();Hm ny s kim tra xem c mt Session ID no c to ra hay cha.Nu cha th n s to ra mt Session ID, cn nu tn ti mt Session IDth thc cht n ch ly ra nhng bin Session ta c th dng n. Hm trv gi tr TRUE nu thnh cng ,ngc li tr v gi tr FALSE. 50 51. Ban ch o cntt ca c quan ngPHP & MySQLChng ta cng c th bt u mt Session bng cch cu hnh PHP n tng bt u khi c ai thm trang Web ca ta. iu ny c th lm cnu ta chn session. auto_start trong file c:Windowsphp.iniMt Session cng s c bt u khi ta ng k mt bin Session.6.2 ng k nhng bin Session cho mt bin c th lu du thng tin t mt trang script ny sang trangscript khc, ta cn phi ng k n bng cch gi hm:bool session_register(mixed VarName [,mixed...]);Vic ng k ny s lu tr tn bin v ghi gi tr ca bin cho n khi phingiao dch kt thc hoc khi ta hu b (deregister) vic ng k bin .V d: ng k bin $Var_name ta vit nh sau:$Var_name= 5;session_register(Var_name);// khng nn s dng k t $ trong ng kmt bin6.3 S dng bin Session a mt bin Session vo trong phm vi m n c th c s dng, ta cnphi khi to mt Session bng mt trong nhng cch nu trn.Sau , ta c th truy cp c nhng bin ny. Nu ng k bin ny lton cc bng cch s dng hm register_global(), th ta c th truy nhpbin bnh thng thng qua tn bin, v d : $Var_name ;Nu khng khai bo bin l ton cc th ta phi truy nhp nhng bin Sessionthng qua mng lin kt $HTTP_SESSION_VARS(Var_name); kim tra xem mt bin c ng k l bin Session hay cha ta dnghm: bool session_is_registered (string name);Hm ny tr v gi tr TRUE nu bin c ng k, ngc li tr vgi tr FALSE.Ta cng c th kim tra mt bin c l bin Session bng cch kim tramng lin kt $HTTP_SESSION_VARS() v s tn ti ca bin.51 52. Ban ch o cntt ca c quan ngPHP & MySQL6.4 Hu b bin Session v kt thc SessionKhi mun kt thc mt bin Session, ta c th hu b ng k ca bin bng hm : bool session_unregister (string name) ;Trong : name l tn bin ta mun hu ng k (tn ny khng cn c kt $)Hm tr v gi tr TRUE nu thnh cng ,ngc li tr v gi tr FALSE.Hm ny ch c th hu ng k ca mt bin Session ti mt thi im. hu tt c cc bin Session hin ti, ta dng hm: void session _unset ( ) ; kt thc mt Session ta dng hm:sbool session_destroy () ;Hm ny s xo i SessionID v hy tt c nhng d liu lin quan nSession ny. Hm tr v gi tr TRUE nu thnh cng, ngc li tr v gi trFALSE.Ta nn hy tt c cc bin Session trc khi kt thc mt Session. 52 53. Ban ch o cntt ca c quan ng PHP & MySQL Chng III : Phng php Fast Template trong PHPI. Cc k thut mu ph binCc mu c th c dng nu nh bn ang thc hin mt sitethng xuyn s dng li cc thnh phn .Trong phm vi ca PHP ,ccmu y ni n HTML. Khng dng cc mu ,mt web site phctp s c cu trc rt nng. gii quyt vn trn ,nhiu k thut mu tn ti, nhng cth hu ch trong mt s trng hp. Chng ta gii thiu qua mt s kthut c s dng thng xuyn . HTML Code/ structure AdvantagesName HTMLDisadvantages Useful for Defined mixed in PHP Leadsto unreadableEmbedded Fastand scrips, noreuse of Quick andYesYesPHPeasyexisting code,hardto Smallscripts maintain Fast andSeparating easy, Leadsto unreadableWeb sitescommonYesNoscripts, often hard with LOC coding, easy 1000 to adapt to new needs53 54. Ban ch o cntt ca c quan ng PHP & MySQL Vic s dng cc mu trong cc trnh ng dng 1. Embedded PHP Chng ta c th nhng cc cu lnh PHP vo trong HTML. Mt v d in hnh ca cch thc trn : powerspowersi i^i HTML > Phng php ny c dng kh ph bin vi nhng ngi bt u hc lp trnh PHP. Ti mt lc no ,nhng ngi mi lp trnh bng phng php nhng tin ti s thnh tho cc mc cao hn, nhng tht ng tic, cch lp trnh ny li ngn cn iu . 2. Separating common parts54 55. Ban ch o cntt ca c quan ngPHP & MySQLMc d k thut ny c s dng li cc m code/HTML v vic thay icng d dng hn ,nhng n vn tha hng hu ht cc nhc im caphng php PHP nhng .Cch lm thng thng l bt u vi cc HTML header v footer, chngc vit thnh cc hm. Cc hm ny c th c gi khi cn n chngv do linh hot hn khi s dng. S thay i cc hm s c phnnh trong tt c cc trng hp.Ta tch v d PHP nhng trn ra hai file .Tp prepend.inc cha hai hm :hin th mt HTML header v mt HTMLfooter . Tp main.php s dng tp prepend.inc 55 56. Ban ch o cntt ca c quan ng PHP & MySQL i i^i 3. FastTemplateTrong phn ny chng ta cng tm hiu v phng php thit k Web trong PHP l FastTemplate. y l phng php hay, n c gn km vi cc gi ng dng ca PHP, n c xy dng trong tp tin c tn class. FastTemplate.php . Mc ch ca phng php ny l gip cho chng trnh vit bng PHP c nhiu giao din khc nhau trn cng mt c s m, v lm gim khi lng cng vic do chng trnh c tch ra lm hai phn : phn vit cc on m (code) v phn thit k giao din cho chng trnh. Phn vit cc on m s tnh ton d liu v th hin trn cc trang HTML thng qua cc bin FastTemplate. Phn giao din s thit k giao din cho chng trnh bng ngn ng HTML. Trong phn ny chng ta c th lng vo trang HTML cc ngn ng nh Java Applet, JavaScript, ... cho trang web thm sinh ng. Vic thm vo trang HTML nhng on m ny khng lm nh hng ti phn on m PHP. Khi , v tr no trn trang web cn th hin cc kt qu tnh ton t on m th s s dng cc bin FastTemplate th hin.56 57. Ban ch o cntt ca c quan ngPHP & MySQLII. Phng php FastTemplate1. Bin FastTemplateBin FastTemplate l g ?Cc bin FastTemplate c cu trc nh sau :{TEN_BIEN_FASTTEMPLATE} Bin c t trong du ng m ngoc nhn, tn bin gia, tn c th l ch hoa hoc ch thng. Tuy nhin trong phn on m PHP bn cng phi vit ging nh vy.2. V tr t bin FastTemplate Cc bin FastTemplatse c th t bt k u trong trang HTML. Nc th l bin th hin thng tin trn cc trang HTML khi c browser hinth hoc cc bin s thm vo cc on m HTML .V d : ta t tn tp l : vidu_template.tpl{TITLE}{CONTENT}Trong v d trn c hai bin FastTemplate l {TITLE} v{CONTENT}. Bin {CONTENT} s th hin thng tin trn trang web khic hin th, bin {TITLE} c thm vo nh mt thnh phn ca mHTML .3. Mt v d minh ha Theo v d trn chng ta c tp vidu_template.tpl, by gi chng ta i xy dng on script sau : 57 58. Ban ch o cntt ca c quan ngPHP & MySQL4. Bn bc cho mt trang web .Trong mt script cn thc hin bn bc theo th t sau :Bc 1 : Khai bo mt i tng thuc lp FastTemplate Bc 2 : Gn cc tp cha m HTML (tp ny c phn m rng khngnht thit l *.htm) cho cc phn t ca mng c nh ngha bi phngthc set_filenames() ( bc ny c gi l nh ngha mt bn cc tpFastTemplate ) .Bc 3 : Gn gi tr cho cc bin FastTemplate trong cc tp .Bc 4 : Cho hin trang web bng phng thcpparse(tn_trang_web)Ch :+ Bc 2: Trong nh ngha mt bn cc tp FastTemplate c thnhiu tp c gn .+ Bc 4: Mi ln gi phng thc pparse(); ch c mt tpFastTemplate.58 59. Ban ch o cntt ca c quan ngPHP & MySQL+ Cc bc 1,2,3,4 c th lp li nhiu ln .+ Th t gi phng thc pparse(); l rt quan trng v n nh hngn cch th hin ca trang web.5. Khi FastTemplateThng tin trn trang web c th c th hin di dng bng, vi shng khng xc nh do FastTemplate c h tr khi FastTemplate.Khi FastTemplate s lp i lp li mt on HTML no khi c nhdu khi. Xt v d sau :Hy thc hin php tnh 2a vi a = 1, ..., n. Kt qu c th hin bimt bng gm hai ct, ct gi tr ca a v ct kt qu ca php tnh 2a.Chng ta to tptinh_2_mu.htmTinh 2 mu a

Gia tri a

Tinh 2

{block.GIATRI}

{block.KETQUA}

59 60. Ban ch o cntt ca c quan ng PHP & MySQL