You are on page 1of 53

C ch lp trnh WEB

Web

tnh:
http://localhost

Client
(IE,
Netscape,..)

http://www.vnn.vn

Web server
Trang HTML

C ch lp trnh Web
Web

ng
http://localhost

Client
(IE,
Netscape,..)

http://www.vnn.vn

PHP, ASP,JSP,..
Web server

HTML

PHP, ASP,JSP,...
bin dch

SQL Server, My
SQL,..

Database

C ch lp trnh Web
Server

Side
S dng cc NNLT lp trnh WEB
pha Server, ngha l trang web s c
bin dch v x l t pha Server ri mi
gi v trnh duyt
PHP, ASP, JSP,. NET l cc NNLT
Server side
Kt ni CSDL trn Server
Tnh ton trn d liu
Tm kim

C ch lp trnh Web
Client

side
S dng cc NNTL x l pha Client
ri mi gi yu cu n Server
JavaScript l NNLT ph bin
Kim tra d liu trn form
To hiu ng trn hnh nh
...

Web server
L

phn mm m nhim vai tr Server


cung cp dch v WEB
H tr cc cng ngh khc nhau
IIS (Internet Information Service): H tr
ASP, m rng h tr PHP
Apache: H tr PHP
Tomcat: H tr JSP (Java Servlet Page)

Web Server
Client
-IE
-Netscape
-..

www.vnn.vn
DNS

IP: 203.162.0.12

Web Server
C:\inetpub\www

Database

Web Server
Client
-IE
-Netscape

-IIS
-Apache
PHP

-Mozila,...
MySQL Database

Trang PHP l 1 trang HTML c nhng m PHP


minh ho cho iu ny, ta hy xem qua mt s v d sau:
V d 1: lu file sau ln a vi tn vd1.php v chy th:
<html>
<head><title>Testing page</title>
</head>
<body>
<?php echo "Hello, world!"; ?>
</body>
</html>

<html>
<head><title>Testing
page</title>
</head>
<body>
Hello, World!
</body>
</html>

Ting Vit trong WEB


S dng Unikey chn b g UTF-8

<?php echo "<html><head><title>Testing


page</title></head><body>Hello, world!
</body></html>"; ?>
Bn cng nhn c 1 trang HTML c source
l:
<html>
<head><title>Testing page</title>
</head>
<body>Hello, World!
</body>
</html

Nh vy c th nhn xt rng 1 trang PHP cng


chnh l 1 trang HTML c nhng m PHP bn
trong v c phn m rng l .php.
Phn m PHP c t trong th m <?php v th
ng ?>.
Khi trnh duyt truy cp vo 1 trang PHP, server
s c ni dung file PHP ln, lc ra cc on m
PHP, thc thi cc on m , ly kt qu xut ra
ca cc on m PHP thay th vo ch ban u
ca chng trong file PHP, cui cng server tr v
kt qu cui cng l 1 trang ni dung HTML v
cho trnh duyt.

Lnh echo dng xut 1 chui vn bn v


trnh duyt
cc v d bn trn, ta dng 1 lnh ca PHP
l lnh echo. Lnh ny dng xut 1 chui vn
bn v cho trnh duyt.
V d cu lnh echo "Hello, world!"; trnh duyt
s nhn c chi vn bn Hello, world!.
Cu lnh echo 1+2; s tr v cho trnh duyt
chi vn bn 3.
V cu lnh echo 1+2, "Hello, world!"; s tr
v trnh duyt chi 3Hello, world!.

Phn cch cc lnh bng du chm phy (;)


Tng t nh cc ngn ng lp trnh C hoc Pascal,
1 cu lnh ca PHP c kt thc bng du chm
phy (;). V d:
echo 1+2;
echo "Hello, world!";
Ch thch trong chng trnh
Ch thch 1 dng c bt u bng // hoc #, v
nhng g c ghi t v sau l ch thch. Ch
thch nhiu dng c bt u bng /* v kt thc
bng */, nhng g gia l ch thch.

TRUYN TT QUA CC TRANG


S

dng FORM
S dng SESSION
S dng URL

Method =POST

<form action=URL method =POST>


<input name =n1>
<input name =n1>
..
</form>
$v1= $_POST[n1]
$v2= $_POST[n2]

Ch truyn c thng tin qua FORM.

Method=GET

<form action=URL method =GET>


<input name =n1>
<input name =n1>
..
..x.php?n1=Nam&n2=TPVinh
</form>
$v1= $_GET[n1]
$v2= $_GET[n2]

TT c truyn trn URL


http://www.duylinhmobile.com/index.php?dl=detail&c=1&i=147

SESION
Khi ng:
<?php
session_start();
?>
t u tin ca trang PHP
Gn gi tr:khi u.
if (!isset($_SESSION[n1])
{ $SESSION[n1]=gi tr;}
Gn gi tr cho bin SESSION tn ti
$SESSION[n1]=gi tr;

Truyn TT qua URL?


http://www.duylinhmobile.com/index.php?dl=detail&c=1&i=147
ng dng phng php GET a thng tin ln URL
<a href =x.php? Id=1&name=Nokia > Chi tiet </a>
x.php?id=1 & name=Nokia

Ly thng tin t URL?


$id=$_GET[id]
$name=$_GET[name]

ng dng ca PP truyn TT trn URL


Trong mt s trng hp khng th s dng
FORM truyn thn tin
Nhng cng khng hiu qu nu dng
SESSION
V d:
Xem chi tit ca mt sn phm bng cch nhy
chut vo hnh nh
Xem chi tit thng tin ca mt ngi bng cch
nhy chut vo tn

V d
$id=01;
$name =Nokia;

Echo <a href=\xem.php\?id=$id&n=$name> Chi tiet </a>

Chi tiet
xem.php?id=01&n=Nokia

T chc cc tp tin trong mt Web site


baitap
includes
images
HTML index.php
PHP

left.php
right.php
top.php

Cc tp th vin
functions.php
connect.php
consts.php
logo.jpg
nokia.jpg

Chn tp tin

PHP cho php chn cc tp tin c vo mt v tr no


trong tp tin hin ti
Include path/filename;
hoc
require path/filename;
Index.php trong th mc baitap
<?php
include ./includes/functions.php;
include ./includes/connect.php;
include ./includes/consts.php;

PHP v MySQL
Khng

c MySQL th PHP khng th ph


bin nh hin nay??
MySQL l h qun tr CSDL min ph rt
ph hp vi cc ng dng trn Internet
Hu ht cc HOST u h tr MySQL v
PHP
PHP cha cc hm h tr lm vic vi
CSDL MySQL
http://www.mysql.net
http://www.php.net

Web Server
Client
-IE
-Netscape

-IIS
-Apache
PHP

-Mozila,...
MySQL Database

My SQL
L

h qun tr CDSL min ph


mnh qun l d liu
Khng c giao din ho
Cn s dng Cng c lm giao din hoc
dng cng c PHP admin
To lp CSDL
To cc bng
Phn quyn s dng (account): Sau khi ci t
thng thng: root l ti khon qun tr v mt
khu trng

CSDL quan h
Quan h R vi cc thuc tnh a1,a2,..an c th hin
l
R(a1,a2,an)
Trong a1,a2,an l cc thuc tnh ca R
V d: Quan h sinhvien
sinhvien(masv,tensv,ns,qq,magv)
Quan h monhoc
monhoc(mamon,tenmon,dvht,mgv)
Mi thuc tnh ai s c min gi tr (DOM(ai)): l tp
hp nhng gi tr m ai c th cha

CSDL quan h

Cc thuc tnh ca R c gi l Trng (field)


Min gi tr DOM(ai) ca mt thuc tnh ai gi l kiu
d liu cho trng ai
Mt quan h c th c rt nhiu phn t. Mi phn t
trong quan h R l mt b r=(va1, va2,,van)
Trong va1, va2,..van l cc gi tr c th tho mn
va1 DOM(a1), va2 DOM(a2),
Vd: Xt quan h sinhvien

r=(43B01,Tran Van An,10/02/1980,Tp Vinh,IT01)

hoc
r=(CS03,Lp trnh PHP,4,IT03)

V d quan h giaovien
Magv

Tengv

CV

IT01

L Ngoc Xun

PCN khoa

IT02

Phm Quang Trnh

PCN Khoa

IT03

Nguyn Quang Ninh

GV

IT04

ng Hng Lnh

GV

IT05

Trn Xun Ho

GV

Tp hp cc phn t ca quan h SINHVIEN


masv

tensv

ns

qq

magv

43B01 Trn Vn An

10/11/1980

Tp Vinh

IT01

43B02 Nguyn Vn Hng

02/04/1981

H Tnh

IT03

42B02 Hong Vn Nam

03/04/1980

Thanh Ho

IT01

43B01 Nguyn Nam Anh

03/05/1982

Tp Vinh

IT05

Bn ghi: Record: L mt phn t ca quan h R hay cn gi l


mt hng
Kho chnh: Primary Key ca R(a1,a2,..an) l mt hoc mt
s trng sao cho gi tr ca kho chnh s xc nh tnh duy
nht ca mt phn t

Mi quan h gia cc quan h

Th hin mi quan h thc s gia cc phn t ca


hai quan h no
V d: Mt sinh vin do mt gio vin hng dn
Mt gio vin c th hng dn nhiu sinh vin
-Mt mn do nhiu gio vin ging dy
-Mt gio vin c th ging dy nhiu mn
Kho ngoi lai: (Foreign key): L trng kt ni hai
quan h
Vi d: Trong quan h sinhvien chng ta c trng
magv

Th hin mi quan h
Sienvien
masv

tensv

giaovien
qq

magv

43B01 Trn Vn An

Tp Vinh

IT01

Magv

Tengv

CV

43B02 Nguyn Vn Hng

H Tnh

IT03

IT01

L Ngoc Xun

PCN khoa

42B02 Hong Vn Nam

Thanh Ho

IT01

IT02

Phm Quang
Trnh

PCN Khoa

43B01 Nguyn Nam Anh

Tp Vinh

IT05

IT03

Nguyn Quang
Ninh

GV

IT04

ng Hng Lnh

GV

IT05

Trn Xun Ho

GV

C s d liu

L mt tp hp cc quan h c mi quan h vi
nhau
C nhiu phn mm chuyn h tr to v qun l d
liu:
SQL Server, MySQL, Oracle,..
Ngn ng x l trn CSDL in hnh l: SQL

PHP vi MySQL

Kt ni n MySSQL
mysql_connect(sv,username,pass) cho kt qu l
mt bin kiu resource. L mt con tr kt ni n
MySQL hoc tr v mt li kt ni
Vd: $link =mysql_connect(localhost,root,)
or die(Khng kt noi c.mysql_error());

ng kt ni: mysql_close(conn);
Vd: mysql_close($link);

Chn CSDL c:
mysql_select_db(db,conn) trong db l tn CSDL,
conn l bin kt ni
Vd: mysql_select_db(sinhvien,$link) ;

PHP vi MySQL
Thc

hin cu lnh SQL

mysql_query(sql) trong sql l cu lnh SQL


cn thc hin. Kt qu tr v tu thuc vo cu
lnh SQL
Vd 1: sql =SELECT * from SINHVIEN;
$rs= mysql_query(sql);
$rs l tp cc bn ghi ca bng sinhvien
Vd2: sql= CREATE DATABASE shop;
Mysql_query(sql) or die (Loi.mysql_error());
Mt CSDL c to ra hoc thong bo li

$rows = mysql_num_rows($rs); cho kt qu l s dng c


tr v trong $rs
$r = mysql_fetch_row($rs); cho kt qu l mt bn ghi hin ti
ca $rs

$rs= mysql_query(SELECT * FROM PRODUCT,$link);


while ($r = mysql_fetch_row($rs))
{print "<tr>";
print "\t<td><font face=arial size=1/> $r[0] </font></td>";
print "\t<td><font face=arial size=1/>
<a href =\"index.php\"?p=$r[0] > $r[1] </a></font></td>";
print "\t<td width =\"30%\"><font face=arial size=1/> $r[1]
</font></td>";
print "\t<td width =\"60%\"><font face=arial size=1/> $r[2]
</font></td>";
print "\t<td width =\"60%\"><font face=arial size=1/> $r[3]
</font></td>";

Cu lnh SQL
SELECT

field1, field2,.. FROM table


WHERE Condition
Vd: SELECT * FROM PRODUCT
Chn tt c cc bn ghi trong bng
PRODUCT
Vd2: SELECT id, name, des, pic
FROM PRODUCT WHERE id=mo01

Cu lnh SQL

INSERT INTO table VALUE(v1,v2,,vn)


Vd01:

INSERT INTO PRODUCT VALUE ($id,$name,$des,$pic)

Vd2:
INSERT INTO PRODUCT VALUE (3,Nokia,Dien
Thoai,nokia.jpg)

Cu lnh SQL

UPDATE table SET field1=v1, field2=v2, WHERE


Condition

Vd01:
UPDATE PRODUCT SET PIC =$pic WHERE id=$id
Vd02:
UPDATE PRODUCT SET PIC =samsung.jpg
WHERE id=mo01

Cu lnh SQL

DELETE FROM table WHERE Condition

Vd01: DELETE FROM PRODUCT WHERE id=$id

Cu lnh SQL
To

CDSL
CREATE DATABASE SHOP
To bng CATE
CREATE TABLE CATE(cateid varchar(5)
not null, catename varchar(60))
To

bn PRODUCT
CREATE TABLE PRODUCT(id int not null,
name varchar(80), des varchar(100), pic
varchar (50),cateid varchar(5), PRIMARY
KEY (id))

Cu lnh SQL
Xoa CSDL da co:
DROP DATABASE name
Vd: DROP DATABASE shop
Xoa bang
DROP TABLE name
Vd: DROP TABLE cate

Bi tp:
T

mt bi tp c tn l SHOP
Trong c cha:
shop\images
shop\includes

Th

mc SHOP cha cc trang PHP


v HTML chnh
Th mc Shop\Include th cha cc
th vin kt ni, hm, nh ngha
hng
Th mc Shop\Image cha cc tp
tin nh

include "./includes/connect.php";
mysql_query("DROP DATABASE shop") or die
("Khong xoa duoc CSDL".mysql_error());
mysql_query("CREATE DATABASE shop",$link)
or die ("loi tao CSDL".mysql_error());
mysql_select_db("shop");
mysql_query("create table Cate(cateid varchar(5)
not null,catename varchar(60), PRIMARY Key
(cateid))") or die ("Khong tao duoc
bang".mysql_error());
mysql_query("Create table Product(id int not null,
name varchar(50), des varchar(100),pic
varchar(50), price int, PRIMARY KEY(id))") or die
("khong tao duoc bang".mysql_error());
?>

Hm

mysql_num_rows($rs) cho kt
qu l s bn ghi
Hm mysql_result($rs,i,fieldname)
cho k qu l gi tr ca trng
fieldname ti bn ghi th i
Vi i bt u =0

Trang Admin

Yu cu ca mt h thng ng dng
WEB
+ C th pht trin theo hng:
Module cp nht xy dng trn cc
NNLT khc nhau c lm vic vi
CSDL: Visual Basic, Visual C, ...
+ Cp nht bng Web
Phn quyn s dng

Phn quyn?
Cn

c bng qun l ngi s dng


trong CSDL
uername
admin
edit

quyen
f
e

pass
12345
123r

Truy cp trang Admin


Tn ng nhp

mt khu
Truyn username v mt khu qua cc trang bng nhiu c
ch khc nhau
- bng d liu n
- Bng session

VD: Trang x l Login


$u= $_POST[u ];
$p =$_POST[p ];
$_SESION[u ]=$u;
$_SESION[p ]=$p
Hoc s dng Form u v Pass qua cc trang
<input type =Hidden name =u value = <?
PHP echo $u ?> >
<input type =Hidden name =p value = <?
PHP echo $p ?> >

Thc hnh: To trang Login


-

M tp tin Install.php
- ng nhng lnh khng cn thit
- To thm mt bng users c cc trng:

u Varchar (20)
p Varchar (20)
quyen int
To trang nhp ngi dng cho bng ny
To trang Login

You might also like