lập trình php căn bản

Download Lập trình PHP căn bản

If you can't read please download the document

Upload: khoinhh

Post on 14-Jun-2015

784 views

Category:

Documents


9 download

TRANSCRIPT

Lch s pht trin cc ng dng trn Web server. ASP, JSP v PHP Lch s pht trin cc ng dng trn Web server. ASP, JSP v PHP Vi nm trc y, con ng thc s duy nht vn chuyn cc d liu ng ti trang Web l k thut CGI (Common Gateway Interface). Cc chng trnh CGI cung cp mt s lin h n gin to cc ng dng Web cho php tip nhn cc d liu nhp vo, cc yu cu truy vn c s d liu t pha ngi dng v tr mt vi kt qu v cho trnh duyt. Cc chng trnh CGI c th c vit trn mt vi ngn ng, trong ph bin nht l Perl. Web server s dng CGI nh l mt cng truy cp chn gia yu cu ca ngi dng v d liu c yu cu. N s c np vo b nh nh mt chng trnh bnh thng. Thng thng cc web server s chuyn cc yu cu v triu gi chng trnh CGI. Sau khi chng trnh kt thc, web server s c d liu tr v t chng trnh v gi n n trnh duyt. Nhc im ln nht ca k thut CGI l n hot ng km hiu qu. Mi khi web server nhn mt yu cu, mt tuyn trnh mi c to ra. Mi tuyn trnh li cha trong n cc on m lnh, d liu v khng c chia s ln nhau, do gy ra lng ph b nh. khc phc nhc im ny, Microsoft v Netscape hp tc v a ra mt ci tin ng k l chuyn chng v dng cc file th vin lin kt ng (DLL ), cho php chia s m lnh gia cc tuyn trnh. y chnh l cc k thut ISAPI v NSAPI. en i thay, cc k thut da trn DLL khng phi l hon thin. Chng vn cn mt s vn : - Khi cc th vin nn tng c gi, nu mun thot cc ng dng ny, ta phi tt chng trnh triu gi (Web server) v khi ng li my tnh. - Cc th vin cn c t trong cc tuyn trnh bo v, tc l chng cn phi c cnh gic v cch s dng cc bin chung hoc cc bin tnh. - Nu chng trnh triu gi gy ra li truy cp, n c th dn n tnh trng server b treo tc t. - V cui cng: khi c dch ra cc file DLL, cng vic g li cng nh bo tr m lnh tr nn vt v hn bao gi ht. K thut Web mi nht ca Microsoft, kt hp HTML, cc on Script, cc thnh phn x l pha server trong cng mt file, c gi l ASP (Active Server Pages), vi phin bn mi nht hin nay l ASP.Net. ASP c triu gi bi mt th vin lin kt ng gn vi cc Web server ca Microsoft. V bn cht, ta c th coi ASP nh l mt ngn ng thng dch vy. Mt trang ASP c th s dng HTML, JScript v VBScript. Qua cc on m nhng ny, ASP c th truy cp n cc thnh phn pha server. Cc thnh phn ny c th c vit trn bt k ngn ng no h tr cc thnh phn COM ca Microsoft. V y chnh l sc mnh ca ASP: N c th lm c bt k ci g m my ch c th lm c vi cc thnh phn COM. Sau khi c thi hnh, ASP s sn sinh ra mt trang Web c khun dng HTML v tr n v cho Web server. Mt bt li ln i vi ASP l n ch c th hot ng trn cc h Web server ca Microsoft (bao gm PWS trn Win9x hay IIS trn WinNT/2000/XP). Cc nh pht trin ang hng n nhng mi trng khc nh Unix/Linux (hin c bn Chili! ASP chy trn cc mi trng ny), nhng kt qu th cn phi i thm mt thi gian na Trc khi i vo tm hiu lch s ca PHP, c l chng ta cng phi nhc n mt tn tui khc l Java Server Pages. hay JSP. Ging nh ASP, trang JSP cho php cha HTML, cc on m Java v cc thnh phn Java Bean v chng s thc hin cc cng vic sn sinh ra mt trang Web gi v Client. Bt li chnh ca loi ny l phi i km vi "my o Java", vn khng

c coi l nhanh v mt tc . Lch s PHP PHP - vit tt ca PHP Hypertext Preprocessor - mt nh ngha quy kh hiu! Vo khong nm 1994, Rasmus Lerdorf a mt s on Perl Script vo trang Web theo di xem ai ang c ti liu ca ng ta. Dn dn, ngi ta bt u thch cc on Script ny v sau xut bn mt gi cng c c tn l "Personal Home Pages" (ngha u tin ca PHP). ng ta vit mt c ch nhng v kt hp vi mt s cng c khc phn tch u vo t cc mu biu HTML: FI, Form Interpreter hay Phin dch mu biu, c to ra theo cch v c t tn l PHP/FI hay PHP2. N c hon thnh vo khong gia nm 1995. Sau , ngi ta bt u s dng cc cng c ny xy dng nhng th rc ri hn, v i ng pht trin thay i t mt ngi duy nht thnh mt nhm cc nh pht trin nng ct trong d n, v n c t chc ho. l s bt u ca PHP3. i ng cc nh pht trin (Rasmus Lerdorf, Andi Gutmans, Zeev Suraski, Stig Bakken, Shane Caraveo v Jim Winstead) ci tin v m rng b my nhng v b sung thm mt s hm API n gin cho php cc lp trnh vin khc t do b sung nhiu tnh nng vo ngn ng bng cch vit cc module cho n. Cu trc ca ngn ng c tinh ch, c kt cu thn thin hn i vi nhng ngi n t cc ngn ng hng i tng hay cc ngn ng hng th tc. Nu bn bit mt vi ngn ng lp trnh khc th khi n vi PHP, bn s khng cm thy kh khn. Phin bn mi nht cho n thi im ny l PHP 5.0.1. Cc bn c th tham kho chi tit ti trang web http://www.php.net. Chng trnh PHP u tin: Hello, World Bt u vi Hello, world I. Khi u Nu cc bn tng hc lp trnh, chc cc bn cng bit c "Hello, world" l ci g, cn nu bn no cha bit, th ti s gii thch ngay y: "Hello, world" l mt chng trnh dnh cho nhng ngi mi bt u hc mt ngn ng lp trnh no . Chng trnh ny n gin ch vit duy nht mt dng ch "Hello, world" ra mn hnh. Cc bn c th b qua n nu bit t trc, cn nu bn no cha hc, th chng ta bt tay vo vit chng trnh ny bng PHP nh. Hy m NotePad ra, g vo ni dung sau: Code:

OK, Save li vi ci tn test.php. Copy n vo th mc gc (Root Directory) mc nh ca Web

server. Khi ng Web server Apache ln (n s hin th mt ca s en ngm, bn c , ng tt n i, v nu tt i th tc l bn tt chng trnh Web server Apache i ri y). By gi m trnh duyt ra, ti a ch, g ni dung sau: "http://127.0.0.1/test.php" (nh b hai du ngoc kp i nh) N s hin th ra ca s trnh duyt vi duy nht dng ch hello, world Chc bn tht vng lm h? Vng, n ch c mi dng ch "hello, world" trn mn hnh trnh duyt, m bn c th lm n n gin hn rt nhiu, chng cn n ci PHP kia. OK. ng tht vng vi. Chng trnh ny hot ng nh th no? Trc tin chng ta hy tm hiu cch thc hot ng ca h trnh duyt (Web Client) v my ch cung cp dch v Web (Web server ) nh: Bc 1: Trnh duyt gi mt yu cu HTTP n my ch, yu cu mt file no Bc 2: My ch s chuyn yu cu ny n chng trnh x l tng ng, chnh l chng trnh Web server. Bc 3: Web server phn tch chui yu cu nhn c, kim tra xem trnh duyt my khch yu cu g. Nu l cc file bnh thng (khng phi l cc file cha cc on m script thc thi pha my ch), n s tm kim file v tr v cho trnh duyt my khch. Cn nu l cc file cha cc on m script thc thi pha my ch (cc chng trnh CGI, hay cc file th vin lin kt ng ISAPI, hoc cc file *.asp hay *.php), n s triu gi chng trnh thc thi cc on m ny. Chng trnh ny s chu trch nhim chy cc on m, tr chng v cho Web server di khun dng ca HTML. Sau , Web server mi tr kt qu ly c cho trnh duyt. Nh vy, chng trnh ca bn phi c thc thi trn my ch, sau mi c tr v cho trnh duyt. V y chnh l ci gi l "Trang Web ng". Khng nh cc trang web tnh, trang web ng cho php bn c s tng tc vi my ch thng qua cc on script thc thi pha server. Nh c s tng tc ny, bn c th truy xut c s d liu, ly thng tin ngi s dng, iu khin cc hot ng khc... OK. By gi chc bn c c cht t kin thc vi cc h thng iu khin Web Client Server ri. n lt chng ta bt u phn tch chng trnh u tin kia. II. Phn tch chng trnh Quay tr v on m trn: Code:

echo ("hello, world");

iu u tin cc bn cn phi bit, l cc on m thc thi PHP lun lun c t trong th . Chng trnh x l pha my ch s ch thc thi cc on m nm trong th ny. Tt c cc on m khc nm ngoi th trn u khng c x l trc tip trn server m c a v trnh duyt. iu th 2 bn cn bit l chng trnh ca bn phi c t trong cc file *.php. Nu bn t n vo file khc, th ng mong n chy nh, v nguyn tc ca chng trnh Web server l ch triu gi cc chng trnh x l tng ng vi cc file c ui xc nh trc. iu th 3 bn cn bit l trong file *.php ca bn, ngoi cc on script PHP, bn c th t bt k ci g theo khun dng HTML, k c cc on JavaScript chy trn my khch. Tc l ngoi tr cc on script PHP ra th n khng khc g mt file HTML thng thng iu th 4 cc bn cn bit, l chng ta c th t nhiu on m x l PHP khc nhau trong cng mt file PHP. Cc on m PHP ny s c thc thi ln lt t u file xung di. Hy xem v d sau: Code:
Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi

Khi u, chng trnh x l pha Web server s phn tch file PHP ny, tr v on m Tip theo, khi thy on m th nht, n s thc thi v tr v dng "hello, world" (Dng ny do hm echo() ca PHP thc hin). Sau , n tip tc tr v cc dng


Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi n khi gp on PHP th 2, n s thc thc thi on m th 2 ny (gi hm echo()) v tr v kt qu: " CMXQ " Ht on m th 2. N s gi tip phn cn li ca file v cho Web server. Sau , Web server chnh thc tr ton b kt qu v cho trnh duyt. iu quan trng cui cng: Kt thc mi cu lnh ca PHP u l mt du chm phy (";"), ngoi tr mt vi trng hp (cc bn s c bit sau ny) By gi ti xin gii thch cch s dng hm duy nht trong bi ny: echo() Hm echo c s dng tr v ni dung ca cc bin, hng, chui... cho trnh duyt. v d trn, hm echo tr v chui "hello, world" v chui " Le Nguyen Sinh ". Cc th HTML trong chui s c gi nguyn khi n c a v trnh duyt, v n s c x l nh cc th HTML khc. III. Mt s lu Du ch thch: Cc on ch thch rt hu dng trong cc chng trnh ca bn (chng hn mun ch thch cu lnh ny lm g, on chng trnh ny lm g...). Khi phn tch m PHP, cc on ch thch s b b qua, nhng mt lp trnh vin th khng bao gi b qua chng Chng ta c th s dng mt s du ch thch sau trong PHP: // dng vn bn ch thch (ch p dng trn mt dng) /* on vn bn ch thch */ (nm trong cp /* v */ Lu rng cc du ch thch ny ch c hiu lc trong cc on m nhng PHP thi y nh V d K t gii phng Hy ch n dng ch sau: My name's "CMXQ" in n ra mn hnh, chc cc bn s lm nh sau: