Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Lập trình web động với PHP/MySQL
MIỄN PHÍ
Số trang
132
Kích thước
650.1 KB
Định dạng
PDF
Lượt xem
1730

Lập trình web động với PHP/MySQL

Nội dung xem thử

Mô tả chi tiết

LAÄP TRÌNH WEB ĐỘNG VÔÙI

PHP / MySQL

™ GUESTBOOK

™ CATALOG

™ FORUM

™ SHOPPING CART

PHAÀN 1

Toáng Phöôùc Khaûi (toång hôïp& bieân dòch)

Giôùi thieäu

Chuùng ta haõy thöïc hieän moät chuyeán ñi thaàn thoaïi, trong chuyeán ñi naøy chuùng ta seõ

khaùm phaù ngoaïi hình cuõng nhö noäi taïi cuûa MySQL vaø PHP moät caùch thaät tæ mæ. Ñaây laø

moät cuoäc haønh trình ñaày nhöõng thuù vò vaø baát ngôø.

Okie, coù leõ toâi coù veû hôi laïc quan phaûi khoâng caùc baïn. Neáu nhö baïn ñoàng quan ñieåm

vôùi toâi treân moät phöông dieän naøo ñoù, trong cuoäc haønh trình naøy baïn seõ coù ngay söï giuùp

ñôõ moãi khi gaëp phaûi nhöõng söï nhaøm chaùn. Haõy ñoái maët söï thaät ngay nheù: Troø chôi laäp

trình öùng duïng khoâng phaûi luùc naøo cuõng deã nuoát ñaâu. Trong baát kyø cuoäc thaùm hieåm

naøo thì chaéc chaén caùc baïn seõ phaûi coù nhöõng giaây phuùt naûn loøng, ñoù laø luùc gaëp phaûi söï

coá loãi cuù phaùp hoaëc ñoâi khi laø nhöõng ñoaïn maõ khoâng cho keát quaû nhö mong muoán.

Nhöng ngoaøi nhöõng vieäc ñoù ra, toâi nghó laø coù moät lyù do thaät chính ñaùng ñeán caùc baïn

ñeán vôùi chuùng toâi ôû ñaây. Laäp trình Web ñang laø moät cuoäc chôi ñaày höùa heïn hieän nay

cuõng nhö töông lai. Baát keå baïn coù kieán thöùc cô sôû laäp trình cho baát kyø loaïi ngoân ngöõ

naøo nhö Visual Basic, Cobol, hay baïn chæ bieát veà HTML vaø JavaScript, thì hoâm nay

baïn vaãn coù cô hoäi ñeå naém baét caùc kinh nghieäm môùi meû veà laäp trình öùng duïng Web.

Toâi nghó laø khoâng coù söï keát hôïp naøo toát hôn giöõa PHP vaø MySQL. Soá löôïng ngöôøi söû

duïng ngoân ngöõ naøy caøng gia taêng, PHP vaø MySQL ñaõ trôû thaønh raát thoâng duïng,

nhöõng ñoøi hoûi löôïng ngöôøi bieát caùc coâng cuï laäp trình naøy cuõng taêng theo. Moät chuùt xíu

nöõa toâi seõ noùi roõ cho baïn bieát taïi sao laïi phaûi söû duïng PHP vaø MySQL. Nhöng tröôùc

heát toâi muoán baïn haõy khaûo saùt qua kieán truùc sô boä cuûa öùng duïng Web. Vì chæ khi baïn

naém baét ñöôïc ñieàu naøy thì toâi môùi coù theå tieáp tuïc trình baøy chi tieát raèng taïi sao PHP vaø

MySQL laø trung taâm cuûa moâi tröôøng phaùt trieån öùng duïng Web.

Tröôùc khi tieáp tuïc, toâi nghó raèng baïn ñaõ ñoïc nhöõng gì toâi ñaõ giôùi thieäu vaø hieåu noù. Chuùng ta tieáp tuïc ñi

thoâi!

Kieán truùc cô baûn

Kieán truùc caên baûn nhaát ñeå trang Dynamic Web hoaït ñoäng ñöôïc laø noù phaûi laøm vieäc

treân moâ hình client/server. Noâm na laø moãi thöù client hay server ñeàu ñaûm ñöông moät

chöùc naêng rieâng ñeå hoaøn thaønh coâng vieäc chung ñoù laø cho ra moät trang Web ñoäng.

Caùc baïn coù leõ ñaõ quen thuoäc vôùi chöông trình WinWord ñeå soaïn vaên baûn, noù coù theå

hoaït ñoäng ñoäc laäp treân baát kyø maùy tính naøo chaúng caàn quan taâm tôùi caùi gì laø client hay

caùi gì laø server. ÖÙng duïng Web thì khaùc haún, phaûi coù moät moâ hình server coù theå laø

moät maùy tính laøm server thoâi, nhaèm taäp trung hoaù vieäc xöû lyù döõ lieäu. Coøn caùc client,

coøn ñöôïc hieåu noâm na laø maùy tính cuûa ngöôøi söû duïng phaûi ñöôïc noái maïng vôùi server,

giaû söû caùc maùy naøy truy caäp vaøo moät Website chaúng haïn, thì coù nghóa hoï ñaõ truy caäp

vaøo server, sau ñoù laáy döõ lieäu töø server veà theå hieän leân maùy mình. Cuøng moät luùc coù

theå coù haøng traêm ngöôøi (client) truy caäp vaøo cuøng moät Website ñöôïc xöû lyù taäp trung

treân server, töông töï nhö moät ñaùm treû xuùm nhau giaønh phaàn cuûa mình töø moät caùi baùnh.

Client (ngöôøi Vieät taïm ñoïc laø klai-ôøn)

Caùc öùng duïng maø baïn phaùt trieåân treân neàn MySQL vaø PHP söû duïng tính naêng single

client ñoù laø trình duyeät Web. Tuy nhieân, khoâng phaûi ñaây chæ laø ngoân ngöõ duy nhaát ñeå

phaùt trieån öùng duïng Web. Ñoái vôùi nhöõng öùng duïng phöùc taïp ñoøi hoûi multi-client hoaëc

caàn caùc tính naêng baûo trì (chuùng ta seõ baøn tính naêng naøy sau), thì öùng duïng Java

applet seõ höõu duïng cho vieäc naøy. Chæ tröø tröôøng hôïp baïn caàn söû duïng öùng duïng thôøi

gian thöïc nhö öùng duïng chat chaúng haïn, thì baïn Java Applet môùi caàn thieát. ÔÛ ñaây

chuùng ta khoâng baøn tôùi laäp öùng duïng cho chuyeän taùn gaãu maø chæ taäp trung vaøo öùng

duïng duyeät Web neân khoâng ñuïng chaïm gì tôùi Java Applet caû.

Nhö baïn ñaõ bieát ngoân ngöõ khôûi thuyû cho vieäc duyeät Web laø HTML. HTML cung caáp

haøng taù nhöõng theû leänh (Tag) cho pheùp theå hieän trang Web theo nhieàu kieåu caùch khaùc

nhau. Neáu baïn chöa coù kieán thöùc cô sôû veà HTML thì coù theå chaïy ra ngoaøi mua ngay

moät quyeån saùch hoaëc download treân internet xuoáng caùc baøi hoïc höôùng daãn. Baïn

khoâng neân boû ra quaù nhieàu thôøi gian ñeå hoïc veà HTML. Ngoaøi HTML ra caùc trình

duyeät Web coøn cho pheùp caùc add-in hoã trôï nhieàu thöù khaùc nhö RealPlayer, Flash,

Shockwave, hoaëc hoã trôï veà Javascript hoaëc XML. Nhöng ôû ñaây chuùng toâi chæ taäp trung

treân nhöõng gì caàn thieát cho söï hoäi nhaäp cuûa baïn – ñoù laø HTML.

Server (ngöôøi Vieät taïm ñoïc laø sô-vô)

Haàu heát caùc öùng döïng Web ñeàu hoaït ñoäng taäp trung treân Server. Moät öùng duïng ñaëc

tröng goïi laø Web Server seõ ñaûm traùch vieäc giao tieáp vôùi caùc trình duyeät. Moät Cô sôû döõ

lieäu (CSDL) treân Server seõ löu tröõ taát caû nhöõng thoâng tin ñaùp öùng yeâu caàu cho coâng

vieäc cuûa öùng duïng Web. Keá tieáp, baïn caàn phaûi coù moät ngoân ngöõ laøm vai troø "chuù beù

lieân laïc" giöõa Web Server vaø CSDL treân server. Ngoân ngöõ naøy cuõng thöïc hieän caùc

coâng vieäc xöû lyù thoâng tin ñeán vaø ñi töø Web Server.

MIDDLE WARE

(PHP, ASP, JSP)

DATABASE

SERVER

(MySQL,

SQLserver..)

WEB

SERVER

(Apache, IIS)

INTERNET

WEB BROWSER

(Internet Explorer, Netscape)

Vaø dó nhieân laø caùc thöù naøy seõ chaúng hoaït ñoäng ñöôïc neáu nhö khoâng chaïy treân moät Heä

Ñieàu Haønh (HÑH). Caùc thöù nhö Web Server, Ngoân ngöõ laäp trình, CSDL phaûi hoaït

ñoäng toát treân moät HÑH naøo ñoù.

Heä ñieàu haønh

Coù raát nhieàu chuûng loaïi HÑH. Windows 98/XP vaø Linux coù leõ raát phoå bieán vôùi taát caû

moïi ngöôøi. Coù tröôøng hôïp baïn laøm vieäc treân HÑH maø ít ai bieát tôùi vaø baïn chæ coù aán

töôïng thích söû duïng noù maø thoâi. Haõy gaùc qua nhöõng yù töôûng ñoù neáu nhö baïn thaät söï

muoán ñi treân con ñöôøng thieát keá web. Haõy trang bò cho mình kieán thöùc veà HÑH

WinNT /2000 /2003 vaø Unix ñi. Vieäc laøm naøy seõ raát coù ích hôn laø chuyeän baûo moïi

ngöôøi neân ñi hoïc moät khoaù veà AS/400.

Baïn seõ söû duïng loaïi naøo trong caùc thöù noùi treân ñaây? Okie, ñaây laø moät caâu hoûi hôn raéc

roái ñaáy. Caâu traû lôøi ôû ñaây laø tuyø thuoäc baïn laø "tín ñoà" cuûa HÑH naøo. Neáu nhö baïn vaãn

chöa roõ raøng veà ñieàu naøy, haõy ñeå toâi noùi cho baïn nghe veà "chieán tranh giaùo phaùi

HÑH".

Neáu baïn chöa hieåu ñöôïc toâi ñang noùi gì, thì ñaây laø caùc kieán thöùc cô baûn: PHP vaø

MySQL thuoäc nhoùm phaàn meàm öùng duïng coù teân goïi laø open source (nguoàn môû). Vieäc

naøy coù nghóa laø ngöôøi duøng seõ xem ñöôïc maõ nguoàn cuûa caùc öùng duïng söû duïng

PHP/MySQL. Chuùng taän duïng ñöôïc moâ hình phaùt trieån döïa vaøo nguoàn môû, cho pheùp

ngöôøi naøo caûm thaáy thích noù ñeàu coù theå goùp phaàn vaøo vieäc phaùt trieån caùc döï aùn.

Trong tröôøng hôïp cuûa PHP, caùc laäp trình vieân treân toaøn theá giôùi tham gia vaøo vieäc

phaùt trieån ngoân ngöõ vaø khoâng troâng chôø moät khoaûn lôïi nhuaän naøo. Phaàn lôùn nhöõng

ngöôøi tham gia coâng vieäc ñeàu coù nieàm ñam meâ vieäc taïo ra moät saûn phaåm phaàn meàm

toát, hoï seõ caûm thaáy thích thuù khi thaáy ngöôøi khaùc söû duïng caùc coâng cuï cuûa hoï nhö toâi

vaø baïn chaúng haïn.

Phöông phaùp nguoàn môû naøy ban ñaàu chæ coøn laø nhöõng voøng laån quaån maø thoâi, nhöng

veà sau ñaõ trôû thaønh ñaày tieàm löïc khi coù söï ra ñôøi vaø trôû neân phoå bieán cuûa boä nguoàn

môû Linux. Haàu nhö caùc nguoàn môû ñeàu mieãn phí, baïn coù theå download, caøi ñaët vaø söû

duïng chuùng maø khoâng caàn phaûi ñôïi söï cho pheùp hay phaûi traû tieàn cho baát kyø ai.

Phöông thöùc naøy thì Microsoft, Oracle hay moät soá caùc coâng ty laäp trình naøo khaùc

khoâng theå ñaùp öùng ñöôïc.

Neáu baïn khoâng phaûi laø tín ñoà cuûa phaùi nguoàn môû, thì haõy choïn coâng cuï ñöôïc coi laø

beùo bôû: NT/2000/2003. Neáu coâng ty cuûa baïn ñaõ söû duïng saûn phaåm cuûa Microsoft

nhieàu naêm roài thì moïi vieäc seõ trôû neân deã daøng neáu baïn muoán duy trì laøm vieäc vôùi moâi

tröôøng naøy. Neáu baïn laø thaønh vieân cuûa nhoùm laäp trình Visual Basic, coù leõ baïn seõ gaén

boù vôùi NT/2000/2003. Ngay caû trong tröôøng hôïp naøy, khoâng coù trôû löïc naøo ngaên caûn

baïn trong coâng vieäc phaùt trieån vôùi coâng cuï PHP vaø MySQL. Baïn cuõng coù theå thöû

nghieäm PHP/MySQL treân neàn HÑH Windows 95, 98, XP.

Web Server

Chöùc naêng cuûa Web Server coù veû khoâng phöùc taïp maáy. Noù chæ ôû taïi choã, chaïy treân

neàn cuûa HÑH, laéng nghe caùc yeâu caàu ai ñoù treân Web gôûi ñeán, sau ñoù traû lôøi nhöõng

yeâu caàu naøy, vaø caáp phaùt nhöõng trang Web thích öùng. Thöïc teá thì noù khoâng quaù ñôn

giaûn nhö vaäy, bôûi vì nhieäm vuï cuûa Web Server laø phaûi cung caáp tính oån ñònh cho moâi

tröôøng Web cho neân ñoøi hoûi naøy phaûi ñöôïc ñaùp öùng moät caùch raát nghieâm tuùc.

Coù nhieàu loaïi Web Server khaùc nhau, nhöng chuû yeáu treân thò tröôøng chæ thöôøng söû

duïng Apache vaø IIS (Internet Information Server cuûa Microsoft).

INTERNET INFORMATION SERVER (IIS) ñöôïc gaén lieàn vôùi moâi tröôøng Windows

vaø noù laø thaønh phaàn khoâng theå thieáu cuûa Active Server Pages (ASP). Neáu baïn choïn

con ñöôøng cuûa Microsoft thì coù leõ baïn ñaõ hieåu roõ veà IIS.

Coù moät söï tích hôïp nhaát ñònh giöõa moät ngoân ngöõ laäp trình vaø moät Web Server. Cuõng

vaäy, PHP4 ñöôïc tích hôïp raát toái ñoái vôùi IIS. Tröôùc ñaây, coù moät soá vaán ñeà caàn phaûi baøn

veà tính oån ñònh cuûa PHP/IIS vôùi vieäc truyeàn taûi lôùn, nhöng PHP vaø IIS cuõng ñaõ ñöôïc

caûi thieän lieân tuïc neân vieäc naøy khoâng coøn ñaùng phaûi baän taâm.

APACHE laø moät kieåu maãu Web Server raát phoå bieán. Gioáng nhö Linux, PHP, MySQL

noù laø moät döï aùn nguoàn môû. Khoâng coù gì ngaïc nhieân khi ngöôøi ta thaáy Apache ñöôïc hoã

trôï raát toát treân moâi tröôøng Unix, nhöng chæ khaù toát trong Windows.

Apache taän duïng ñöôïc tính naêng cuûa third-party. Bôûi vì ñaây laø nguoàn môû neân baát kyø ai

coù khaû naêng ñeàu coù theå vieát chöông trình môû roäng tính naêng cuûa Apache. PHP hoaït

ñoäng vôùi tö caùch laø moät phaàn môû roäng cuûa Apache, vaø ngöôøi ta goïi laø moät module cuûa

Apache.

Apache coù tính oån ñònh vaø toác ñoä ñaùng phaûi noùi. Tuy nhieân, cuõng coù moät soá söï phaøn

naøn veà noù laø khoâng hoã trôï coâng cuï ñoà hoaï tröïc quan, ñieàu coù theå giuùp ngöôøi ta laøm

vieäc moät caùch deã daøng hôn. Baïn phaûi thöïc hieän caùc thay ñoåi ñoái vôùi Apache baèng

caùch söû duïng doøng leänh, hoaëc söû caùc taäp tin text trong folder chöông trình Apache.

Neáu laàn ñaàu ñeán vôùi Apache thì baïn seõ gaëp moät chuùt laï laãm.

Maëc duø Apache chæ laøm vieäc toát treân Unix, nhöng cuõng coù nhöõng phieân baûn chaïy toát

treân heä Windows. Khoâng moät ai, keå caû caùc nhaø phaùt trieån Apache ñeà nghò raèng

Apache neân ñöôïc chaïy treân moät server Windows baän roän. Neáu baïn quyeát ñònh choïn

HÑH Windows cho server thì baïn neân söû duïng IIS. Neáu baïn thöû nghieäm öùng duïng

treân Windows vaø sau ñoù ñem upload vaø chaïy treân Unix/Apache cuûa nhaø cung caáp host

thì cuõng khoâng heà haán gì, öùng duïng cuûa baïn vaãn chaïy ngon laønh.

Middleware

PHP thuoäc lôùp ngoân ngöõ laäp trình goïi laø middleware. Caùc ngoân ngöõ naøy hoaït ñoäng

caän keà vôùi Web Server ñeå thoâng dòch caùc yeâu caàu töø treân World Wide Web, sau ñoù

nhaän caùc traû lôøi töø Web Server chuyeån taûi ñeán trình duyeät Web nhaèm ñaùp öùng caùc

yeâu caàu ñoù.

Middleware laø nôi maø baïn seõ thöïc hieän caùc khoái löôïng raát lôùn coâng vieäc chính yeáu

cuûa baïn. Vôùi hoã trôï naøy Web Server cuûa baïn seõ khoâng phaûi caùn ñaùng quaù nhieàu khoái

löôïng coâng vieäc. Nhöng khi baïn phaùt trieån öùng duïng cuûa baïn, baïn seõ toán nhieàu thôøi

gian vieát maõ chöông trình ñeå cho chöông trình cuûa baïn coù theå hoaït ñoäng ñöôïc. Ngoaøi

PHP ra coù moät soá ngoân ngöõ khaùc coù chöùc naêng töông ñöông nhö ASP, Perl,

ColdFusion.

Heä CSDL quan heä

Relational Database Management Systems (Heä Quaûn trò Cô Sôû Döõ Lieäu Quan heä -

RDBMSs) cung caáp phöông thöùc tuyeät vôøi ñeå löu tröõ vaø truy xuaát löôïng thoâng tin lôùn

vaø phöùc taïp. Noù ñaõ ra ñôøi khaù laâu. Thöïc teá, noù coù tröôùc Web, Linux vaø WindowsNT,

cho neân khoâng coù gì ngaïc nhieân khi coù quaù nhieàu heä CSDL ñeå choïn löïa. Taát caû caùc

CSDL naøy ñeà döïa treân cô sôû SQL (Structure Query Language).

Moät soá heä phoå bieán nhö Oracle, Sysbase, Informix, Ms SQL Server, IBM's DB2.

Heä nguoàn môû thoâng duïng hieän nay laø MySQL maø quyeån saùch naøy ñeà caäp ñeán, ngoaøi

ra coøn coù hai heä nguoàn môû khaùc laø PostgresSQL ñaõ moät thôøi thay theá MySQL vaø

Interbase laø boä nguoàn môû cuûa Borland giôùi thieäu vaøo thaùng 8/1999.

Taïi sao söû duïng PHP vaø MySQL

Taïi sao coù quaù nhieàu choïn löïa nhö vaäy maø chuùng ta laïi phaûi chæ laáy ra caëp baøi truøng

PHP/MySQL maø thoâi? Toâi seõ giaûi thích ñieàu nayø ôû phaàn sau.

Noùi veà PHP

Caùc ngoân ngöõ laäp trình xem ra gioáng nhö caùc loaïi giaøy deùp. Coù loaïi coù veû baét maét vôùi

moät soá ngöôøi naøy, nhöng laïi khoù öa vôùi ngöôøi khaùc vaø ngöôïc laïi. Moät soá ngöôøi chæ

thích söû duïng moät hieäu giaøy naøo ñoù ñaõ quen thuoäc vaø ngoân ngöõ laäp trình cuõng töông töï

nhö vaäy.

ÔÛ ñaây toâi muoán nguï yù vôùi caùc baïn laø khi laäp trình Web, caùc ngoân ngöõ laäp trình ñeàu

cho keát quaû gaàn gioáng nhau. Caâu hoûi ngoân ngöõ naøo toát nhaát khoâng phaûi laø vaán ñeà noù

khoâng coù khaû naêng thöïc hieän moät soá chöùc naêng naøo ñoù maø thöôøng laø noù coù laøm cho

baïn thöïc hieän coâng vieäc moät caùch nhanh choùng vaø ñôõ nhoïc coâng hay khoâng?

Toác ñoä nhanh, deã söû duïng

Chuùng ta haõy baøn veà toác ñoä. Coù 3 thöù maø toâi chaéc chaén khi baøn veà vieäc so saùnh toác ñoä

giöõa caùc ngoân ngöõ laäp trình Web. Thöù nhaát, öùng duïng vieát baèng C chaïy nhanh nhaát.

Thöù hai, coâng vieäc laäp trình C khaù laø phöùc taïp, vaø seõ ngoán nhieàu thôøi gian hôn. Thöù

ba, vieäc so saùnh giöõa caùc ngoân ngöõ laø moät ñieàu khoù khaên. Taát caû nhöõng gì toâi bieát laø

toâi caûm thaáy yeân taâm khi noùi raèng PHP cuõng nhanh nhö caùc ngoân ngöõ khaùc. Trôû laïi ví

Tải ngay đi em, còn do dự, trời tối mất!