You are on page 1of 420

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

Gii thiu mn hc
Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Gii thiu
2

Ging vin: Th.S Nguyn Phm Phng Nam


B

mn CNPM Khoa CNTT H KHTN Email: nppnam@fit.hcmus.edu.vn

Lp trng
ST Email

Lp ph
ST Email

Ni dung
3

Mc tiu mn hc Ni dung mn hc Kin thc yu cu nh gi kt qu mn hc Lin h

Muc tiu mn hoc


4

Nm vng cc khi nim cn bn ca qu trnh thit k, ci t v trin khai mt ng dng web Thit k trang Web v ci t mt ng dng Web hon chnh Trin khai v khai thc ng dng web trn Mng cc b v Internet

Ni dung mn hoc
5

Gii thiu v Internet v nhng nguyn l c bn trong vic thit k Web HTML, DHTML CSS JavaScript PHP & MySQL

Kin thc yu cu
6

K nng lp trnh C, C++ Ngn ng truy vn T-SQL

Cng cu
7

Thit k web
Dreamweaver

Javascript
Dreamweaver Visual

Studio .NET 1st JavaScript Editor (http://www.yaldex.com ) Antechinus Js Editor (http://www.c-point.com )

Cng cu
8

MYSQL
WAMP

XAMPP

PHP
Eclipse Dreamweaver VsPhp

( http://www.jcxsoftware.com ) Php Designer ( http://www.mpsoftware.dk ) ..

Ti liu tham kho


9

Ebook
Core

Web Application Development with PHP and MySQL - Marc Wandschneider PHP 6 and MySQL 5 for Dynamic Web Sites Larry Ullman

Web
http://www.w3schools.com http://www.w3c.org

Trang Web mn hc
http://courses.cs.hcmuns.edu.vn/

nh gi kt qu mn hoc
10

Cc SV chia thnh nhm lm vic 2-3 SV/nhm


ng

k vi lp trng Bui hc k tip, lp trng gi danh sch file Excel (STT Nhm, MSSV, H tn, Email, Trng nhm, Di ng)

Thang im nh gi:

n cui k ( web ng ) : 4 Thi gia k + BT cng im : 2 Thi vit :5

Thi li: thi vit ( max: 4) + cc im thnh phn c trong hc k

Lin h
11

Din n mn hc trn Moodle


http://courses.cs.hcmuns.edu.vn

Quy tc gi email:
Subject: V

[WebNC-Lop] [MSSV] Ni dung tiu

d:

04TN000 Nop bai tap LT WebNC-06TN 06TN000 Nop bai tap TH


WebNC-04TN

Hi v p
12

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

Internet
Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Ni dung

Gii thiu lich s Cac khai nim cn ban Cc dich v c ban ca Internet Khai thc ti nguyn trn Internet Cc bc thit lp website

Ni dung

Gii thiu lich s Cac khai nim cn ban Cc dich v c ban ca Internet Khai thc ti nguyn trn Internet Cc bc thit lp website

Internet - Mang cac may tinh

Internet - Mang cac may tinh

Lich s

Mang Internet xut phat t mang ARPANET ca My (1969) mang gia cac trng H 1989 - Tim Berners Lee phat minh ra giao thc World Wide Web, sau o tao ra ngn ng Hypertext Markup Language - HTML 1990 Tim vit trinh duyt (Web Browser) va Web server u tin (info.cern.ch) T nm 1993 internet phat trin rt nhanh Vit nam c Internet vo thng 11/1997 n nay, mang internet lin kt hang trm triu ngi dung va co khoang hn 30 ti trang web thuc hn 108 triu website (2-2007 - Netcraft's survey)

Web la gi?

L cc dich v phn tn cung cp thng tin multimedia da trn hypertext


tan: thng tin c t trn nhiu may ch khp th gii multimedia: thng tin bao gm text, graphics, sound, video hypertext: la ky thut c s dng truy cp thng tin
Phn

Cung cp truy cp vao cac tai nguyn mang


FTP,

News,

Web hoat ng nh th nao?

Internet

WWW Servers

(WWW)
Users (clients) Browse

resources
(HTML files) Authors write HTML

Ni dung

Gii thiu lich s Cac khai nim cn ban Cc dich v c ban ca Internet Khai thc ti nguyn trn Internet Cc bc thit lp website

Web Cac khai nim chinh


Web = protocol + language + naming infrastructure HTTP - HyperText Transport Protocol La giao thc giao tip gia WWW client and server HTML - HyperText Markup Language Ngn ng biu din cac tai liu WWW

URL - Uniform Resource Locator ia chi web (xac inh duy nht)

Web - Cac khai nim chinh

ia chi IP IP Address La 1 con s 32 bit, chia thanh 4 s 8 bit, vd: 203.162.33.44 (gm 2 phn: network address, host address) Xac inh i tng nhn va gi thng tin trn Internet bit IP: ping www.intel.com

Web - Cac khai nim chinh

Tn min Domain name La tn giao dich ca cng ty hay t chc trn Internet. Vi d: www.intel.com : La ia chi ca 1 may ch thuc t chc (cng ty) INTEL Co ia chi IP la 128.241.220.72, co tn may ch la WWW La tn min cp 1 (.com, org, .edu,. biz, .net,) Anh xa gia tn min va ia chi IP Do DNS server Domain name system (service) am trach

Browser

Ly hin thi (nu co th) cac tai nguyn khac nhau Kha nng hin thi :

Text-only (Lynx, ...) Graphic (MSIE, Netscape, ...)

Hin thi c nhiu loai anh

TEXT, GIF, JPEG, sound, video, postscript,... HTTP, FTP, SMTP, POP, ...

H tr nhiu giao thc

Co th plug-in cac cng c vao browser tng tinh nng (3D animation, SWF, ...)

URL inh vi cac tai nguyn Internet


URL la inh danh duy nht cho cac tai nguyn Internet Chi ra:

Cach truy cp Vi tri ti nguyn

Cu phap chung:
protocol://host_name[:port_num][/path][/file_name]

http://www.microsoft.com:8080/en/us/default.aspx
protocol server name port directory/file name on the server

Cac giao tac chun trn Web


Browser URL 1. DNS lookup DNS server 2. TCP connection 3. HTTP request 4. HTTP response

Origin server

optional parallel connections

Ni dung

Gii thiu lich s Cac khai nim cn ban Cc dich v c ban ca Internet Khai thc ti nguyn trn Internet Cc bc thit lp website

Cac dich vu c ban cua Internet

World Wide Web WWW

Cac dich vu c ban cua Internet

Th in t Email (Electronic mail)


La dich v trao i cac thng im qua mang vin thng S dng giao thc SMTP/POP3 gi/nhn email ia chi email co dang : name@domainame VD: nppnam@fit.hcmus.edu.vn :

nppnam tn tai khoan email, fit.hcmus.edu.vn tn min

c quan ly bi Mail Server Phn bit Webmail, Mail Client

Truyn, tai tp tin FTP File Transfer Protocol

L dich v trao i cc tp tin gia cc my tnh trn Internet

Tn gu Chat,...
MSN Live

Ni dung

Gii thiu lich s Cac khai nim cn ban Cc dich v c ban ca Internet Khai thc ti nguyn trn Internet Cc bc thit lp website

Khai thc thng tin trn Internet

Tra cu thng tin


www.google.com www.lycos.com www.altavista.com www.scholar.google.com


(tra cu bi bo khoa hc)

Khai thc thng tin trn Internet

Tin tc, thng tin tng hp


www.yahoo.com www.cnn.com

www.vnexpress.net
www.tintucvietnam.com www.dantri.com

Th vin phn mm

ZDNet www.zdnet.com/downloads/ Cnet www.download.cnet.com

Khai thc thng tin trn Internet

Nghin cu, khoa hc, gio dc


www.codeproject.com http://msdn.microsoft.com www.programmersheaven.com

Mua bn trc tuyn

Amazon (mua bn sch): www.amazon.com eBay (u gi) www.ebay.com Yahoo shopping http://shopping.yahoo.com

Mt s cng cu khai thac tai nguyn Internet

Dowload Website Offline


Cho php download website v v truy cp offline Teleport Pro http://www.tenmax.com Offline Explorer Enterprise - http://www.metaproducts.com FlashGet www.flashget.com GetRight - www.getright.com Copernic www.copernic.com : h tr tm kim thng minh trn nhiu Search Engine cng lc, v loai b kt qua trng

Download File

Tm kim

Mt s thut ng thng dung khac

Internet: Mang my tnh ton cu kt ni cc mang my tnh khp ni trn th gii. Tp cc giao thc c dng gi chung l TCP/IP. Intranet: Mang cc b c kin trc tng t mang Internet. Website: Tp hp cc trang web. Website ca cc t chc hay c nhn trn mang bao gm tp hp cc trang web lin quan n t chc ny. Webpage: L trang web. C th hin thi cc thng tin di dang vn ban, hnh anh, m thanh, ...

Mt s thut ng thng dung khac

Web browser: Trnh duyt web, dng hin thi cc trang web. Cc web browser thng dng hin nay l Internet Explorer (Microsoft) v Netscape Navigator (Netscape). Homepage: Trang ch hay cn gi l trang nh. Thng l trang u tin (mc inh) khi truy cp mt website. Hyperlink: siu lin kt. Dng lin kt cc trang web v dich v ca cc website trn Internet. IAP (Internet Access Provider): Nh cung cp ng truyn Internet.

Mt s thut ng thng dung khac

ISP (Internet Service Provider): Nh cung cp dich v Internet. Mt s ISP hin nay Vit Nam: VDC, FPT, SaigonNet, NetNam, Viettel, ... Search engines: My tm kim. Cc my tm kim thng dng hin nay l Yahoo,Google, Altavista, ... HTTP, FTP, SMTP, POP3, ...: y l cc giao thc c dng cho cc dich v web, ftp, email trn Internet.

Ni dung

Gii thiu lich s Cac khai nim cn ban Cc dich v c ban ca Internet Khai thc ti nguyn trn Internet Cc bc thit lp website

Cac bc thit lp Website


Xc inh yu cu Website Mua tn min Thu ch hosting Thit k Website a vo hoat ng Duy tr thng tin, bao dng website

Mt s cu hi

Web tnh v ng ?

Tng kt

Lich s, khi nim Internet, Web Cc dich v c ban trn Internet Khai thc cc ti nguyn trn Internet

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

HTML
Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Ni dung
2

Gii thiu v HTML Cu trc ca 1 ti liu HTML Cc Tag c bn Cc Tag danh sch Tag lin kt trang Tag k bng

Ni dung
3

Gii thiu v HTML Cu trc ca 1 ti liu HTML Cc Tag c bn Cc Tag danh sch Tag lin kt trang Tag k bng

Gii thiu v HTML


4

HTML (HyperText Markup Language) - Ngn ng nh du siu vn bn


ngn ng xy dng trang Web. Cha cc ch dn cho trnh duyt Web hin th mt trang Web
L

Mt trang web gm c 2 phn chnh:


D

liu ca trang web (vn bn, m thanh, hnh nh...) Cc th (tag) HTML dng nh dng m t cch thc cc d liu hin th trn trnh duyt

Trnh duyt, trnh son tho


Trnh duyt web (Browser) Trnh son tho (Editor)

Th (Tag) HTML
6

<HTML> <HEAD> <TITLE>Welcome to HTML</TITLE> </HEAD> <BODY BGCOLOR = lavender> <H3>Hello World !</H3> </BODY> </HTML>

Th (Tag) HTML
7

<Tag m> D liu </Tag ng> Tn Tag lun mang tnh gi nh V d: B ~ Bold, I ~ Italic, P ~ Paragraph i khi khng cn Tag ng <br>, <hr>
C php chung

V d :

<div >Thuong mai Dien tu 1</div> <div id="txtDiv" style="color:#0000CC">Thuong mai Dien tu 2</div>

Th (Tag) HTML.C php


8

M HTML
<b> y l mt dng c in m</b>

Hin th
y l mt dng c in m

<h3> Mc ch tiu 3 </h3>

Mc ch tiu 3
Hin th

M HTML
<font FACE=Arial Size=3> Hello </font>

Hello

Lu : Gi tr Thuc tnh ca Th nn t trong du nhy n hoc nhy kp Khng phn bit ch HOA v thng

Th (Tag) HTML.C php


9

Lu : Cc Tag nn lng nhau tuyt i

Th (Tag) HTML.V d
10

<HTML> <HEAD> <TITLE>Welcome to HTML</TITLE> </HEAD> <BODY BGCOLOR = lavender> <H3>My first HTML document</H3> </BODY> </HTML>

Ni dung
11

Gii thiu v HTML Cu trc ca 1 ti liu HTML Cc Tag c bn Cc Tag danh sch Tag lin kt trang Tag k bng

Cu trc 1 ti liu HTML


12

<html>
<head>
<title>Tiu </title>

</head> <body>
Ni dung 1 Ni dung 2 Ni dung 3

</body>

</html>

Cu trc 1 ti liu HTML


13

<html></html> : nh ngha phm vi ca vn bn HTML <head></head> : nh ngha cc m t v trang HTML. Thng tin trong tag ny khng c hin th trn trang web <title></title> : M t tiu trang web <body></body> : Xc nh vng thn ca trang web, ni cha cc thng tin

Cu trc 1 ti liu HTML V d


14

<HTML> <HEAD> <TITLE>Welcome to HTML</TITLE> </HEAD> <BODY BGCOLOR = lavender> <H3>My first HTML document</H3> </BODY>

</HTML>

Ni dung
15

Gii thiu v HTML Cu trc ca 1 ti liu HTML Cc Tag c bn Cc Tag danh sch Tag lin kt trang Tag k bng

Cc Tag C bn
16

Cc Tag x l vn bn Tag hnh nh Tag m thanh

Khi, chui vn bn
17

Cc th nh dng khi vn bn

Tiu (Heading) : <h1>, <h2>, <h3>, <h4>, <h5>,


<h6>

on vn bn (Paragraph): <p> Danh sch (List Items): <li> ng k ngang (Horizontal Rules): <hr />

Cc th nh dng chui vn bn
nh dng ch : <em>, <i>, <b> v <font> To siu lin kt : <a> Xung dng : <br />

V d v Heading
18

<HTML> <HEAD> <TITLE>Introduction to HTML</TITLE> </HEAD> <BODY> <H1>Introduction to HTML - H1</H1> <H2>Introduction to HTML - H2</H2> <H3>Introduction to HTML - H3</H3> <H4>Introduction to HTML - H4</H4> <H5>Introduction to HTML - H5</H5> <H6>Introduction to HTML - H6</H6>

HEADING

</BODY> </HTML>

V d v Paragraph
19

PARAGRAPH - <P>

<html> <head> <title>Welcome to HTML</title> </head> <body bgcolor=lavender> <h3>My first HTML document</h3> <p>
</p> <p align=center>Another </body> </html>

This is going to be real fun <h2>Using another heading</h2>

paragraph element</p>

V d v Horizontal rules
20

HORIZONTAL RULES
<HR >

Thuc tnh :

align : Canh hng ng k ngang so vi trang web width : Chiu di ng k ngang size : B rng ca ng k ngang noshade : Khng c bng

<HR noshade size=5 align=center width=40%></HR> <HR size=15 align=right width=80%></HR>

V d tag nh dng ch
21

nh dng <b>This text is bold</b> <strong>This text is strong </strong> <big>This text is big </big> <em>This text is emphasized </em> <i>This text is italic </i> <small>This text is small </small> This text contains a<sub>2</sub> This text contains x<sup>2</sup> = a x a

V d tag nh dng ch
22

nh dng <EM> Renders as emphasized text </EM> <STRONG> Renders as strong emphasized text </STRONG> <DFN> Defines a definition term </DFN> <CODE> Defines computer code text </CODE> <KBD>Defines keyboard text</KBD> <VAR>Defines a variable part of a text</VAR> <CITE>Defines a citation</CITE> <BLINK>Computer Sciences</BLINK> <DEL>Computer Sciences</DEL> <INS>Computer Sciences</INS>

<SAMP> Defines sample computer code </SAMP>

WYSIWYG vi tag <pre>


23

Hin th ng dng vn bn son tho (khong trng, xung dng, tag,) Vi du:

<FONT SIZE=4> <pre> Ban co the xuong dong va cach khoang trang thoai mai </pre> </FONT>

K t c bit
24

Lm sao hin th cc k hiu c bit ? Du <, >, & Du nhy kp Cc k t c bit : @

Danh sch K t c bit


25

Result " & < >

Description quotation mark ampersand less-than greater-than

Entity Name &quot; &amp; &lt; &gt;

Entity Number &#34; &#38; &#60; &#62;

hin th c th m HTML tng ng l :


&lt;Khoa hoa tu nhien&gt;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Khoa hoc tu nhien&quot;

Tag hnh nh
26

<img> Cc thuc tnh ca tag <img>:


SRC : ng dn n file hnh nh ALT : Ch thch cho hnh nh trong trng hp khng c hnh / tooltip Position: Top, Bottom, Middle Border : dy nt vin quanh nh (default=0)

t nh nn cho trang web


S

dng th <body Background=Image Path>

Tag m thanh
27

<bgsound> Thuc tnh ca tag <bgsound>


: ng dn n file m thanh Loop : S ln lp (bng -1 : Lp v hn) <bgsound> Thng t trong tag <head> ca trang web.
SRC

V d: <BGSOUND src=batman.mid LOOP=1>


V d - m thanh

X l m thanh nn (tt)

Cch s dung th OBJECT

<object data="Graduation.mp3" type="application/x-mplayer2" width="0" height="0"> <param name="filename" value="Graduation.mp3"> <param name="playcount" value="true"> <param name="autostart" value="true"> </object>

Chy c trn nhiu trnh duyt IE, Fire Fox, Chrome, Safari

Tag m thanh

Cch thng thng

<body> <bgsound src="Graduation.mp3 " loop="-1" /> </body>

Khuyt im

Ch chy c trn IE

Cc

trnh duyt khc khng hiu <bgsound>

Ni dung
30

Gii thiu v HTML Cu trc ca 1 ti liu HTML Cc Tag c bn Cc Tag danh sch Tag lin kt trang Tag k bng

Cc tag Danh sch


31

Kiu danh sch Danh sch c th t

Th <OL>

Phn t trong DS <Li>

Danh sch khng c th t


Danh sch t nh ngha Danh sch lng nhau Dng khc

<UL>
<DL>

<Li>
<Dt>, <Dd>

<menu> <dir>

<Li>

Danh sch c th t
32

Danh sch c th t
33

Danh sch khng c th t


34

Danh sch t nh ngha


35

Ni dung
36

Gii thiu v HTML Cu trc ca 1 ti liu HTML Cc Tag c bn Cc Tag danh sch Tag lin kt trang Tag k bng

Tag lin kt trang - URL


37

Cc dng a ch HTTP: 7 trng hp TH1: http://server/ V du: http://www.yahoo.com/

TH2: http://server/file V du: http://games.yahoo.com/index.php

TH3: http://server/directory/ V du: http://games.yahoo.com/games/


TH4: http://server/directory/file V du: http://games.yahoo.com/download/ Dominoes.exe

Tag lin kt trang - URL


38

TH5: http://server/directory/file#marker
V du : http://games.yahoo.com/index.php# Puzzle TH6: http://server/directory/file?parameters

V du : http://www.google.com.vn/search?hl=vi&q=Teach&meta=1
TH7: http://server:port/directory/file V du : http://www.microsoft.com:8080/products/greetings.html

Tag <a> (anchor)


39

C php : Thuc tnh target ca tag <a>

name: ti trang web vo frame c tn NAME _blank: ti trang web vo ca s mi _parent: ti trang web vo ca s cha ca n _self: ti trang web vo chnh ca s hin hnh _top: ti trang web vo ca s cao nht

V d :

Phn loi lin kt


40

Phn loi :
kt ngoi (external link) Lin kt ni (internal link) Lin kt email (email link)
Lin

Lin kt ngoi (External Link)


41

<a href=URL>

Text i din </a>


Trang hin ti baihoc1.htm

Click chut

Bi hc 2


Trang c a ch xc nh t URL baihoc2.htm

Lin kt ni (Internal Link)


42

<a name=TenViTri"> Vi tri bat dau </a>


<a href=#TenViTri"> Text i din </a>

Ni dung trang khi cha lin kt

Text i din Vi tri bat dau .abcdefgh ...01234567 .

Click chut

. . Text i din Vi tri bat dau .abcdefgh ...01234567 . . . . .

Ni dung trang khi bm lin kt

Lin kt Email
43

Lin h Admin

Click chut

<a href=mailto:emailAddress">Lin h Admin</a>

Phn loi a ch URL


44

<a href="URL target=> Linked content </a>

a ch URL phn lm 2 loi :


a

ch tuyt i : L v tr tuyt i so vi Mng Internet a ch tng i : L v tr tng i so vi trang web hin hnh ang ch lin kt.
Mt s k hiu ng dn c bit:
K hiu
/ ./ ../

ngha
Tr v th mc gc ca website Th mc hin ti ca trang web s dng link (mc nh) Quay ra th mc cha / i ngc li 1 cp th mc

V d
45

# 127.0.0.1/demo file A c link n file B, vy trong file A c HTML element: <a href=URL>lin kt n B</a>
URL = http://127.0.0.1/demo/Thu muc 1/file B.htm /demo/Thu muc 1/file B.htm ./Thu muc 1/file B.htm Thu muc 1/file B.htm

46

V d
# 127.0.0.1/demo file B c link n file C, vy trong file B c HTML element: <a href=URL>lin kt n C</a>
URL = http://127.0.0.1/demo/Thu muc 1/ Thu muc 1_1/file C.htm /demo/Thu muc 1/Thu muc 1_1/file C.htm ./Thu muc 1_1/file C.htm Thu muc 1_1/file C.htm

47

V d
# 127.0.0.1/demo file C c link n file D, vy trong file D c HTML element: <a href=URL>lin kt n D</a>
URL = http://127.0.0.1/demo/Thu muc 1/ Thu muc 1_2/file D.htm /demo/Thu muc 1/Thu muc 1_2/file D.htm

./../Thu muc 1_2/file D.htm


../Thu muc 1_2/file D.htm

48

V d
# 127.0.0.1/demo file D c link n file F, vy trong file F c HTML element: <a href=URL>lin kt n F</a>
URL = http://127.0.0.1/demo/Thu muc 2/file F.htm /demo/Thu muc 2/file F.htm ./../../Thu muc 2/file F.htm ../../Thu muc 2/file F.htm

49

V d
# 127.0.0.1/demo file F c link n file E, vy trong file F c HTML element: <a href=URL>lin kt n E</a>
URL = http://127.0.0.1/demo/Thu muc 1/ Thu muc

1_2/Thu muc 1_2_1/file E.htm


/demo/Thu muc 1/Thu muc 1_2/ Thu muc 1_2_1/file E.htm ../Thu muc 1 /Thu muc 1_2/Thu muc1_2_1/ file E.htm

50

V d
# 127.0.0.1/demo file E c link n file A v tri xc nh, vy trong file A c HTML element: <a name=positionB></a>

<a href=URL>lin kt n A tai vi tri B</a> URL = ../../../file A.htm#positionB

Bi tp
51

To cu trc website ging hnh bn. To lin kt t c th n bt k trang no cn khi ch nh

Ni dung
52

Gii thiu v HTML Cu trc ca 1 ti liu HTML Cc Tag c bn Cc Tag danh sch Tag lin kt trang Tag k bng

Tag k bng Table


53

Th <table> <tr> <th>

ngha Khi to mt bng Khi to mt dng. Th con ca th <table> Khi to mt tiu . Th con ca th <tr>

<td>

Khi to mt . Th con ca th <tr>

Tag k bng Table (tt)

54

Tag k bng Table (tt)


55

Mt s thuc tnh ca cc th :
Thuc tnh colspan rowspan background ngha Gin ct cho Gin dng cho Thit lp nh nn cho bng,

bgcolor
Align Valign

Thit lp mu nn cho bng,


(left, right, center, justify) Ging hng ngang ch trong (top, middle, bottom, baseline) Ging hng dc ch trong

Cellpadding Quy nh khong cch t bin ca n ni dung Cellspacing Quy nh khong cch gia cc vi nhau

Tag k bng Table (tt)


56

Mt s thuc tnh ca cc th :

Tag k bng Table (tt)

57

58

Table:

59

60

Topleft.png

Top.png

Topright.png

left.png

right.png

bottomleft.png

Bottom.png

bottomright.png 61

62

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

CSS
Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Ni dung
2

Gii thiu v CSS


CSS = Casscading Style Sheets Dng m t cch hin th cc thnh phn trn trang WEB S dng tng t nh dng TEMPLATE

C th s dng li cho cc trang web khc C th thay i thuc tnh tng trang hoc c site nhanh chng (cascading)

Gii thiu v CSS V d

Ni dung
5

nh ngha Style
Kiu 1
<tag style = property1:value1; property2:value2; propertyN:valueN;></tag>

Kiu 2
SelectorName { property1:value1; property2:value2; propertyN:valueN;}

<tag class = SelectorName> </tag>

V d:
<h1 style= color : blue; font-family : Arial; > DHKHTN </h1>

V d:

.TieuDe1 { color: red; font-family: Verdana, sans-serif; } <h1 class=TieuDe1> DHKHTN </h1>

nh ngha Style Ghi ch


Ging Ghi ch trong C++ S dng /*Ghi ch*/ V d : .SelectorName property1:value1; /*Ghi property2:value2; /*Ghi propertyN:valueN;}

chu chu

{ 1*/ 2*/

Ni dung
8

Phn loi CSS

Gm 3 loi CSS
Inline

Style Sheet (Nhng CSS vo tag HTML) Embedding Style Sheet (Nhng CSS vo trang web) External Style Sheet (Lin kt CSS vi trang web)

Inline Style Sheet

nh ngha style trong thuc tnh style ca tng tag HTML. Theo c php kiu 1.
<tag style = property1:value1;propertyN:valueN;> . </tag>

Khng s dng li c.

V d:

<H1 STYLE="color: yellow">This is yellow</H1>

Embedding Style Sheet

Cn gi l Internal Style Sheet hoc Document-Wide Style Sheet nh ngha style theo c php kiu 2. Trang HTML c ni dung nh sau:

<head> <style type=text/css >


<!-SelectorName { property1:value1; property2:value2; propertyN:valueN;} -->

</style> </head>

Embedding Style Sheet


<HTML> <HEAD>
<TITLE> Embedded Style Sheet </TITLE> <STYLE TYPE="text/css"> <!-P {color: red; font-size: 12pt; font-family: Arial;} H2 {color: green;}

--> </STYLE>

</HEAD> <BODY BGCOLOR="#FFFFFF">


<H2>This is green</H2> <P>This is red, Garamond.</P> 12 pt. and

</BODY> </HTML>

External Style Sheet


Mi style u lu trong file c phn m rng l *.CSS. File CSS: lu tr nhiu style theo c php kiu 2.
Trong file HTML: lin kt bng tag link. C php:

<head> <link rel=stylesheet href=URL type="text/css"> </head>

Trang HTML : Lin kt bng tag style vi @import url. C php

<head> <style type=text/css media="all | print | screen" > @import url(URL); </style> </head>

External Style Sheet


Trong tp tin MyStyle.CSS
H2 { FONT-WEIGHT: bold;

Trong trang Web : demo.htm


<html> <head> <title>Cass</title> <link HREF="MyStyle.css" REL="stylesheet" > </head> <body> <h2>This is an H2 </h2>

FONT-SIZE: 16pt;
COLOR: white; FONT-STYLE: italic; FONT-FAMILY: Arial; BACKGROUND-COLOR: red; font-color: white }

</body>
</html>

So snh, nh gi
Inline Style Sheet Khai bo C php Kiu 1 <p style=color:red;> Test </p> Embedding Style Sheet Kiu 2 <style type=text/css> .TieuDe1{color: red;} </style> <p class=TieuDe1> Test </p> D dng qun l Style theo tng ti liu web. Khng cn ti thm cc trang thng tin khc cho style External Style Sheet Kiu 2 <link rel=stylesheet href=main.css /> <p class=TieuDe1> Test </p> C th thit lp Style cho nhiu ti liu web. Thng tin cc Style c trnh duyt cache li

u im

D dng qun l Style theo tng tag ca ti liu web. C u tin cao nht

Khuyt im

Cn phi Khai bo li thng tin style trong tng ti liu Web v cc ti liu khc mt cch th cng. Kh cp nht style

Cn phi khai bo li thng tin style cho cc ti liu khc trong mi ln s dng

Tn thi gian download file *.css v lm chm qu trnh bin dch web trnh duyt trong ln u s dng

u tin

Th t u tin p dng nh dng khi s dng cc loi CSS ( u tin gim dn) :
1. 2. 3.

4.

Inline Style Sheet Embedding Style Sheet External Style Sheet Browser Default

Ni dung
18

Selector

L tn 1 style tng ng vi mt thnh phn c p dng nh dng Cc dng selectors

HTML element selectors Class selectors ID selectors


V d: .TieuDe1 { color: red; font-family: Verdana, sans-serif; } <h1 class=TieuDe1> DHKHTN </h1>

....

Selector trong CSS


Loi element

M t phm vi nh hng
nh dng p dng cho ND tt c cc tag Element trong ti liu Web nh dng p dng cho ND tt c cc tab c thuc tnh id trong t liu Web nh dng p dng cho ND tt c cc tab c thuc tnh class trong t liu Web nh dng p dng cho ND cc tag Element c thuc tnh class tng ng nh dng p dng cho ND mt nhm cc tag trong ti liu. nh dng p dng cho ND cc th c lng trong mt th cha no

V d
h1 {color: red;}
/* ND ca th <h1> b nh dng mu ch= */

#id

#test {color: green;}


/* ND ca bt k tag c thuc tnh id=test u b nh dng mu ch=xanh l */

.class

.note {color: yellow;}


/* ND ca bt k tag c thuc tnh class=note u b nh dng mu ch=vng*/

element . class

h1.note {text-decoration: underline;}


/* ND ca cc th <h1> c thuc tnh class=note u b nh dng gch chn */

Grouping

h1,h2,h3 {background-color: orange;}


/* ND ca cc th <h1> <h2> <h3> u b nh dng mu nn = mu cam */

Contextual

p strong {color: purple;}


/* ND ca cc th <strong> nm trong th <p> u b nh dng mu ch=mu ta */

Pseudo Class Pseudo element

nh dng c p dng da vo trng thi ca cc Element. (Khng xut hin trong m lnh HTML)

Selector trong CSS - Element

C hiu ng trn tt c element cng loi tag V d :

Selector trong CSS


Loi
element

M t phm vi nh hng
nh dng p dng cho ND tt c cc tag Element trong ti liu Web nh dng p dng cho ND tt c cc tab c thuc tnh id trong t liu Web nh dng p dng cho ND tt c cc tab c thuc tnh class trong t liu Web nh dng p dng cho ND cc tag Element c thuc tnh class tng ng nh dng p dng cho ND mt nhm cc tag trong ti liu. nh dng p dng cho ND cc th c lng trong mt th cha no

V d
h1 {color: red;}
/* ND ca th <h1> b nh dng mu ch= */

#id

#test {color: green;}


/* ND ca bt k tag c thuc tnh id=test u b nh dng mu ch=xanh l */

.class

.note {color: yellow;}


/* ND ca bt k tag c thuc tnh class=note u b nh dng mu ch=vng*/

element . class

h1.note {text-decoration: underline;}


/* ND ca cc th <h1> c thuc tnh class=note u b nh dng gch chn */

Grouping

h1,h2,h3 {background-color: orange;}


/* ND ca cc th <h1> <h2> <h3> u b nh dng mu nn = mu cam */

Contextual

p strong {color: purple;}


/* ND ca cc th <strong> nm trong th <p> u b nh dng mu ch=mu ta */

Pseudo Class Pseudo element

nh dng c p dng da vo trng thi ca cc Element. (Khng xut hin trong m lnh HTML)

Selector trong CSS ID rules

C hiu ng duy nht trn mt element c ng id. V d :

Selector trong CSS


Loi element M t phm vi nh hng nh dng p dng cho ND tt c cc tag Element trong ti liu Web nh dng p dng cho ND tt c cc tab c thuc tnh id trong t liu Web nh dng p dng cho ND tt c cc tab c thuc tnh class trong t liu Web nh dng p dng cho ND cc tag Element c thuc tnh class tng ng nh dng p dng cho ND mt nhm cc tag trong ti liu. nh dng p dng cho ND cc th c lng trong mt th cha no V d h1 {color: red;} /* ND ca th <h1> b nh dng mu ch= */ #test {color: green;} /* ND ca bt k tag c thuc tnh id=test u b nh dng mu ch=xanh l */ .note {color: yellow;} /* ND ca bt k tag c thuc tnh class=note u b nh dng mu ch=vng*/ h1.note {text-decoration: underline;} /* ND ca cc th <h1> c thuc tnh class=note u b nh dng gch chn */ h1,h2,h3 {background-color: orange;} /* ND ca cc th <h1> <h2> <h3> u b nh dng mu nn = mu cam */ p strong {color: purple;} /* ND ca cc th <strong> nm trong th <p> u b nh dng mu ch=mu ta */

#id

.class

element . class

Grouping

Contextual

Pseudo Class Pseudo element

nh dng c p dng da vo trng thi ca cc Element. (Khng xut hin trong m lnh HTML)

Selector trong CSS Class rules

C hiu ng trn tt c cc loi tag c cng gi tr thuc tnh class. V d :

Selector trong CSS


Loi element M t phm vi nh hng nh dng p dng cho ND tt c cc tag Element trong ti liu Web nh dng p dng cho ND tt c cc tab c thuc tnh id trong t liu Web nh dng p dng cho ND tt c cc tab c thuc tnh class trong t liu Web nh dng p dng cho ND cc tag Element c thuc tnh class tng ng nh dng p dng cho ND mt nhm cc tag trong ti liu. nh dng p dng cho ND cc th c lng trong mt th cha no V d h1 {color: red;} /* ND ca th <h1> b nh dng mu ch= */ #test {color: green;} /* ND ca bt k tag c thuc tnh id=test u b nh dng mu ch=xanh l */ .note {color: yellow;} /* ND ca bt k tag c thuc tnh class=note u b nh dng mu ch=vng*/ h1.note {text-decoration: underline;} /* ND ca cc th <h1> c thuc tnh class=note u b nh dng gch chn */ h1,h2,h3 {background-color: orange;} /* ND ca cc th <h1> <h2> <h3> u b nh dng mu nn = mu cam */ p strong {color: purple;} /* ND ca cc th <strong> nm trong th <p> u b nh dng mu ch=mu ta */

#id

.class

element . class

Grouping

Contextual

Pseudo Class Pseudo element

nh dng c p dng da vo trng thi ca cc Element. (Khng xut hin trong m lnh HTML)

Kt hp Element v Class

V d :

Selector trong CSS


Loi element M t phm vi nh hng nh dng p dng cho ND tt c cc tag Element trong ti liu Web nh dng p dng cho ND tt c cc tab c thuc tnh id trong t liu Web nh dng p dng cho ND tt c cc tab c thuc tnh class trong t liu Web nh dng p dng cho ND cc tag Element c thuc tnh class tng ng nh dng p dng cho ND mt nhm cc tag trong ti liu. nh dng p dng cho ND cc th c lng trong mt th cha no V d h1 {color: red;} /* ND ca th <h1> b nh dng mu ch= */ #test {color: green;} /* ND ca bt k tag c thuc tnh id=test u b nh dng mu ch=xanh l */ .note {color: yellow;} /* ND ca bt k tag c thuc tnh class=note u b nh dng mu ch=vng*/ h1.note {text-decoration: underline;} /* ND ca cc th <h1> c thuc tnh class=note u b nh dng gch chn */ h1,h2,h3 {background-color: orange;} /* ND ca cc th <h1> <h2> <h3> u b nh dng mu nn = mu cam */ p strong {color: purple;} /* ND ca cc th <strong> nm trong th <p> u b nh dng mu ch=mu ta */

#id

.class

element . class

Grouping

Contextual

Pseudo Class Pseudo element

nh dng c p dng da vo trng thi ca cc Element. (Khng xut hin trong m lnh HTML)

Contextual Selection

nh dng c p dng cho ni dung trong chui tag theo ng th t V d :

Selector trong CSS


Loi element M t phm vi nh hng nh dng p dng cho ND tt c cc tag Element trong ti liu Web nh dng p dng cho ND tt c cc tab c thuc tnh id trong t liu Web nh dng p dng cho ND tt c cc tab c thuc tnh class trong t liu Web nh dng p dng cho ND cc tag Element c thuc tnh class tng ng nh dng p dng cho ND mt nhm cc tag trong ti liu. nh dng p dng cho ND cc th c lng trong mt th cha no V d h1 {color: red;} /* ND ca th <h1> b nh dng mu ch= */ #test {color: green;} /* ND ca bt k tag c thuc tnh id=test u b nh dng mu ch=xanh l */ .note {color: yellow;} /* ND ca bt k tag c thuc tnh class=note u b nh dng mu ch=vng*/ h1.note {text-decoration: underline;} /* ND ca cc th <h1> c thuc tnh class=note u b nh dng gch chn */ h1,h2,h3 {background-color: orange;} /* ND ca cc th <h1> <h2> <h3> u b nh dng mu nn = mu cam */ p strong {color: purple;} /* ND ca cc th <strong> nm trong th <p> u b nh dng mu ch=mu ta */

#id

.class

element . class

Grouping

Contextual

Pseudo Class Pseudo element

nh dng c p dng da vo trng thi ca cc Element. (Khng xut hin trong m lnh HTML)

Pseudo Class

nh dng da vo trng thi ca lin kt, s kin chut. C th kt hp vi Selector khc.

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

Javascript
Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Ni dung
2

1. 2. 3. 4.

The interactive Web Storing Data Khai bo kiu d liu Quy tc c php X l s kin

Online People have needs


3

Web is virtual but people in Web are real people, with real words needs

But
4

With HTML and CSS, nothing happended

And Javascript talks back


5

Javascript to cho mt trang web c kh nng tng tc

HTML, CSS v Javacript


7

HTML, CSS v Javacript


8

Show example

<script > Tag


9

Question & Answer


10

Anything in th <script> u l Javascript ? Other scripting language ?

V tr t th <script> ? (head ???)

Page Process interactive web


11

Ni dung
12

1. 2. 3. 4.

The interactive Web Storing Data Khai bo kiu d liu Quy tc c php X l s kin

Data very important


13

What data is how you intend to use it ?

Data for ? Calculation, remember information

Data Types
14

Text Number - Boolean


15

Example 1 - Data Types


16

Example 1 Data Types


17

Example 2 Data Types


18

Example 2 Data Types


19

Contant v Variable
20

Example 1 Contant & Variable


21

Example 1 Contant & Variable


22

Variable trong Javascript

Cch t tn bin
Bt

u bng mt ch ci hoc du _
: phn bit HOA, Thng

A..Z,a..z,0..9,_

Khai bo bin
S

dng t kha var cn khai bo bin trc khi s dng,

V d: var count=10,amount;
Khng

bin tht s tn ti khi bt u s dng ln u tin

Example
24

i kiu d liu
Bin t i kiu d liu khi gi tr m n lu tr thay i V d:

var x = 10; // x kiu Number x = hello world !; // x kiu String

C th cng 2 bin khc kiu d liu


// KQ: x = 1234.5

V d: var x; x = 12 + 34.5;

Hm parseInt(), parseFloat() : i KDL t chui sang s.

Contant trong Javascript

Khai bo hng
S

dng t kha const

V d: const TaxRate = 10;

Case Study: Donuts Online


27

Case Study: Donuts Online


28

Case Study: Donuts Online


29

Problem 1
30

NaN value ? Gii php ?

const TAXRATE = 0.0925;

const DONUTPRICE = 0.50;

Demo: v d 2

Problem 2
31

1+2=? Gii php ?

parseInt

Demo: v d 3

Problem 3
32

Empty data ? Gii php ?

validateData

Demo: v d 4

Problem 4
33

Complex input Gii php ?

need parse data

Demo: v d 5

Ni dung
34

1. 2. 3. 4.

The interactive Web Storing Data Khai bo kiu d liu Quy tc c php X l s kin

Client, Server v Javascript


35

Client, Server v Javascript


36

Browser (client) can ?


37

Browser history Browser metrics Cookies Timers

=>

Case Study: iRock


38

First demo: change emotion

Problem 1
39

Vn :
Change

emotion after timer ?

Gii php: setTimeout()

Problem 2
40

Vn : multiple screen size PC vs Phone Gii php: dng document object


document.body.Height document.body.Weight

Demo: iRock5

Problem 3
41

Vn : resize browser Gii php: dng onresize() trigger

Demo: iRock6

Problem 3
42

Cookies
43

Problem 4
44

Vn : trnh duyt disable cookies Gii php: kim tra v thng bo

Demo: iRock8

Ni dung
45

1. 2. 3. 4.

The interactive Web Storing Data Khai bo kiu d liu Quy tc c php X l s kin

Hm trong Javascript

Dng thc khai bo chung:


function Tn_hm(thamso1, thamso2,..) { }

Hm c gi tr tr v:
function Tn_hm(thamso1, thamso2,..) { return (value); }

Hm trong Javascript

V d:
function Sum(x, y) { tong = x + y; return tong; }

Gi hm:
var x = Sum(10, 20);

Cc quy tc chung

Khi lnh c bao trong du {} Mi lnh nn kt thc bng du ; Cch ghi ch thch:
//

Ch thch 1 dng /* Ch thch nhiu dng */

Cu lnh if
if (condition) { statement[s] if true } else { statement[s] if false }

V d: var x = 5, y = 6, z; - if (x == 5) { if (y == 6) z = 17; } else z = 20;

Cu lnh switch
switch (expression) { case label : statementlist case label : statementlist ... default : statement list }
}

V d : var diem = G; switch (diem) { case Y:


document.write(Yu"); break; case TB: document.write(Trung bnh"); break; case K: document.write(Kh"); break; case G : document.write(Gii"); break; default: document.write(Xut sc")

Vng lp for
for ([initial expression]; [condition]; [update expression]) { statement[s] inside loop }

V d: var myarray = new Array(); for (i = 0; i < 10; i++) { myarray[i] = i; }

Vng lp while
while (expression) { statements }

V d: var i = 9, total = 0; while (i < 10) { total += i * 3 + 5; i = i +5; }

Vng lp do.. while


do { statement }while (expression);
V d:

var

i = 9, total = 0;

do {

total += i * 3 + 5; i = i +5; } while (i > 10);

Ni dung
54

1. 2. 3. 4.

The interactive Web Storing Data Khai bo kiu d liu Quy tc c php X l s kin

Cc s kin thng dng

Cc s kin c h tr bi hu ht cc i tng

onClick onFocus onChange onBlur onMouseOver onMouseOut onMouseDown onMouseUp

onLoad onSubmit onResize

X l s kin cho cc th HTML

C php 1: <TAG eventHandler = "JavaScript Code"> V d:


<INPUT TYPE="button NAME="Button1" VALUE="OpenSesame!"

<body>

onClick="window.open('mydoc.html');">
</body>

Lu : Du v

X l s kin bng function


<head> <script language=Javascript> function GreetingMessage() { window.alert(Welcome to my world); } </script> </head> <body onload=GreetingMessage()> </body>

X l s kin bng thuc tnh

Gan tn ham x ly cho 1 object event


object.eventhandler = function_name;

V d:

<head> <script language=Javascript> function GreetingMessage() { window.alert(Welcome to my world); } window.onload = GreetingMessage () </script> </head> <body> </body>

V d: onclick Event
<SCRIPT LANGUAGE="JavaScript"> function compute(frm) { var x = frm.expr.value; result.innerHTML = x*x; } </SCRIPT>

<FORM name=frm> X = <INPUT TYPE="text" NAME="expr" SIZE=15> <BR><BR>

<INPUT TYPE="button" VALUE=Calculate ONCLICK="compute(this.form)">


<BR> X * X = <SPAN ID="result"></SPAN> </FORM>

V d: onFocus - onBlur

Xy ra khi mt thnh phn HTML b focus (onFocus) v mt focus (onBlur) V d:

<BODY BGCOLOR="lavender">

<FORM>
<INPUT type=text name=myTextbox onblur=(document.bgColor='aqua') onfocus=(document.bgColor='dimgray')> </FORM> </BODY>

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

Advance Web Construction


Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Showcase
2

Ni dung
3

1. 2. 3.

Box model Div Layout v positioning

Box model
4

Box model
Content Padding Border Margin

area

Box model
5

Box model
6

Demo 1
7

Demo 2
8

Thay i
Padding Margin background-image:

url(background.gif) background-repeat: no-repeat background-position: top left Padding-left Margin-right

Bi tp
9

Tm hiu cc c tnh border style

Showcase
10

Ni dung
11

1. 2. 3.

Box model Div Layout v positioning

K/n Section divide a page


12

Th <div> - mark sections


13

Structure
14

More structure
15

Tm tt
16

<div> ng vai tr nh mt container Khi no nn s dng <div> ?


helps

you separate a page into logical sections for clarity and styling But dont abuse

Demo 1
17

Problem 1 box model


18

The width property specifies the width for the content area only.

More
19

Problem 2
20

Text align and image align ?


Block

element: all inline content Normal element: no effect (like <image>)

Descendant selectors
21

Descendant selectors
22

#elixirs3 h2 { color: black; } #elixirs3 h3 { color: #d12c47; }

Short hand shortcut


23

Short hand shortcut


24

Short hand shortcut


25

Bi tp v nh
26

Tm hiu cc tnh cht ca th <span> (tng t th <div>)

Ni dung
27

1. 2. 3.

Box model Div Layout v positioning

Arranging elements
28

Layout v positioning = Arranging elements


Put

everything in its right place

Kt hp gia block v inline element

Block Element -Flow layout top to bottom


29

Inline elements fit all


30

Top left to bottom right

Inline elements not fit all


31

Block and inline - Works together


32

Float layout
33

#amazing { width: 200px; }

Float layout
34

#amazing { width: 200px; float:right; }

Float layout
35

Flow layout
36

Problem
37

Gii php
#footer { clear: }

right;

Q&A
38

Bi tp v nh
39

S dng th div xy dng layout cho website n cui k ca nhm.

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

HTML FORM
Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Ni dung
2

V d

Gii thiu Form


c dng nhn d liu t pha ngi dng Gip gi yu cu ca ngi dng n trang x l trong ng dng web Tag <form> dng cha cc thnh phn khc ca form Nhng thnh phn nhp liu c gi l Form Field

text field password field multiple-line text field

Tag <Form>

L container cha cc thnh phn nhp liu khc.


<!-- cc thnh phn ca Form -->

<FORM NAME= ACTION= METHOD=> </FORM>

Cc thuc tnh ca </FORM>


NAME

: tn FORM ACTION : ch nh trang web nhn x l d liu t FORM ny khi c s kin click ca button SUBMIT. METHOD : Xc nh phng thc chuyn d liu (POST,GET)

Tag <Form> - V d
Dangnhap.htm <html>

<body>
<form Name=Dangnhap Action=/admin/xlDangnhap.php Method=Post> </form> </body> </html>

Ni dung
7

Cc thnh phn ca Form

Gm cc loi Form Field sau:

Text field Password field Hidden Text field Check box Radio button File Form Control Submit Button, Reset Button, Generalized Button Multiple-line text field Label Pull-down menu Scrolled list Field Set

Text Field

Dng nhp mt dng vn bn C php


<INPUT TYPE NAME READONLY SIZE MAXLENGTH TABINDEX VALUE > = TEXT = string = = = = variant long integer string
20

t with 301
30

V d

<input type=text name=txtName value=This is one line text with 301 size=20 maxlength=30>

Cc thnh phn ca Form Password Field


Dng nhp mt khu C php


<INPUT TYPE NAME READONLY SIZE MAXLENGTH TABINDEX VALUE > = PASSWORD = string

= = = =

variant long integer string

V d

<input type=Password name=txtPassword value=123456abc1234 size=20 maxlength=30>

Check box

C php
<input TYPE = checkbox NAME = text VALUE = text [checked] >

V d
<html> <body> Check box group : <br> Anh van: <input type="checkbox" name="Languages1" value="En"><br> Hoa: <input type="checkbox" name="Languages2" value="Chz" checked><br> Nhut: <input type="checkbox" name="Languages3" value="Jp"><br> </body> </html>

Radio button

C php
<input TYPE = radio NAME = text VALUE = text [checked] >

<html> <body> Radio Button Group : <br> Nam: <input type="radio" name="sex" value="nam" checked><br> Nu: <input type="radio" name="sex" value="nu checked ><br> </body> </html> <html> <body> Radio Button Group : <br> Nam: <input type="radio" name="sex1" value="nam" checked><br> Nu: <input type="radio" name="sex2" value="nuchecked ><br> </body> </html>

V d

Cc thnh phn ca Form File Form Control


Dng upload 1 file ln server C php


<form action= method=post enctype=multipart/form-data name=...> <input TYPE=FILE NAME=> </form>

V d

<html> <body> <form name=frmMain action=POST enctype=multipart/form-data> <input type="file" name="fileUpload"> </form> </body> </html>

Cc thnh phn ca Form Submit button

Nt pht lnh v gi d liu ca form n trang x l. Mi form ch c mt nt submit v nt ny c vin m C php:


<input TYPE=submit name= value=> <input type="submit" name="btnSend" value="Send">

V d:

Cc thnh phn ca Form Reset Button

Dng tr li gi tr mc nh cho cc control khc trong form C php


<input TYPE=reset name= value=>

V d
<input type=reset name=btnReset value=Rest>

Cc thnh phn ca Form - Generalized Button

C php V d
<input type="button" name=btnNormal value=Press Me! onclick="alert('Hello from JavaScript');" >

<input type=button name= value= onclick=script>

Cc thnh phn ca Form Multiline Text Field


Dng nhp vn bn nhiu dng C php


<TEXTAREA COLS ROWS DISABLED NAME READONLY TABINDEX WRAP </TEXTAREA> = long = long = string = integer = OFF | PHYSICAL | VIRTUAL>

V d <textarea This is

cols="20" rows="5" wrap="off"> a text on multiline. </textarea>


5

20

Cc thnh phn ca Form - Label


Dng gn nhn cho mt Form Field C php


<LABEL FOR = IDString CLASS=string STYLE=string >

V d

<label for="Languages">Anh vn: </label> <input type="checkbox" name="Languages" id="Languages" value="Eng">

Cc thnh phn ca Form Pull-down Menu


Dng to ra mt combo box C php


<Select name=> <optgroup label=>

<option [selected] value= ></option>


</optgroup> <option [selected] value= ></option> </select>

Cc thnh phn ca Form Pull-down Menu


<html> <body> combo box: <select name="DSSoftware"> <optgroup label="Multimedia"> <option value="WM10">Window Media 10</option> <option value="JA9">Jet Audio 9</option> </optgroup> <optgroup label="Operation System"> <option value="WXP">Windows XP</option> <option value="WXPSP2">Windows XP SP2</option> <option value="WVT">Windows Vista</option> </optgroup> <option selected value="Office07">Office 2007</option> </select> </body> </html>

Field Set

Dng to ra Group box, nhm cc thnh phn nhp liu trong form C php
<fieldset> <legend>GroupBoxs Name</legend> <input > </fieldset>

<html> <body>

V d

<fieldset> <legend>Subject</legend> <input type="checkbox" name="Subjects" value="Eng"> English<br> <input type="checkbox" name="Subjects" value="Math" checked> Mathematics<br> <input type="checkbox" name="Subjects" value="GraphTheory"> Graph Theory<br> </fieldset> </body> </html>

Ni dung
22

GET

Cc i s ca Form c ghi chn vo ng dn URL ca thuc tnh action trong tag <Form> Khi lng d liu i s c truyn i ca Form b gii hn bi chiu di ti a ca mt URL trn Address bar. (ti a ca mt URL l 2048 bytes)

POST

Cc i s ca Form c truyn ngm bn di Khi lng d liu i s c truyn i ca Form khng ph thuc vo URL Khng b gii hn

Ni dung
27

Review Javascript
28

<form method=post action=target.html name=thisForm> <input type=text name=myText> <select name=mySelect> <option value=1>First Choice</option> <option value=2>Second Choice</option> </select> <br> <input type=submit value=Submit Me> </form>

Review Javascript
29

Truy xut cc thnh phn trong form vi javacript


S

dng i tng document, phng thc find


document.getElementById(id).value =

Vd:

document.formName.fieldName
Vd:

document.myForm.myText.value

BT v nh
30

Xy dng giao din ng nhp, ng k cho n cui k

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

PHP
Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Ni dung

Gii thiu PHP C ch hot ng ca WebServer C php & Quy c trong PHP

Ni dung

Gii thiu PHP C ch hot ng ca WebServer C php & Quy c trong PHP

Gii thiu v PHP Lch s pht trin

PHP : Rasmus Lerdorf in 1994 (c pht trin pht sinh cc form ng nhp s
dng giao thc HTTP ca Unix)

PHP 2 (1995) : Chuyn sang ngn ng script x l trn server. H tr CSDL, Upload File, khai bo bin, mng, hm quy, cu iu kin, biu thc,

PHP 3 (1998) : H tr ODBC, a h iu hnh, giao thc email (SNMP, IMAP), b phn tch m PHP (parser) ca Zeev Suraski v Andi Gutmans

PHP 4 (2000) : Tr thnh mt thnh phn c lp cho cc webserver. Parse i tn thnh

Zend Engine. B sung cc tnh nng bo mt cho PHP

PHP 5 (2005) : B sung Zend Engine II h tr lp trnh HT, XML, SOAP cho Web Services, SQLite

Phin bn mi nht ca PHP l version PHP 5.4.0 (www.php.net)

Gii thiu v PHP PHP l g ?

PHP vit tt ca PHP Hypertext Preprocessor


L ngn ng server-side script, tng t nh

ASP, JSP, thc thi pha WebServer


Tp tin PHP c phn m rng l .php

C php ngn ng ging ngn ng C & Perl

Gii thiu v PHP u im 1

PHP c s dng lm
Server

Side Scripting Scripting (cron Linux, Task

CommandLine

Scheduler Windows, Text Processing)


Xy

dng ng Desktop PHP GTK

Gii thiu v PHP u im 2

a mi trng (Multi-Platform)

Web Servers:
Server

Apache, Microsoft IIS, Caudium, Netscape Enterprise

H iu hnh: H QTCSDL:

UNIX (HP-UX, OpenBSD, Solaris, Linux), Mac

OSX, Windows NT/98/2000/XP/2003/vista

Adabas D, dBase,Empress, FilePro (read-only),

Hyperwave, IBM DB2, Informix, Ingres, InterBase, FrontBase, mSQL,

Direct MS-SQL, MySQL, ODBC, Oracle (OCI7 and OCI8), Ovrimos,


PostgreSQL, SQLite, Solid, Sybase, Velocis,Unix dbm

Gii thiu v PHP u im 3

Min ph
PHP
Software Platform Free Free (Linux) Free (PHP Coder, jEdit, )

Development Tools

Gii thiu v PHP u im 4

c s dng rng ri trong mi trng pht trin web


20,917,850

domains (chim hn 32% tn min

website) 1,224,183 IP addresses (04/2007 Netcraft Survey http://www.php.net/usage.php)

Mt s website ln s dng PHP

PHP at Yahoo!
http://www.yahoo.com

The Internets most trafficked site

Course Management System Portal Portal Wiki

Customer Relationship Management

e-Commerce

Portal

Bulletin Board

Content Management System

Help Desk

Gii thiu v PHP

Download PHP

Download PHP for free here: http://www.php.net/downloads.php

Download MySQL Database

Download MySQL for free here: http://www.mysql.com/downloads/index.html

Download Apache Server

Download Apache for free here: http://httpd.apache.org/download.cgi

Download WAMP,LAMP

Ni dung

Gii thiu PHP C ch hot ng ca WebServer C php & Quy c trong PHP

C ch hot ng ca WebServer

www.example.com Webserver

Apache or IIS

Internet or Intranet
7

6
ServerSide Script Parser (PHP, ASP, ..)

Database Server

Disk driver

C ch hot ng ca WebServer

C ch hot ng ca WebServer

Parser.asp

Parser.php

Ni dung

Gii thiu PHP C ch hot ng ca WebServer C php & Quy c trong PHP

C php & Quy c trong PHP


Quy c Khai bo bin Kiu d liu Ton t Cu trc iu khin Hm Lp i tng

Quy c

Tt c cc cu lnh php u cch nhau bi du ; Khng phn bit khong trng, Tab, xung dng trong cu lnh
<?php print "Hello"; print " World!"; ?> <?php Print Hello; print World!; ?>

Ghi ch : Theo c php ghi ch ca C++ & Perl


// y l ghi ch # y l ghi ch /* y l ghi ch nhiu dng*/

C php & Quy c trong PHP


Quy c Khai bo bin Kiu d liu Ton t Cu trc iu khin Hm Lp i tng

Khai bo bin
$ten_bien = value;

Khng khai bo kiu d liu


Bin t ng c khi to ln u tin gn gi tr cho bin Tn bin :
C th bao gm cc K t (A..Z, a..z), K s (0..9), _, $ Khng c bt du bng k s (0..9) Phn bit ch hoa ch thng V d :

$size $my_drink_size $_drinks $drink4you $$2hot4u $drink-size x

Khai bo bin

Variable variables
php thay i tn bin V d:
Cho

$varname = my_variable; $$varname = xyz; // $my_variable = xyz

Hng s - Constants
V

d:

define(MY_CONST, 10); echo MY_CONST;

C php & Quy c trong PHP


Quy c Khai bo bin Kiu d liu Ton t Cu trc iu khin Hm Lp i tng

Kiu d liu

boolean (bool) integer (int) double (float, real) string array object

1 Bin trong PHP c th lu bt k kiu d liu no.

Kiu d liu (tt)

Chuyn kiu d liu


Cch

1 (automatic)

// $var is set as an integer = 115 $var = "100" + 15; // $var is set as a float = 115.0 $var = "100" + 15.0; // $var is set as a string = "39 Steps" $var = 39 . " Steps";

Cch 2: (datatype) $var Cch 3: settype($var, datatype)

Kiu d liu (tt)


$var
null

(int)$var
0

(bool)$var
false

(string)$var

true

false

6 feet

true

foo

true

Kiu d liu (tt)

Kim tra kiu d liu


gettype is_integer is_double V d:
$var = "test"; if (isset($var)) echo "Variable is Set"; if (empty($var)) echo "Variable is Empty";

is_string is_array is_object

isset unset empty

Kiu s - int, float

Mt s hm x l s

abs ceil Floor round

pow sqrt log log10 dechex hexdec

decbin bindec

srand(seed) rand rand(min, max)

V d // Generate a seed $seed = (float) microtime( ) * 100000000;

// Seed the pseudo-random number generator srand($seed); // Generate some random numbers print rand(); // between 0 and getmaxrand( ) print rand(1, 6); // between 1 and 6 (inclusive)

Kiu chui - string

Ton t ni chui : du chm .


$s = Hello

. World;

// $s = Hello World

Phn bit du nhy n v nhy kp


$user = Bill; print Hi $user ; print Hi $user; print Hi . $user; print Hi . $user ; // Hi $user // Hi Bill // ???? // ????

Mt s hm x l chui

printf

str_pad strlen

trim str_replace substr

strtolower strtoupper strcasecmp

V d
<? $tax = 0.075; printf('The tax costs $%.2f', $tax); $zip = '6520'; printf("ZIP is %05d, $zip); $min = -40; $max = 40; printf("The computer can operate between %+d and %+d degrees Celsius.", $min, $max); ?>

Mng - array

Numbered array
$words = array("Web", "Database", "Applications"); echo $words[0]; $numbers = array(1=>"one", "two", "three", "four"); echo $numbers[1];

Associated array
$array = array("first"=>1, "second"=>2, "third"=>3); echo $array["second"];

Mng - array

Mt s hm x l trn mng

count min max

is_array array_reverse uksort

sort rsort

asort arsort

ksort krsprt

usort uasort

V d: $dinner = array( 'Sweet Corn and Asparagus', 'Lemon Chicken', 'Braised Bamboo Fungus'); sort($dinner); print "I want $dinner[0] and $dinner[1]."; $dishes = count($dinner); print $dishes;

Mng - array

Mt s hm lin quan n mng

reset(array)

array_push(array, elements) : Thm elements vo cui mng


array_pop(array) : Ly phn t cui ra khi mng array_unshift(array, elements) : Thm elements vo u mng array_shift(array) : Ly phn t u ra khi mng

array_merge(array, array) : kt 2 mng li v tr ra mng mi


shuffle(array) : Sort random mng sort(array, flag) : flag = {sort_regular, sort_numeric, sort_string, sort_locale_string}

C php & Quy c trong PHP


Quy c Khai bo bin Kiu d liu Ton t Cu trc iu khin Hm Lp i tng

Ton t
Loi Ton t
new . . [] () Ton hc So snh Lun l X l bit Gn p kiu + - * < && > / % ++ -<= || ?: >= != == === !== , >>>

Ghi ch

! ~ << >> AND OR XOR

= += -= *= /= %= >>= <<= &= |= ^= .= (kiu d liu) (int) (double) (string)

C php & Quy c trong PHP


Quy c Khai bo bin Kiu d liu Ton t Cu trc iu khin Hm Lp i tng

Cu trc iu khin

iu kin if iu khin switch Vng lp for Vng lp while Vng lp do.. While Vng lp foreach

T kha break, continue

iu kin if
if (condition) { statement[s] if true } else (condition) { statement[s] if false }

V d:
$x = 5; if ($x < 4) echo $x is less than 4;

else
print $x isnt less than 4;

$x isnt less than 4

iu khin switch
V d: switch (expression) $menu = 3; switch ($menu){ case 1: echo "You picked break; case 2: echo "You picked three You picked four break; case 3: echo "You picked case 4: echo "You picked break; default: echo "You picked option"; }

{
case label : statementlist break;

one";

case label :

You picked

two";

statementlist break;

three";

...
default : statementlist }

four";

another

Vng lp for
for ([initial expression]; [condition]; [update expression])

{
statement[s] inside loop }

V d:
print <select>;

for ($i = 1; $i <= 12; $i++) {


print <option>$i</option>; } print </select>;

Vng lp while, dowhile

while (expression) { statements }

V d:
$i = 1; $j = 9; while ($i <= 10) { $temp = $i * $j;

do { statements }while (expression);


}

print $j * $i = $temp<br>";

$i++;

Vng lp foreach
foreach (array as variable) { statements }

V d: $meal = array('breakfast' => 'Walnut Bun', 'lunch' => 'Cashew Nuts and White Mushrooms', 'dinner' => 'Eggplant with Chili Sauce'); print "<table border=1>\n"; foreach ($meal as $key => $value) { print "<tr><td>$key</td><td>$value</td></tr>\n"; } print '</table>';

C php & Quy c trong PHP


Quy c Khai bo bin Kiu d liu Ton t Cu trc iu khin Hm Lp i tng

Hm - function
function {
}

functionName

([parameter1]...[,parameterN])

statement[s] ;

function functionName ([parameter1]...[,parameterN]) {


statement[s] ; return .. ; }

Hm Phm vi bin
<?php function doublevalue($var=5) { global $temp; $temp = $var * 2; }
$temp = 5; doublevalue(); echo "\$temp is: $temp"; ?>

$temp is: $temp is: 10

Hm Tham tr vs Tham bin


<?php function doublevalue( $var) { $var = $var * 2; }

&

$variable is: 5 $variable is: 10

$variable = 5; doublevalue($variable); echo "\$variable is: $variable"; ?>

Hm include & require


// index.php <html> <head> <title>Simple Function Call</title> </head> <body bgcolor="#ffffff"> <? require"functions.inc"; "functions.inc"; include bold("this is bold"); $myString = "this is bold"; bold($myString); ?> </body></html>

// functions.inc <?php function bold($string) { echo "<b>" . $string . "</b>\n"; } ?>

C php & Quy c trong PHP


Quy c Khai bo bin Kiu d liu Ton t Cu trc iu khin Hm Lp i tng

Lp i tng - class
class class_name() [extends superclass_name]
{
var $attribute;

function method_name() {
$this->attribute = ; }

$a = new class_name();

Lp i tng - class

V d: class Counter { var $count = 0; var $startPoint = 0; function increment( ) { $this->count++; } } $aCounter = new Counter; $aCounter->increment( ); echo $aCounter->count; // prints 1 $aCounter->count = 101;

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

PHP kt hp MySQL
Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Ni dung
2

Giao tip Client - Server Tng quan MySQL Case study: Books Order

Giao tip Client - Server


C ch Truyn v Nhn d liu gia cc trang web Truyn/Nhn qua Phng thc GET Truyn/Nhn qua Phng thc POST Mt s v d

C ch truyn nhn d liu


www.example.com Webserver

2 Internet or Intranet
Yu cu trang b.php

C ch truyn nhn d liu

C ch truyn nhn d liu


Textbox : txtDangnhap Password Box: txtDangnhap www.example.com Webserver

2
txtDangnhap = phpAdmin txtDangnhap = admin Yu cu trang xlDangnhap.php

Internet or Intranet

C ch truyn nhn d liu

Trang web nhp d liu : S dng i tng <form> Nhp liu thng qua cc formfield Thc hin vic truyn d liu thng qua Submit
<FORM ACTION=URL METHOD=GET/POST> <input type=submit value=X l> </FORM>

Trang web nhn d liu (URL): S dng cc bin ton cc ca PHP $_POST[FieldName] $_GET[FieldName] $_REQUEST[FieldName]

Trang nhp liu


timSach.php
<html>

<body>
<h1>Tm sch</h1> <form action="xlTimSach.php" Method="GET" > T kha : <input type="text" name="txtTukhoa"/>

<input type="submit" value="Tm"/>


</form> </body> </html>

Trang x l d liu
xltimSach.php
<html> <body> <?php

$sTukhoa = $_REQUEST["txtTukhoa"];
?> <h1>Tm sch</h1> T kha tm sch l : <?php echo $sTukhoa; ?>

<br />
Kt qu tm l : </body> </html>

Trang nhp liu v x l d liu


xuly.php
<html> <body> <form action="xuly.php" Method="GET" > T kha : <input type="text" name="txtTukhoa"/> <input type="submit" value="Tm"/> </form> <?php $sTukhoa = $_REQUEST["txtTukhoa"]; if (isset($sTukhoa)) { print "T kha tm sch l : $sTukhoa"; echo "<br>Kt qu tm l : "; } ?> </body> </html>

Ni dung

C ch Truyn v Nhn d liu gia cc trang web Truyn/Nhn qua Phng thc GET Truyn/Nhn qua Phng thc POST Mt s v d

Truyn/Nhn qua Phng thc GET

Tham s truyn i qua a ch URL


http://domain/pathfile?fieldname1=value1&fieldname2

=value2 V d:
http://localhost/xuly.php?txtTukhoa=PHPHost

Nhn d liu thng qua bin ton cc ca PHP


$_GET[FieldName]

$_REQUEST[FieldName]

Phng thc GET u khuyt im

Khuyt im Khng thch hp truyn d liu c tnh bo mt (password) Dung lng D liu truyn i c gii hn URL submit bng phng thc GET c lu li trn server u im Ngi dng c th bookmark a ch URL Ngi dng c th Gi lp phng thc GET truyn d liu m khng cn thng qua FORM

V d
File: GET.HTM
<HTML> <HEAD> <TITLE>Input data</TITLE> </HEAD> <BODY>

<IMG SRC=images/N72.jpg><br>
<A HREF=chitiet.php?Ma=N72>Xem chi tit</A> </BODY>

</HTML>

V d (tt)
File: CHITIET.PHP
<HTML> <HEAD> <TITLE>Input data</TITLE>

</HEAD>
<BODY> <?php echo "Ma dien thoai la " . $_GET["Ma"]; ?> </BODY> </HTML>

Ni dung

C ch Truyn v Nhn d liu gia cc trang web Truyn/Nhn qua Phng thc GET Truyn/Nhn qua Phng thc POST Mt s v d

Truyn/Nhn qua Phng thc POST

Tham s truyn i c n bn trong FORM Nhn d liu thng qua bin ton cc ca PHP
$_POST[FieldName] $_REQUEST[FieldName]

Phng thc POST u khuyt im

u im Bo mt hn phng thc GET Khng gii hn dung lng d liu truyn i Khuyt im Kt qu trang web tr v khng th bookmark C th gy ra li nu ngi dng mun quay li trang kt qu (nhn nt Back hoc Refresh) do b expired D liu c th khng truyn i c do vn v security

Ni dung

C ch Truyn v Nhn d liu gia cc trang web Truyn/Nhn qua Phng thc GET Truyn/Nhn qua Phng thc POST Mt s v d

Truyn/Nhn d liu t Checkbox


File: Checkbox.php
<html><body>

<form method=get action=checkbox.php>


<input type="checkbox" name="chk1" value=en">English <br> <input type="checkbox" name="chk2">Vietnam<br> <input type=submit value=submit><br>

</form>
<?php echo checkbox 1 : . $_REQUEST[chk1]; echo checkbox 2 : . $_REQUEST[chk2]; ?> </body></html>

Truyn/Nhn d liu t Radio Button


File: RADIO.PHP
<html><body> <form action=radio.php" method="GET"> <input type=RADIO NAME=radGT">Nam<br> <input type=RADIO NAME="radGT VALUE=Nu>N<br> <input type=SUBMIT VALUE="Submit">

</form>
<?php if (isset($_GET[radGT'])){

echo Gioi tinh : " . $_GET[radGT'];


} ?> </body></html>

Truyn/Nhn d liu t ComboBox


File: COMBOBOX.PHP
<html> <body> <form method="POST" action="combobox.php"> <select name="lunch"> <option value="pork">Bn tht heo</option> <option value="chicken">Bn tht g</option> <option>Bn mng</option> </select> <input type="submit" name="submit" value="Chn"/> </form> Mn bn c chn :<br/> <?php if (isset($_POST['lunch'])) { print "Bn chn Bn ". $_POST['lunch'] . "<br/>"; } ?> </body> </html>

Truyn/Nhn d liu t Listbox - s dng Mng


File: LISTBOX.PHP
<html> <body> <select name="lunch[] multiple> <option value="pork">Bn tht heo</option> <option value="chicken">Bn tht g</option> <option>Bn mng</option> </select> <input type="submit" name="submit" value="Chn"/> </form> <form method="POST" action="Listbox.php">

Mn bn c chn : <br/>
<?php foreach ($_POST['lunch'] as $choice){ print Bn chn 1 Bn $choice. <br/>"; } ?> </body></html>

Ni dung
24

Giao tip Client - Server Tng quan MySQL Case study: Books Order

MySQL: store data


25

PHPMyAdmin
26

Tool h tr cc thao tc thm, xa, sa, truy vn CSDL MySQL Demo

Ni dung
27

Giao tip Client - Server Tng quan MySQL Case study: Books Order

Case Study: Books Order


28

Cc quy tc thit k CSDL Cc bng c bn


Customers Orders Books

Thit k CSDL
29

Tnh trng Redundant Data


30

Cc vn :
Waste

of space Update anomalies

Atomic Column Values


31

Isnt good ideas, so

Choose Sensible Keys


32

Chon Keys nh th no y ?

Keys are unique

Data Tables
33

create table customers


( customerid int unsigned not null auto_increment primary key,

name char(50) not null,


address char(100) not null, city char(30) not null );

create table orders


( orderid int unsigned not null auto_increment primary key, customerid int unsigned not null, amount float(6,2),

date date not null


);

Data Tables
34

create table books


( isbn char(13) not null primary key,

author char(50),
title char(100), price float(4,2) );

create table order_items


(
orderid int unsigned not null, isbn char(13) not null, quantity tinyint unsigned, primary key (orderid, isbn)

);

Retrieving Data from the Database


35

select name, city from customers;

select *
from orders where customerid = 3; select orders.orderid, orders.amount, orders.date from customers, orders where customers.name = Julie Smith and customers.customerid = orders.customerid;

Updating Records in the Database


36

update books set price = price*1.1;

update customers set address = 250 Olsens Road where customerid = 4;

Case Study: Books Order


37

Querying a Database from the Web Putting New Information in the Database Using Prepared Statements

Querying a Database from the Web


38

Querying a Database from the Web


39

Kim tra v lc d liu Input To kt ni n database Truy vn database Th hin kt qu n ngi dng ng kt ni

Kim tra d liu Input


40

$searchtype=$_POST['searchtype']; $searchterm=trim($_POST['searchterm']); if (!$searchtype || !$searchterm) { echo 'You have not entered search details. Please go back and try again.'; exit; }

Hm trim() ?

Lc d liu Input
41

if (!get_magic_quotes_gpc()) {

$searchtype = addslashes($searchtype); $searchterm = addslashes($searchterm);


}

Hm get_magic_quotes_gpc() ?, hm addslashes() ?

To kt ni n database
42

S dng object-oriented

@ $db = new mysqli('localhost', 'root', '', 'books');

S dng procedural syntax


if (mysqli_connect_errno())
{ echo 'Error: Could not connect to database. Please try again later.'; exit; }

@ $db = mysqli_connect('localhost', root', '', 'books');

Truy vn database
43

$query = "select * from books where ".$searchtype." like $searchterm . "%'"; $result = $db->query($query);

'% .

Or $result = mysqli_query($db, $query);

Th hin kt qu
44

$num_results = $result->num_rows; echo "<p>Number of books found: ".$num_results."</p>"; for ($i=0; $i <$num_results; $i++) { $row = $result->fetch_assoc(); echo "<p><strong>".($i+1).". Title: "; echo stripslashes($row['title']); echo "</strong><br />Author: "; echo stripslashes($row['author']); echo "<br />ISBN: ";

echo stripslashes($row['isbn']);
echo "<br />Price: "; echo stripslashes($row['price']); echo "</p>";

Th hin kt qu
45

ng kt ni
46

$result->free();

or

mysqli_free_result($result);

$db->close();

or

mysqli_close($db);

Case Study: Books Order


47

Querying a Database from the Web Putting New Information in the Database
Demo

Using Prepared Statements

Using Prepared Statements


48

$query = "insert into books values(?, ?, ?, ?)"; $stmt = $db->prepare($query); $stmt->bind_param("sssd", $isbn, $author, $title, $price);

$stmt->execute();
echo $stmt->affected_rows.' book inserted into database.'; $stmt->close(); Nhanh hn trong vic thc hin truy vn nhiu ln trn cng 1 cu query Ngn chn SQL injection-style attacks

Q&A
49

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

Building Book Online


Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Ni dung
2

Gii thiu website Book Online Cc ni dung chnh:


Tng

quan cc chc nng T chc d liu (n gin) Kin trc ng dng Thnh phn Online Catalog (gii thiu SP)
Trang

ch Hin thi danh mc cc loi sch Hin th chi tit mt cun sch

Tng quan cc chc nng


3

H thng bao gm 2 thnh phn View chnh:


User

View Administrator View

User View
4

User View
5

Thnh phn gii thiu Sch


An

online catalog of products, listed by category

Thnh phn Shopping Cart


A shopping

cart to track the items a user wants to buy A checkout script that processes payment and shipping detail

Administrator View
6

Ni dung
7

Gii thiu website Book Online Cc ni dung chnh:


Tng

quan cc chc nng T chc d liu (n gin) Kin trc ng dng Thnh phn Online Catalog (gii thiu SP)
Trang

ch Hin thi danh mc cc loi sch Hin th chi tit mt cun sch

T chc d liu
8

To database book_sc
Mt

s bng d liu n gin Lu storage engine to InnoDB


Use

foreign key Use transaction

Implementing the Database


9

Ni dung
10

Gii thiu website Book Online Cc ni dung chnh:


Tng

quan cc chc nng T chc d liu (n gin) Kin trc ng dng Thnh phn Online Catalog (gii thiu SP)
Trang

ch Hin thi danh mc cc loi sch Hin th chi tit mt cun sch

Kin trc ca ng dng


11

M hnh 3 lp Khi nim 3 layers, 3 tiers M hnh MVC

M hnh 3 lp
Ngi Dng

H Thng Giao Din

Ngi Dng

M Hnh 3 Lp

H Thng X L H Thng D Liu Phn Cng

Phn Mm

Phn Cng

ng dng Book Online


13

Ni dung
14

Gii thiu website Book Online Cc ni dung chnh:


Tng

quan cc chc nng T chc d liu (n gin) Kin trc ng dng Thnh phn Online Catalog (gii thiu SP)
Trang

ch Hin thi danh mc cc loi sch Hin th chi tit mt cun sch

Thnh phn Online Catalog


15

Bao gm 3 trang chnh:


Main

Page Category Page Book Details

Main Page - Index


16

Show

cc thng tin c bn ca Site Hin th danh mc sch

Implement
17

Thnh phn function


bookModel.php bookBusiness.php bookPresentation.php

Thnh phn index.php, library.php

bookModel
18

bookBusiness
19

bookPresentation
20

Library.php
21

Index.php
22

Category Page
23

Show danh sch cc Sch thuc v 1 loi Danh mc

Implement
24

Thnh phn show_cat.php Thnh phn bookPresentation.php


Thm

function display_categories

Show_cat.php
25

Book Details
26

Show thng tin chi tit ca mt cun sch

Implement
27

Thnh phn show_book.php Thnh phn bookPresenation.php


Thm

function display_book_details

Show_book.php
28

Bi tp v nh
29

Xy dng thnh phn Online Catalog cho n mn hc ca nhm T xy dng v b sung thm chc nng tm kim cho n T xy dng v b sung thm chc nng phn quyn ngi dng

Q&A
30

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM ------

Building Book Online P2


Mn hc: Pht trin ng dng Web vi HTML, CSS, Javascript + PHP

Ni dung
2

Cookie Session
Gii

thiu Session Login/Logout vi Session Shopping Cart vi Session

Cookie V d 1

$_COOKIE[fieldName]

cookie
Lu username & password

setcookie
Client Webserver

Cookie Gii thiu


cookie
$_COOKIE

setcookie
Client Webserver

L 1 tp tin c server lu xung my ca client Mi ln client gi request 1 trang web, ng thi s gi km file cookie lu ln trc ln server

Cc iu khin x l thng tin (lu, ly) do server thc hin


Thng c s dng lu thng tin c nhn ca client

Cookie C php s dng

Lnh ghi cookie setcookie (name, value, expire, path, domain); setrawcookie (name, value, expire, path, domain); name : Tn cookie value : Gi tr cookie expire : Ngy/khong thi gian ht hn ht hn ca cookie. path : The path on the server in which the cookie will be available on. domain : The domain that the cookie is available. secure : 0 hoc 1 Ly gi tr cookie: $_COOKIE["cookieName"] Xa cookie: setcookie("cookieName", "", time() -3600)

Cookie C php s dng

path: quy nh phm vi chp nhn cookies ca website.


/ : cookie s c chp nhn ti tt c cc trang ca website /dir_1/dir_2//dir_n/ : cookie s c chp nhn ti cc trang trong th mc dir_n v trong cc th mc con ca n. Mc nh path = th mc ca tp tin c lnh gn gi tr cookies.

Cookie C php s dng

Gn mt mng trong cookie:


<?php // Gn gi tr cookie setcookie("cookie[three]", "cookiethree"); setcookie("cookie[two]", "cookietwo"); setcookie("cookie[one]", "cookieone"); // c gi tr trong cookie if (isset($_COOKIE['cookie'])) { foreach ($_COOKIE['cookie'] as $name => $value) { echo "$name : $value <br />\n"; } } ?>

Cookie ng dng

T ng nh password T ng ng nhp Lu trng thi ca ngi dng (gi hng, )

Ni dung
9

Cookie Session
Gii

thiu Session Login/Logout vi Session Shopping Cart vi Session

Session
$_SESSION[sessionVar]

Cookie: PHPSESSID

session_start
Client Webserver

L thng tin v client c server lu trn my ca server S dng session lu nh danh duy nht cho tng client

Mc ch lu bin d liu dng chung cho nhiu trang trong 1 phin lm vic ca client

Session C php s dng

Khi ng Session
session_start();

Bt buc phi xut hin trc th <html>

Ghi & c gi tr Session


$_SESSION["sessionVar"] = value $_SESSION["sessionVar"][ ] = array() if (isset($_SESSION["sessionVar"]) echo $_SESSION["sessionVar"];

Hy Bin trong Session


unset($_SESSION["sessionVar"]);

Hy c Session
session_destroy();

Session Cu hnh

Cu hnh trong php.ini


ini_set('parameterName', 'value');

Gi trc hm session_start();
Default
0 0 Khng t ng Thi gian tn ti cho cookie (mc nh l n khi ng browser) Tn session (m s c dng t tn cho cookie)

parameterName
session.auto_start session.cookie_lifetime

session.name

PHPSESSID

Session - ng dng cho Login

Lm th no ngn khng cho ngi dng truy cp vo cc trang web nu cha ng nhp? tng

Dng cc bin Session lu trng thi ng nhp ca ngi dng: $_SESSION["IsLogin"] = true/false : Lu trng thi ng nhp $_SESSION["Username"]: Lu Tn ng nhp $_SESSION["Authentication"]: Lu Loi quyn ng nhp

Session - ng dng cho Login


1.To trang login.php yu cu ngi dng ng nhp.

Kt ni vi CSDL, kim tra thng tin ng nhp c hp l hay khng ? Nu khng hp l th cho redirect v trang login.htm. Nu hp l th dng mt bin trong Session lu trng thi login thnh cng V d: $_SESSION["IsLogin"] = true.

2.To trang logout.php l trang x l khi ngi dng logout

Reset trng thi login l cha ng nhp ($_SESSION["IsLogin"] = false).

Session - ng dng cho Login


3. Trong tt c cc trang mun bo mt, thm on m sau kim tra ngi dng ng nhp hay cha, nu cha th redirect li trang login.htm.
<?php session_start(); if ($_SESSION["IsLogin"] == false) header("Location: login.php"); ?>

An administration interface
16

Login page login.php

Login.php
17

Hm kim tra Login


18

Hash password
19

Secure Hash Algorithm SHA Message-Digest algorithm 5 MD5

Phn bit encrypt, decrypt, one-way hashing


V d hash value: 0cc175b9c0f1b6a831c399e269772661

Logout.php
20

Thay i trang index.php Logout.php

Implementing Shopping Cart


21

Implement
22

Thay i trang index.php Thay i show_cat.php Thay i Thnh phn show_cart.php

Index.php
23

show_cat.php
24

show_book.php
25

show_cart.php
26

show_cart.php
27

Q&A
28

You might also like