Ngày tải lên :
23/01/2013, 15:02
... PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
27
27
27
27
Dormitory
204.B5
18:20
PM
April
7,
2006
1.
1.
1.
1.
M
M
M
M
ộ
ộ
ộ
ộ
t
t
t
t
th
th
th
th
í
í
í
í
d
d
d
d
ụ
ụ
ụ
ụ
m
m
m
m
ẫ
ẫ
ẫ
ẫ
u
u
u
u
v
v
v
v
ề
ề
ề
ề
đườ
đườ
đườ
đườ
ng
ng
ng
ng
l
l
l
l
ố
ố
ố
ố
i
i
i
i
5.
5.
5.
5.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
xem
xem
xem
xem
x
x
x
x
é
é
é
é
t
t
t
t
l
l
l
l
ạ
ạ
ạ
ạ
i
i
i
i
m
m
m
m
ã
ã
ã
ã
4.
4.
4.
4.
V
V
V
V
á
á
á
á
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
khi
khi
khi
khi
thi
thi
thi
thi
ế
ế
ế
ế
t
t
t
t
k
k
k
k
ế
ế
ế
ế
3.
3.
3.
3.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
quan
quan
quan
quan
t
t
t
t
â
â
â
â
m
m
m
m
đế
đế
đế
đế
n
n
n
n
ng
ng
ng
ng
ườ
ườ
ườ
ườ
i
i
i
i
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
khi
khi
khi
khi
thi
thi
thi
thi
ế
ế
ế
ế
t
t
t
t
k
k
k
k
ế
ế
ế
ế
2.
2.
2.
2.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
theo
theo
theo
theo
s
s
s
s
á
á
á
á
t
t
t
t
k
k
k
k
ế
ế
ế
ế
ho
ho
ho
ho
ạ
ạ
ạ
ạ
ch
ch
ch
ch
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
đồ
đồ
đồ
đồ
á
á
á
á
n
n
n
n
1.
1.
1.
1.
Ph
Ph
Ph
Ph
í
í
í
í
th
th
th
th
ờ
ờ
ờ
ờ
i
i
i
i
gian
gian
gian
gian
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
20
20
20
20
Dormitory
204.B5
18:20
PM
April
7,
2006
T
ạ
o
m
ộ
t
API
T
ạ
o
m
ộ
t
tr
ì
nh
t
ự
t
ê
n
Nh
ó
m
c
á
c
h
à
m
li
ê
n
quan
v
à
o
m
ộ
t
t
ậ
p
tin
1.1.
1.1.
1.1.
1.1.
T
T
T
T
ạ
ạ
ạ
ạ
o
o
o
o
m
m
m
m
ộ
ộ
ộ
ộ
t
t
t
t
API
API
API
API
Á
p
d
ụ
ng
3
l
ớ
p
cho
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n:
Th
ứ
nh
ấ
t,
c
á
c
h
à
m
th
ự
c
s
ự
th
ự
c
hi
ệ
n
c
ô
ng
vi
ệ
c
c
ủ
a
b
ạ
n
Th
ứ
hai,
m
ộ
t
h
à
m
API.
Đâ
y
l
à
h
à
m
gi
ú
p
b
ạ
n
x
â
y
d
ự
ng
c
á
c
ch
ươ
ng
tr
ì
nh
đặ
c
th
ù
Ch
ươ
ng
tr
ì
nh
MortgageRate.php
<?php
//
The
internal
functions
are
layer
1
//
Internal
function
to
calculate
the
correct
//
interest
rate
to
be
used
given
the
amount
per
month
//
and
the
time
it
is
to
be
paid
in
function
_mort_find_interest_rate
(
$total
)
{
if
(
$total
<
30000
)
return
(
7.4
);
elseif
(
$total
>
30000
)
return
(
3.2
);
elseif
(
$total
>
50 000
)
return
(
2 .5
);
else
return
(
1.7
);
}
//
The
API
is
layer
2
//
double
calculate_mortgage_rate
(int
money,
int
time,
int
month
)
//
Calculate
the
mortgage
rate
given
the
//
the
total
money,
time
its
paid
over
and
//
the
intervals
function
calculate_mortgage_rate
(
$money
,
$time
,
$month
)
{
$rate
=
_mort_find_interest_rate
(
$money
)
/
100
;
$money
/=
(
$time
/
$month
);
return
(
$rate
*
$money
)
+
$money
;
}
?>
CalcMortgage.php
<?php
//
The
actual
application
is
layer
3
//
$money,
$time
and
$period
are
submitted
//
from
a
form
include_once
'MortgageRate.php'
;
$price
=
calculate_mortgage_rate
(
$money
,
$time
,
$period
);
print
"Your
$period
month
cost
is
$price"
;
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
26
26
26
26
Dormitory
204.B5
18:20
PM
April
7,
2006
PH
Ầ
N
3:
7
L
Ỗ
I
CH
Ế
T
NG
ƯỜ
I
7.
7.
7.
7.
Ch
Ch
Ch
Ch
é
é
é
é
p
p
p
p
v
v
v
v
à
à
à
à
d
d
d
d
á
á
á
á
n:
n:
n:
n:
kh
kh
kh
kh
ô
ô
ô
ô
ng
ng
ng
ng
ph
ph
ph
ph
ả
ả
ả
ả
i
i
i
i
h
h
h
h
ướ
ướ
ướ
ướ
ng
ng
ng
ng
đ
đ
đ
đ
i
i
i
i
t
t
t
t
ố
ố
ố
ố
t
t
t
t
T
ô
i
đã
g
ặ
p
nhi
ề
u
tay
l
ậ
p
tr
ì
nh
m
ớ
i
v
à
o
ngh
ề
đ
i
ch
é
p
nh
ữ
ng
đ
o
ạ
n
m
ã
(th
í
d
ụ
nh
ư
l
à
ki
ể
m
tra
đị
a
ch
ỉ
e-mail,
g
ử
i
e-mail,
l
ấ
y
gi
á
tr
ị
t
ừ
form
để
so
ạ
n
e-mail).
H
ọ
th
ườ
ng
d
á
n
ch
ú
ng
v
à
o
ch
ươ
ng
tr
ì
nh
c
ủ
a
m
ì
nh
v
à
r
ồ
i
k
ế
t
qu
ả
l
à
m
ộ
t
đố
ng
nh
ữ
ng
c
â
u
l
ệ
nh
g
ử
i
form
kh
ô
ng
an
to
à
n.
D
ù
r
ằ
ng
m
ộ
t
đ
o
ạ
n
m
ã
ch
ạ
y
đượ
c
trong
nh
ữ
ng
đ
i
ề
u
ki
ệ
n
t
ố
i
ư
u,
n
ó
th
ườ
ng
g
ặ
p
l
ỗ
i
trong
b
ấ
t
k
ì
s
ự
ki
ể
m
tra
"m
ã
t
ố
t"
n
à
o
C
ô
ng
vi
ệ
c
ch
ắ
p
v
á
s
ẽ
kh
kh
kh
kh
ô
ô
ô
ô
ng
ng
ng
ng
c
ó
c
á
c
ư
u
đ
i
ể
m
sau:
M
M
M
M
ở
ở
ở
ở
r
r
r
r
ộ
ộ
ộ
ộ
ng
ng
ng
ng
đượ
đượ
đượ
đượ
c:
c:
c:
c:
đ
o
ạ
n
m
ã
tr
ô
ng
nh
ư
c
á
c
m
ả
nh
ri
ê
ng
r
ẽ
r
á
p
v
á
v
à
o
nhau.
N
ế
u
nh
ờ
m
ộ
t
l
ậ
p
tr
ì
nh
vi
ê
n
c
ó
kinh
nghi
ệ
m
s
ử
a
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n,
h
ọ
th
ườ
ng
th
í
ch
vi
ế
t
l
ạ
i
to
à
n
b
ộ
Đ
o
ạ
n
m
ã
kh
ô
ng
đọ
c
đượ
c
s
ẽ
kh
ô
ng
m
ở
r
ộ
ng
đượ
c.
An
An
An
An
to
to
to
to
à
à
à
à
n:
n:
n:
n:
b
ạ
n
c
ó
th
ể
đ
ang
ch
é
p
m
ã
c
ủ
a
ng
ườ
i
kh
á
c
v
à
o
ch
ươ
ng
tr
ì
nh
c
ủ
a
m
ì
nh
m
à
l
ạ
i
kh
ô
ng
hi
ể
u
r
õ
r
à
ng
đ
o
ạ
n
m
ã
đó
.
H
ã
y
t
ưở
ng
t
ưở
ng
xem.
N
ế
u
đ
o
ạ
n
m
ã
đó
c
ó
m
ộ
t
l
ỗ
i
l
à
m
xo
á
to
à
n
b
ộ
đĩ
a
c
ủ
a
b
ạ
n
H
ơ
n
n
ữ
a,
c
ù
ng
m
ộ
t
đ
o
ạ
n
m
ã
th
ì
t
í
nh
an
to
à
n
kh
ô
ng
gi
ố
ng
nhau
tr
ê
n
c
á
c
h
ệ
th
ố
ng
kh
á
c
nhau.
Cu
ố
i
c
ù
ng,
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n
s
ẽ
k
ế
th
ừ
a
l
ỗ
i
c
ủ
a
ng
ườ
i
kh
á
c.
Nhanh:
Nhanh:
Nhanh:
Nhanh:
khi
c
ắ
t
d
á
n
c
á
c
đ
o
ạ
n
m
ã
,
k
ế
t
qu
ả
th
ườ
ng
s
ẽ
ch
ạ
y
kh
ô
ng
nhanh,
v
ì
ch
ú
ng
kh
ô
ng
c
ó
m
ộ
t
ti
ế
n
tr
ì
nh
chung
h
ợ
p
l
í
(
đâ
y
l
à
đ
i
ề
u
quan
tr
ọ
ng
nh
ấ
t
khi
vi
ế
t
c
á
c
ch
ươ
ng
tr
ì
nh
nhanh)
1.
1.
1.
1.
L
L
L
L
à
à
à
à
m
m
m
m
đú
đú
đú
đú
ng
ng
ng
ng
ph
ph
ph
ph
ươ
ươ
ươ
ươ
ng
ng
ng
ng
ph
ph
ph
ph
á
á
á
á
p:
p:
p:
p:
t
t
t
t
ì
ì
ì
ì
m
m
m
m
hi
hi
hi
hi
ể
ể
ể
ể
u
u
u
u
tr
tr
tr
tr
ướ
ướ
ướ
ướ
c,
c,
c,
c,
sao
sao
sao
sao
ch
ch
ch
ch
é
é
é
é
p
p
p
p
sau
sau
sau
sau
Nghi
ê
n
c
ứ
u
m
ã
c
ủ
a
ng
ườ
i
kh
á
c
k
ĩ
l
ưỡ
ng
tr
ướ
c
khi
sao
ch
é
p.
Ph
â
n
t
í
ch
xem
n
ó
l
à
m
g
ì
.
Ch
ỉ
khi
n
à
o
đ
o
ạ
n
m
ã
ấ
y
đọ
c
đượ
c
,
nh
ấ
t
qu
á
n
v
ớ
i
logic
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n,
v
à
kh
ô
ng
c
ó
l
ỗ
i,
th
ì
m
ớ
i
n
ê
n
sao
ch
é
p
n
ó
.
Ti
ế
n
h
à
nh
l
ú
c
n
à
y
s
ẽ
gi
ú
p
b
ạ
n
ch
ỉ
nh
s
ử
a
n
ó
ph
ù
h
ợ
p
v
ớ
i
c
á
c
ph
ầ
n
c
ò
n
l
ạ
i
c
ủ
a
ch
ươ
ng
tr
ì
nh
m
ộ
t
c
á
ch
tho
ả
i
m
á
i
h
ơ
n.
2.
2.
2.
2.
C
C
C
C
á
á
á
á
c
c
c
c
th
th
th
th
ư
ư
ư
ư
vi
vi
vi
vi
ệ
ệ
ệ
ệ
n
n
n
n
r
r
r
r
ấ
ấ
ấ
ấ
t
t
t
t
t
t
t
t
ố
ố
ố
ố
t
t
t
t
Ch
ỉ
d
ù
ng
c
á
c
th
ư
vi
ệ
n
PHP
t
ừ
c
á
c
ngu
ồ
n
tin
c
ậ
y
nh
ư
PEAR
ho
ặ
c
kho
c
á
c
l
ớ
p
c
ủ
a
PHP
(PHP
Classes
Repository).
V
ớ
i
c
á
c
g
ó
i
API
c
ó
s
ẵ
n,
vi
ệ
c
d
ù
ng
c
á
c
h
à
m
c
ủ
a
n
ó
c
ũ
ng
kh
ô
ng
th
à
nh
v
ấ
n
đề
.
Th
ự
c
ra,
n
ế
u
b
ạ
n
t
ì
m
đượ
c
m
ộ
t
th
ư
vi
ệ
n
vi
ế
t
s
ẵ
n
b
ở
i
m
ộ
t
ngu
ồ
n
tin
c
ậ
y,
th
ì
th
ườ
ng
n
ó
s
ẽ
l
à
m
ộ
t
l
ự
a
ch
ọ
n
t
ố
t
để
d
ù
ng
cho
ch
ươ
ng
tr
ì
nh
(thay
v
ì
t
ự
vi
ế
t
l
ấ
y).
6.
6.
6.
6.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
c
c
c
c
ó
ó
ó
ó
đườ
đườ
đườ
đườ
ng
ng
ng
ng
l
l
l
l
ố
ố
ố
ố
i
i
i
i
(
(
(
(
guidelines
)
)
)
)
cho
cho
cho
cho
đồ
đồ
đồ
đồ
á
á
á
á
n
n
n
n
M
ộ
t
l
ầ
n
khi
t
ô
i
m
ớ
i
b
ắ
t
đầ
u
l
ậ
p
tr
ì
nh,
t
ô
i
l
à
m
vi
ệ
c
tr
ê
n
m
ộ
t
đồ
á
n
kh
á
c
ơ
b
ả
n
(v
ớ
i
Perl)
c
ù
ng
3
l
ậ
p
t
ì
nh
vi
ê
n
kh
á
c.
V
ì
t
ô
i
c
ò
n
tr
ẻ
(v
à
kh
ô
ng
ph
ả
i
tr
ưở
ng
nh
ó
m),
ch
ú
ng
t
ô
i
kh
ô
ng
c
ó
đườ
ng
l
ố
i
vi
ế
t
m
ã
cho
đồ
á
n.
M
ỗ
i
ng
ườ
i
đượ
c
giao
m
ộ
t
ph
ầ
n
c
ô
ng
vi
ệ
c,
v
à
l
à
m
ri
ê
ng
r
ẽ
.
Khi
ch
ú
ng
t
ô
i
nh
ậ
p
chung
l
ạ
i
để
ch
ạ
y
ch
ươ
ng
tr
ì
nh
cu
ố
i
c
ù
ng,
m
ỗ
i
ph
ầ
n
c
ủ
a
đồ
á
n
nh
ì
n
kh
á
c
h
ẳ
n
nhau
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
18
18
18
18
Dormitory
204.B5
18:20
PM
April
7,
2006
Lu
ô
n
đả
m
b
ả
o
r
ằ
ng,
khi
b
ạ
n
l
à
m
vi
ệ
c
v
ớ
i
c
á
c
ti
ế
n
tr
ì
nh
ho
ặ
c
t
ậ
p
tin
ngo
à
i
PHP,
m
ọ
i
th
ứ
đề
u
v
ậ
n
h
à
nh
đú
ng.
M
ộ
t
th
í
d
ụ
tuy
ệ
t
v
ờ
i
l
à
vi
ệ
c
ki
ể
m
tra
đầ
u
ra
c
ủ
a
m
ộ
t
l
ờ
i
g
ọ
i
h
ệ
th
ố
ng
khi
d
ù
ng
h
à
m
sql_connect().
X
á
c
nh
ậ
n
đầ
u
ra
để
ki
ể
m
tra
li
ê
n
k
ế
t
đế
n
CSDL
l
à
đú
ng.
L
à
m
sai
đ
i
ề
u
n
à
y
c
ó
th
ể
d
ẫ
n
đế
n
c
á
c
truy
v
ấ
n
h
ỏ
ng
v
à
m
ấ
t
d
ữ
li
ệ
u
trong
khi
th
ậ
m
ch
í
b
ạ
n
kh
ô
ng
bi
ế
t.
$ketnoi
=
@
sql_connect
(
$host
,
$user
,
$pass
);
if
(!
$ketnoi
)
{
die
(
sprintf
(
"Error
[%d]:
%s"
,
sql_errno
(),
sql_error
()));
}
1.3.
1.3.
1.3.
1.3.
Đặ
Đặ
Đặ
Đặ
t
t
t
t
m
m
m
m
ứ
ứ
ứ
ứ
c
c
c
c
error_reporting
error_reporting
error_reporting
error_reporting
l
l
l
l
à
à
à
à
E_ALL
E_ALL
E_ALL
E_ALL
trong
trong
trong
trong
t
t
t
t
ậ
ậ
ậ
ậ
p
p
p
p
tin
tin
tin
tin
php.ini
php.ini
php.ini
php.ini
H
ã
y
đả
m
b
ả
o
b
ạ
n
c
ấ
u
h
ì
nh
v
ớ
i
m
ứ
c
độ
b
á
o
l
ỗ
i
cao
nh
ấ
t
c
ó
th
ể
.
N
ế
u
b
ạ
n
kh
ô
ng
đặ
t
n
ó
ở
m
ứ
c
cao
nh
ấ
t,
í
t
nh
ấ
t
l
à
trong
qu
á
tr
ì
nh
t
ì
m
l
ỗ
i
(debugging),
b
ạ
n
c
ó
th
ể
b
ỏ
qua
nh
ữ
ng
l
ỗ
i
nh
ư
l
à
bi
ể
u
th
ứ
c
ch
í
nh
quy
(regular
expressions)
kh
ô
ng
h
ợ
p
l
ệ
v
à
c
á
c
gi
á
tr
ị
kh
ô
n
g
ch
í
nh
x
á
c.
Xem
l
ạ
i
l
ầ
n
n
ữ
a
th
í
d
ụ
t
ô
i
đã
đư
a
trong
ph
ầ
n
Ki
ể
m
tra
k
ế
t
qu
ả
l
ờ
i
g
ọ
i
h
à
m,
ở
d
ướ
i
đâ
y.
Gi
ả
s
ử
b
ạ
n
đặ
t
error
reporting
ở
m
ứ
c
th
ấ
p,E_ERROR.
Ch
ú
ý
r
ằ
ng
k
ế
t
qu
ả
in
ra
khi
ch
ươ
ng
tr
ì
nh
thi
h
à
nh
h
à
m
do_math:
kh
ô
ng
c
ó
th
ô
ng
b
á
o
illegal
division
by
zero
đã
t
ừ
ng
hi
ệ
n
ra
l
ầ
n
tr
ướ
c,
ph
ầ
n
$i=$j=0
đơ
n
thu
ầ
n
kh
ô
ng
hi
ệ
n
k
ế
t
qu
ả
.
<?php
error_reporting
(
E_ERROR
);
mt_srand
((double)
microtime
()
*
1000000
);
function
do_math
(
$a
,
$b
)
{
return
((
$a
-
$b
)
*
2
)
/
mt_rand
();
}
for
(
$i
=
5
,
$j
=
-
5
;
$i
>
-
5
;
$i
,
$j
++)
{
print
$j
/
do_math
(
$i
,
$j
)
.
"\n"
;
}
?>
K
ế
t
qu
ả
hi
ệ
n
ra:
-51 48. 25
-52 71
-323. 75
-4931
-7713 .5
?
-4702 .5
-488 .5
-928 .5
-1394. 75
2.
2.
2.
2.
B
B
B
B
ộ
ộ
ộ
ộ
qu
qu
qu
qu
ả
ả
ả
ả
n
n
n
n
l
l
l
l
í
í
í
í
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
tu
tu
tu
tu
ỳ
ỳ
ỳ
ỳ
ch
ch
ch
ch
ỉ
ỉ
ỉ
ỉ
nh
nh
nh
nh
PHP
th
ườ
ng
hi
ể
n
th
ị
c
á
c
l
ỗ
i
th
ự
c
thi
(execution
errors)
ra
tr
ì
nh
duy
ệ
t,
ng
ă
n
b
ạ
n
xo
á
(suppress)
ho
ặ
c
b
ắ
t
(capture)
n
ó
.
Tuy
nhi
ê
n,
v
ớ
i
PHP4
b
ạ
n
đã
c
ó
th
ể
b
ắ
t
l
ỗ
i
b
ằ
ng
h
à
m
set_error_handler().
H
à
m
set_error_handler()
c
ó
th
ể
đượ
c
d
ù
ng
để
ghi
l
ạ
i
c
á
c
l
ỗ
i
x
ả
y
ra
v
ớ
i
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n.
Thay
v
ì
l
à
m
phi
ề
n
ng
ườ
i
d
ù
ng
v
ớ
i
c
á
c
th
ô
ng
b
á
o
l
ỗ
i,
b
ạ
n
c
ó
th
ể
ghi
l
ạ
i
cho
ri
ê
ng
b
ạ
n,
b
ằ
ng
c
á
ch
đặ
t
m
ộ
t
h
à
m
qu
ả
n
l
í
l
ỗ
i
tu
ỳ
ch
ỉ
nh
(a
custom
error
handling
functio
n).
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
16
16
16
16
Dormitory
204.B5
18:20
PM
April
7,
2006
M
ệ
nh
đề
WHERE
cho
ph
é
p
b
ạ
n
t
ì
m
ki
ế
m
ch
ọ
n
l
ọ
c
h
ơ
n.
Gi
ớ
i
h
ạ
n
ch
ọ
n
l
ọ
c
c
ủ
a
m
ệ
nh
đề
where
ch
í
nh
l
à
m
ộ
t
h
à
m
v
ớ
i
đố
i
s
ố
c
ủ
a
n
ó
.
Trong
th
í
d
ụ
tr
ê
n
đố
i
s
ố
l
à
"
MASV=&apos ;51 1203008'
".
B
â
y
gi
ờ
ch
ú
ng
ta
đã
ch
ọ
n
đượ
c
d
ữ
li
ệ
u
c
ầ
n
thi
ế
t,
b
ạ
n
ch
ỉ
vi
ệ
c
d
ù
ng
PHP
để
in
ra
sau
đó
:
if
(@
sql_num_rows
(
$truyvan
)
!=
1
)
{
die
(
"Khong
dung
so
mau
tin
nhan
duoc
tu
CSDL!"
);
}
$mautin
=
@
sql_fetch_array
(
$truyvan
);
print
"Ho
va
ten:
$mautin[HOTEN]\n<br>\n"
;
print
"MASV:
$mautin[MASV]\n<br>\n"
;
3.
3.
3.
3.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
PHP
PHP
PHP
PHP
s
s
s
s
ắ
ắ
ắ
ắ
p
p
p
p
x
x
x
x
ế
ế
ế
ế
p
p
p
p
k
k
k
k
ế
ế
ế
ế
t
t
t
t
qu
qu
qu
qu
ả
ả
ả
ả
Nhi
ề
u
ng
ườ
i
l
ấ
y
d
ữ
li
ệ
u
ở
t
ì
nh
tr
ạ
ng
kh
ô
ng
c
ó
th
ứ
t
ự
,
nh
ư
ng
r
ồ
i
đ
o
ạ
n
m
ã
PHP
ti
ế
p
theo
l
ạ
i
s
ắ
p
th
ứ
t
ự
ch
ú
ng.
N
ê
n
ch
ớ
r
ằ
ng
s
ắ
p
x
ế
p
b
ằ
ng
SQL
nhanh
h
ơ
n
PHP.
D
ù
ng
c
ú
ph
á
p
ORDER
BY
c
ủ
a
SQL
để
s
ắ
p
x
ế
p
thay
v
ì
h
à
m
ksort()
c
ủ
a
PHP.
Th
í
d
ụ
d
ướ
i
đâ
y
d
ù
ng
ksort()
để
s
ắ
p
x
ế
p
theo
t
ê
n:
$strsql
=
"SELECT
name,
email,
phone
FROM
some_table
"
;
$strsql
.=
"WHERE
name
IS
LIKE
'%baggins'"
;
$truyvan
=
@
sql_db_query
(
$strsql
,
"samp_db"
,
$ketnoi
);
if
(!
$truyvan
)
{
die
(
sprintf
(
"Error
[%d]:
%s"
,
sql_errno
(),
sql_error
()));
}
while
(
$mautin
=
@
sql_fetch_array
$truyvan
)){
$matches
[
$mautin
[
name
]]
=
array
(
$mautin
[
email
],
$mautin
[
phone
]);
}
ksort
(
$matches
);
Nh
ư
ng
t
ạ
i
sao
kh
ô
ng
s
ắ
p
x
ế
p
d
ữ
li
ệ
u
ngay
v
à
o
l
ú
c
n
ó
đượ
c
đị
nh
ngh
ĩ
a?
N
ó
gi
ú
p
ch
ú
ng
ta
đỡ
ph
ả
i
duy
ệ
t
qua
t
ậ
p
k
ế
t
qu
ả
l
ầ
n
th
ứ
hai.
Do
v
ậ
y,
b
ỏ
h
à
m
ksort()
ra
kh
ỏ
i
ch
ươ
ng
tr
ì
nh
tr
ê
n
v
à
thay
đ
o
ạ
n
m
ã
SQL
b
ằ
ng
đ
o
ạ
n
d
ướ
i
đâ
y,
c
ó
d
ù
ng
d
ù
ng
c
ú
ph
á
p
ORDER
BY:
$strsql
=
"SELECT
name,
email,
phone
FROM
some_table
"
;
$strsql
.=
"WHERE
name
IS
LIKE
'%baggins'
ORDER
BY
name"
;
12.
12.
12.
12.
Thi
Thi
Thi
Thi
ế
ế
ế
ế
u
u
u
u
s
s
s
s
ự
ự
ự
ự
ki
ki
ki
ki
ể
ể
ể
ể
m
m
m
m
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
T
ô
i
đã
th
ấ
y
nhi
ề
u
ch
ươ
ng
tr
ì
nh
thi
ế
u
m
ộ
t
l
ượ
ng
ki
ể
m
tra
l
ỗ
i
đầ
y
đủ
.
Nguy
ê
n
nh
â
n
ph
ầ
n
l
ớ
n
l
à
do
l
ậ
p
tr
ì
nh
vi
ê
n
kh
ô
ng
d
à
nh
th
ờ
i
gian
để
l
ê
n
m
ộ
t
k
ế
ho
ạ
ch
th
í
ch
h
ợ
p
cho
ch
ươ
ng
tr
ì
nh
c
ủ
a
m
ì
nh,
v
à
x
á
c
đị
nh
nh
ữ
ng
v
ị
tr
í
c
ó
th
ể
d
ẫ
n
đế
n
l
ỗ
i.
Ki
ể
m
tra
l
ỗ
i
kh
ô
ng
n
ê
n
th
ự
c
hi
ệ
n
sau
khi
vi
ế
t
ch
ươ
ng
tr
ì
nh.
S
ự
thi
ế
u
s
ó
t
trong
t
ầ
m
nh
ì
n
tr
ướ
c
c
ó
th
ể
d
ẫ
n
đế
n
nh
ữ
ng
l
ỗ
i
nghi
ê
m
tr
ọ
ng,
kh
ô
ng
nh
ữ
ng
g
â
y
ra
k
ế
t
qu
ả
sai
m
à
th
ậ
m
ch
í
c
ò
n
l
à
m
h
ỏ
ng
h
ệ
th
ố
ng
(even
cause
your
system
to
crash)!
1.
1.
1.
1.
Mong
Mong
Mong
Mong
đợ
đợ
đợ
đợ
i
i
i
i
đ
đ
đ
đ
i
i
i
i
ề
ề
ề
ề
u
u
u
u
t
t
t
t
ệ
ệ
ệ
ệ
nh
nh
nh
nh
ấ
ấ
ấ
ấ
t
t
t
t
M
ọ
i
ch
ươ
ng
tr
ì
nh
đề
u
c
ó
kh
ả
n
ă
ng
h
ư
h
ỏ
ng
trong
nh
ữ
ng
t
ì
nh
hu
ố
ng
sai
.
Để
gi
ả
m
thi
ể
u
nh
ữ
ng
r
ủ
i
ro
nh
ư
th
ế
,
b
ạ
n
c
ầ
n
l
ê
n
k
ế
ho
ạ
ch
để
:
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
8
8
8
8
Dormitory
204.B5
18:20
PM
April
7,
2006
Kh
ô
ng
s
á
ng
s
ủ
a
v
à
d
ễ
d
à
ng
b
ằ
ng
h
ệ
th
ố
ng
m
ẫ
u
(template
system)
C
ầ
n
m
ộ
t
í
t
ki
ế
n
th
ứ
c
PHP
để
s
ử
a
m
ẫ
u
2.
2.
2.
2.
H
H
H
H
ệ
ệ
ệ
ệ
th
th
th
th
ố
ố
ố
ố
ng
ng
ng
ng
khu
khu
khu
khu
ô
ô
ô
ô
n
n
n
n
m
m
m
m
ẫ
ẫ
ẫ
ẫ
u
u
u
u
M
ộ
t
c
á
ch
kh
á
c
để
t
á
ch
bi
ệ
t
kh
á
ch
ch
ủ
l
à
d
ù
ng
h
ệ
th
ố
ng
khu
ô
n
m
ẫ
u.
Ngh
ĩ
a
l
à
,
c
ó
m
ộ
t
s
ố
đá
nh
d
ấ
u
n
ộ
i
dung
sau
đó
d
ù
ng
ch
ươ
ng
tr
ì
nh
ph
â
n
t
í
ch,
thay
th
ế
c
á
c
đá
nh
d
ấ
u
đó
b
ằ
ng
th
ô
ng
tin
c
ầ
n
thi
ế
t.
Th
í
d
ụ
,
b
ạ
n
c
ó
th
ể
t
ạ
o
m
ộ
t
t
ậ
p
tin
nh
ư
th
ế
n
à
y:
Sau
đó
c
ó
th
ể
vi
ế
t
ch
ươ
ng
tr
ì
nh
ph
â
n
t
á
ch
t
ậ
p
tin,
thay
th
ế
c
á
c
th
ô
ng
tin
trong
d
ấ
u
c
á
ch
%%
b
ằ
ng
c
á
c
th
ô
ng
tin
th
í
ch
h
ợ
p.
Ghi
ch
ú
:
m
ộ
t
l
ớ
p
h
ỗ
tr
ợ
h
ệ
th
ố
ng
khu
ô
n
m
ẫ
u
kh
á
t
ố
t
l
à
l
ớ
p
FastTemplate,
c
ó
ở
www.thewebmasters.net
2.1.
2.1.
2.1.
2.1.
Ư
Ư
Ư
Ư
u
u
u
u
đ
đ
đ
đ
i
i
i
i
ể
ể
ể
ể
m
m
m
m
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
h
h
h
h
ệ
ệ
ệ
ệ
th
th
th
th
ố
ố
ố
ố
ng
ng
ng
ng
khu
khu
khu
khu
ô
ô
ô
ô
n
n
n
n
m
m
m
m
ẫ
ẫ
ẫ
ẫ
u
u
u
u
R
ấ
t
trong
s
á
ng
Kh
ô
ng
c
ầ
n
ki
ế
n
th
ứ
c
PHP
để
s
ử
a
khu
ô
n
m
ẫ
u
2.2.
2.2.
2.2.
2.2.
Nh
Nh
Nh
Nh
ượ
ượ
ượ
ượ
c
c
c
c
đ
đ
đ
đ
i
i
i
i
ể
ể
ể
ể
m
m
m
m
Ch
ậ
m
h
ơ
n,
b
ạ
n
c
ầ
n
ph
â
n
t
á
ch
t
ậ
p
tin
khu
ô
n
m
ẫ
u,
sau
đó
xu
ấ
t
ra
Vi
ệ
c
hi
ệ
n
th
ự
c
ph
ứ
c
t
ạ
p
h
ơ
n
15.
15.
15.
15.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
c
c
c
c
á
á
á
á
c
c
c
c
c
c
c
c
ấ
ấ
ấ
ấ
u
u
u
u
tr
tr
tr
tr
ú
ú
ú
ú
c
c
c
c
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
th
th
th
th
ờ
ờ
ờ
ờ
i
i
i
i
C
ó
nhi
ề
u
ng
ườ
i
c
ứ
d
ù
ng
m
ã
i
c
á
c
m
ã
v
à
th
ư
vi
ệ
n
l
ỗ
i
th
ờ
i.
Th
í
d
ụ
nh
ư
h
ọ
đã
vi
ế
t
m
ộ
t
h
à
m
d
ù
ng
ở
PHP
2,
v
à
v
ẫ
n
c
ò
n
d
ù
ng
n
ó
ở
PHP
4,
m
ặ
c
d
ù
m
ộ
t
h
à
m
c
ó
c
ù
ng
m
ụ
c
đí
ch
nh
ư
th
ế
đã
đượ
c
th
ê
m
v
à
o
ở
PHP
3
D
ù
ng
c
á
c
c
ấ
u
tr
ú
c
l
ỗ
i
th
ờ
i
c
ó
th
ể
l
à
m
ch
ậ
m
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n,
c
ũ
ng
nh
ư
l
à
m
cho
n
ó
tr
ở
n
ê
n
kh
ó
hi
ể
u.
Ng
ườ
i
đọ
c
c
á
c
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n
c
ó
th
ể
kh
ô
ng
quen
v
ớ
i
c
á
c
h
à
m
l
ỗ
i
th
ờ
i
c
ủ
a
PHP.
Tuy
nhi
ê
n,
khi
ph
á
t
hi
ệ
n
m
ộ
t
đ
o
ạ
n
m
ã
l
ạ
c
h
ậ
u,
b
ạ
n
đừ
ng
ngh
ĩ
r
ằ
ng
c
ầ
n
ph
ả
i
thay
th
ế
n
ó
.
Ch
ỉ
c
ầ
n
ch
ắ
c
ch
ắ
n
r
ằ
ng
b
ạ
n
s
ẽ
kh
ô
ng
d
ù
ng
n
ó
cho
c
á
c
ch
ươ
ng
tr
ì
nh
vi
ế
t
trong
t
ươ
ng
lai.
M
ộ
t
th
í
d
ụ
v
ề
c
ấ
u
tr
ú
c
l
ỗ
i
th
ờ
i,
m
à
nhi
ề
u
ng
ườ
i
c
ó
v
ẻ
c
ố
n
ắ
m
l
ấ
y,
l
à
c
ú
ph
á
p
beginControlStructure
beginControlStructure
beginControlStructure
beginControlStructure
... while
c
ầ
n
thi
ế
t
trong
tr
ườ
ng
h
ợ
p
n
à
y
v
ì
khi
đó
,
b
ộ
đế
m
c
ủ
a
CSDL
đã
t
ă
ng
l
ê
n
v
à
chuy
ể
n
sang
d
ò
ng
k
ế
ti
ế
p
.
Do
đó
,
b
ạ
n
ph
ả
i
x
ử
l
í
(l
ệ
nh
do
)d
ò
ng
đầ
u
ti
ê
n
v
ì
n
ó
đã
đượ
c
l
ấ
y.
C
á
c
l
ệ
nh
ti
ế
p
theo
l
ấ
y
c
á
c
d
ò
ng
k
ế
,
v
à
c
ứ
th
ế
.
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
9
9
9
9
Dormitory
204.B5
18:20
PM
April
7,
2006
Đâ
y
l
à
m
ộ
t
th
ó
i
quen
x
ấ
u
v
ì
N
ó
kh
ô
ng
đượ
c
d
ù
ng
r
ộ
ng
r
ã
i,
cho
n
ê
n
nhi
ề
u
ng
ườ
i
h
ọ
c
s
ẽ
b
ị
l
ẫ
n
l
ộ
n
gi
ữ
a
hai
c
ú
ph
á
p
N
ó
kh
ô
ng
t
ươ
ng
th
í
ch
v
ớ
i
ng
ô
n
ng
ữ
kh
á
c,
ngh
ĩ
a
l
à
n
ó
tr
ở
n
ê
n
kh
ó
đọ
c
đố
i
v
ớ
i
nh
ữ
ng
ng
ườ
i
trong
giai
đ
o
ạ
n
qu
á
độ
(m
ớ
i
chuy
ể
n
t
ừ
m
ộ
t
ng
ô
n
ng
ữ
n
à
o
đó
sang
PHP)
Quan
tr
ọ
ng
nh
ấ
t,
l
à
m
ộ
t
ng
à
y
n
à
o
đó
t
í
nh
n
ă
ng
n
à
y
s
ẽ
b
ị
xo
á
x
ổ
,
b
ắ
t
bu
ộ
c
b
ạ
n
ph
ả
i
vi
ế
t
l
ạ
i
to
à
n
b
ộ
m
ã
c
ó
d
ù
ng
n
ó
.
D
ấ
u
ngo
ặ
c
nh
ọ
n
lu
ô
n
lu
ô
n
l
à
m
ộ
t
ph
ầ
n
c
ủ
a
ng
ô
n
ng
ữ
PHP.
Ở
tr
ê
n
ch
ỉ
l
à
m
ộ
t
th
í
d
ụ
v
ề
c
ấ
u
tr
ú
c
l
ỗ
i
th
ờ
i.
N
ó
c
ò
n
nhi
ề
u
n
ữ
a.
Nh
ư
m
ộ
t
quy
t
ắ
c,
b
ạ
n
n
ê
n
theo
nh
ữ
ng
c
á
c
vi
ế
t
trong
t
à
i
li
ệ
u
PHP.
H
ầ
u
h
ế
t
n
ó
đượ
c
c
ậ
p
nh
ậ
t
m
ớ
i.
N
ó
c
ũ
ng
d
ù
ng
c
á
c
h
à
m
m
ớ
i
nh
ấ
t
c
ủ
a
PHP
trong
th
í
d
ụ
c
ủ
a
m
ì
nh.
N
ê
n
th
ườ
ng
xuy
ê
n
ki
ể
m
tra
t
à
i
li
ệ
u
khi
b
ạ
n
c
ó
ý
mu
ố
n
m
ở
r
ộ
ng
t
í
nh
n
ă
ng
n
à
o
đó
c
ủ
a
PHP.
Theo
c
á
ch
n
à
y,
b
ạ
n
s
ẽ
kh
ô
ng
ph
ả
i
vi
ế
t
l
ạ
i
c
á
c
h
à
m
c
ó
s
ẵ
n.
T
T
T
T
ổ
ổ
ổ
ổ
ng
ng
ng
ng
k
k
k
k
ế
ế
ế
ế
t
t
t
t
Trong
b
à
i
n
à
y
b
ạ
n
đã
đ
i
qua
7
tr
ê
n
t
ổ
ng
s
ố
21
l
ỗ
i
m
à
l
ậ
p
tr
ì
nh
vi
ê
n
PHP
m
ắ
c
ph
ả
i.
Nh
ữ
ng
l
ỗ
i
gi
á
o
khoa
n
à
y
bao
g
ồ
m:
S
S
S
S
ử
ử
ử
ử
d
d
d
d
ụ
ụ
ụ
ụ
ng
ng
ng
ng
sai
sai
sai
sai
h
h
h
h
à
à
à
à
m
m
m
m
printf()
printf()
printf()
printf()
Á
Á
Á
Á
p
p
p
p
d
d
d
d
ụ
ụ
ụ
ụ
ng
ng
ng
ng
sai
sai
sai
sai
ng
ng
ng
ng
ữ
ữ
ữ
ữ
ngh
ngh
ngh
ngh
ĩ
ĩ
ĩ
ĩ
a
a
a
a
Thi
Thi
Thi
Thi
ế
ế
ế
ế
u
u
u
u
t
t
t
t
à
à
à
à
i
i
i
i
li
li
li
li
ệ
ệ
ệ
ệ
u
u
u
u
trong
trong
trong
trong
m
m
m
m
ã
ã
ã
ã
ngu
ngu
ngu
ngu
ồ
ồ
ồ
ồ
n
n
n
n
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
qu
qu
qu
qu
á
á
á
á
nhi
nhi
nhi
nhi
ề
ề
ề
ề
u
u
u
u
bi
bi
bi
bi
ế
ế
ế
ế
n
n
n
n
t
t
t
t
ạ
ạ
ạ
ạ
m
m
m
m
Vi
Vi
Vi
Vi
ế
ế
ế
ế
t
t
t
t
l
l
l
l
ạ
ạ
ạ
ạ
i
i
i
i
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
c
c
c
c
ó
ó
ó
ó
s
s
s
s
ẵ
ẵ
ẵ
ẵ
n
n
n
n
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
t
t
t
t
á
á
á
á
ch
ch
ch
ch
bi
bi
bi
bi
ệ
ệ
ệ
ệ
t
t
t
t
ph
ph
ph
ph
ầ
ầ
ầ
ầ
n
n
n
n
kh
kh
kh
kh
á
á
á
á
ch/ch
ch/ch
ch/ch
ch/ch
ủ
ủ
ủ
ủ
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
c
c
c
c
á
á
á
á
c
c
c
c
c
c
c
c
ấ
ấ
ấ
ấ
u
u
u
u
tr
tr
tr
tr
ú
ú
ú
ú
c
c
c
c
l
l
l
l
ỗ
ỗ
ỗ
ỗ
i
i
i
i
th
th
th
th
ờ
ờ
ờ
ờ
i
i
i
i
//
Bad/Outdated
Practice
while
(
1
):
print
" ;5& quot;
;
if
(
$idx
++
==
5
):
break;
endif;
endwhile;
//
Better
Practice
//
(the
code
could
be
optimized
though)
while
(
1
)
{
print
" ;5& quot;
;
if
(
$idx
++
==
5
)
{
break;
}
}
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
24
24
24
24
Dormitory
204.B5
18:20
PM
April
7,
2006
th
ể
kh
ẳ
ng
đị
nh
kh
á
ch
ắ
c
ch
ắ
n
r
ằ
ng
kh
ô
ng
c
ó
m
ộ
t
ng
ườ
i
200
tu
ổ
i
n
à
o
c
ó
kh
ả
n
ă
ng
d
ù
ng
m
á
y
vi
t
í
nh.
Khi
ch
ấ
p
nh
ậ
n
th
ẻ
t
í
n
d
ụ
ng.
M
ộ
t
s
ố
l
ậ
p
tr
ì
nh
vi
ê
n
ch
ỉ
d
ù
ng
nh
ữ
ng
thu
ậ
t
to
á
n
đơ
n
gi
ả
n
m
à
c
ó
th
ể
d
ễ
d
à
ng
b
ị
đá
nh
l
ừ
a
khi
th
ự
c
hi
ệ
n
ki
ế
m
tra
th
ẻ
t
í
n
d
ụ
ng.
Ch
ỉ
ch
ấ
p
nh
ậ
n
th
ẻ
c
ủ
a
c
á
c
c
ô
ng
ty
l
ớ
n
để
ki
ể
m
tra
t
í
nh
h
ợ
p
l
ệ
c
ủ
a
s
ố
th
ẻ
tr
ướ
c
khi
ch
ấ
p
nh
ậ
n
th
ẻ
c
ủ
a
ng
ườ
i
d
ù
ng.
ĐỪ
ĐỪ
ĐỪ
ĐỪ
NG
NG
NG
NG
BAO
BAO
BAO
BAO
GI
GI
GI
GI
Ờ
Ờ
Ờ
Ờ
TIN
TIN
TIN
TIN
T
T
T
T
ƯỞ
ƯỞ
ƯỞ
ƯỞ
NG
NG
NG
NG
M
M
M
M
Ộ
Ộ
Ộ
Ộ
T
T
T
T
THU
THU
THU
THU
Ậ
Ậ
Ậ
Ậ
T
T
T
T
TO
TO
TO
TO
Á
Á
Á
Á
N
N
N
N
1.
1.
1.
1.
B
B
B
B
ả
ả
ả
ả
o
o
o
o
m
m
m
m
ậ
ậ
ậ
ậ
t
t
t
t
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
l
l
l
l
ờ
ờ
ờ
ờ
i
i
i
i
g
g
g
g
ọ
ọ
ọ
ọ
i
i
i
i
h
h
h
h
ệ
ệ
ệ
ệ
th
th
th
th
ố
ố
ố
ố
ng
ng
ng
ng
M
ỗ
i
khi
b
ạ
n
đư
a
d
ữ
li
ệ
u
c
ủ
a
ng
ườ
i
d
ù
ng
v
à
o
l
ờ
i
g
ọ
i
h
ệ
th
ố
ng,
b
ạ
n
c
ầ
n
t
ỉ
nh
t
á
o
ki
ể
m
tra
d
ữ
li
ệ
u
đó
.
Đả
m
b
ả
o
r
ằ
ng
kh
ô
ng
c
ó
g
ì
nguy
hi
ể
m
n
ằ
m
trong
d
ữ
li
ệ
u
đó
c
ó
th
ể
l
ừ
a
ph
ỉ
nh
h
ệ
th
ố
ng
th
ự
c
hi
ệ
n
nh
ữ
ng
l
ệ
nh
kh
ô
ng
mong
mu
ố
n.
PHP
cung
c
ấ
p
m
ộ
t
h
à
m
l
à
m
đ
i
ề
u
đó
:
EscapeShellCmd()
B
ấ
t
c
ứ
khi
n
à
o
b
ạ
n
chuy
ể
n
m
ộ
t
l
ệ
nh
c
ó
ch
ứ
a
d
ữ
li
ệ
u
nh
ạ
y
c
ả
m,
tr
ố
n
tho
á
t
d
ữ
li
ệ
u
đó
b
ằ
ng
h
à
m
EscapeShellCmd
EscapeShellCmd
EscapeShellCmd
EscapeShellCmd
():
Tr
ố
n
tho
á
t
(escaping)
d
ữ
li
ệ
u
c
ó
ngh
ĩ
a
l
à
th
ê
m
d
ấ
u
s
ổ
ng
ượ
c
(backslash
\)
tr
ướ
c
k
í
t
ự
c
ó
th
ể
l
ừ
a
ph
ì
nh
h
ệ
th
ố
ng
(ch
í
nh
x
á
c
l
à
c
á
c
k
í
t
ự
#&;?'\"|*?~<>^()[]{}$\\\x0A\xFF
).
M
M
M
M
ã
ã
ã
ã
HTML
HTML
HTML
HTML
<
html
>
<
head
>
<
title
>Name
Lookup<
/title
>
<
/head
>
<
body
>
<
h1
>Name
Lookup<
/h1
>
<?php
if
($name)
{
system
(EscapeShellCmd
("lookup
$name"));
print
"
nn";
}
?>
<
form
action
="
<[color=blue]?php
print
$PHP_SELF;
?>[/color]
"
method="
GET
">
Enter
a
name
to
lookup:
<
input
type
="
text
"
name="
name
">
<
input
type
="
submit
"
value="
Lookup
Name
">
<
/form
>
<
/body
>
<
/html
>
D
ù
EscapeShellCmd()
l
à
m
ộ
t
h
à
m
t
ố
t
để
ki
ể
m
tra
l
ệ
nh,
b
ạ
n
v
ẫ
n
n
ê
n
th
ử
v
à
th
ự
c
hi
ệ
n
c
á
c
ki
ể
m
tra
đặ
c
th
ù
ph
ụ
thu
ộ
c
v
à
o
lo
ạ
i
d
ữ
li
ệ
u.
H
à
m
EscapeShellCmd()
s
ẽ
kh
ô
ng
ki
ể
m
tra
t
í
nh
đú
ng
đắ
n
c
ủ
a
d
ữ
li
ệ
u
đượ
c
đệ
tr
ì
nh,
n
ó
s
ẽ
ch
ỉ
ng
ă
n
c
ả
n
ng
ườ
i
d
ù
ng
l
à
m
c
á
c
vi
ệ
c
k
h
ô
ng
đượ
c
ph
é
p.
1.1.
1.1.
1.1.
1.1.
Đ
Đ
Đ
Đ
i
i
i
i
xa
xa
xa
xa
h
h
h
h
ơ
ơ
ơ
ơ
n
n
n
n
m
m
m
m
ộ
ộ
ộ
ộ
t
t
t
t
b
b
b
b
ướ
ướ
ướ
ướ
c
c
c
c
Nh
ư
m
ộ
t
quy
lu
ậ
t,
n
ê
n
ki
ể
m
tra
c
á
c
k
í
t
ự
đượ
c
ph
é
p
h
ơ
n
l
à
ki
ể
m
c
á
c
k
í
t
ự
kh
ô
ng
đượ
c
ph
é
p
.
Th
í
d
ụ
,
đả
m
b
ả
o
r
ằ
ng
$name
ch
ỉ
ch
ứ
a
c
á
c
k
í
t
ự
ch
ữ
v
à
s
ố
(alphanumeric
characters).
B
ằ
ng
c
á
ch
n
à
y,
r
ấ
t
kh
ó
để
khai
th
á
c
l
ỗ
h
ổ
ng
trong
h
ệ
th
ố
ng
c
ủ
a
b
ạ
n.
2.
2.
2.
2.
Ki
Ki
Ki
Ki
ể
ể
ể
ể
m
m
m
m
tra
tra
tra
tra
đị
đị
đị
đị
a
a
a
a
ch
ch
ch
ch
ỉ
ỉ
ỉ
ỉ
e-mail
e-mail
e-mail
e-mail
M
ộ
t
trong
nh
ữ
ng
h
ì
nh
th
ứ
c
ki
ể
m
tra
ph
ổ
bi
ế
n
nh
ấ
t
l
à
xem
m
ộ
t
đị
a
ch
ỉ
e-mail
c
ó
h
ợ
p
l
ệ
kh
ô
ng.
M
ấ
y
tay
m
ớ
i
v
à
o
ngh
ề
s
ẽ
ch
ỉ
d
ù
ng
c
á
c
bi
ể
u
th
ứ
c
ch
í
nh
quy
(m
à
h
ọ
l
ượ
m
đượ
c
trong
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
21
21
21
21
Dormitory
204.B5
18:20
PM
April
7,
2006
1.2.
1.2.
1.2.
1.2.
T
T
T
T
ạ
ạ
ạ
ạ
o
o
o
o
m
m
m
m
ộ
ộ
ộ
ộ
t
t
t
t
tr
tr
tr
tr
ì
ì
ì
ì
nh
nh
nh
nh
t
t
t
t
ự
ự
ự
ự
t
t
t
t
ê
ê
ê
ê
n
n
n
n
v
v
v
v
à
à
à
à
lu
lu
lu
lu
ô
ô
ô
ô
n
n
n
n
tu
tu
tu
tu
â
â
â
â
n
n
n
n
th
th
th
th
ủ
ủ
ủ
ủ
M
ộ
t
trong
nh
ữ
ng
v
ấ
n
đề
ch
í
nh
trong
b
ấ
t
c
ứ
m
ộ
t
d
ự
á
n
l
ớ
n
n
à
o
l
à
s
ự
xung
độ
t
v
ề
t
ê
n.
C
á
c
l
ớ
p
c
ó
th
ể
ph
â
n
đ
o
ạ
n
t
ê
n.
Do
đó
,
c
á
c
l
ớ
p
kh
á
c
nhau
c
ó
th
ể
:
Đượ
c
g
á
n
m
ộ
t
thu
ộ
c
t
í
nh
v
ớ
i
t
ê
n
gi
ố
ng
nhau
Ch
ứ
a
c
á
c
ph
ươ
ng
th
ứ
c
v
ớ
i
t
ê
n
gi
ố
ng
nhau
Th
í
d
ụ
,
l
ớ
p
Phillips
v
à
l
ớ
p
Normal
c
ó
th
ể
c
ù
ng
c
ó
ph
ươ
ng
th
ứ
c
t
ê
n
screwdriver.
N
ó
i
chung,
tr
ướ
c
khi
b
ắ
t
đầ
u
m
ộ
t
d
ự
á
n
l
ớ
n
n
à
o,
b
ạ
n
n
ê
n
c
ó
m
ộ
t
tr
ì
nh
t
ự
t
ê
n
cho
m
ọ
i
th
ứ
,
c
ụ
th
ể
l
à
c
á
ch
b
ạ
n
t
á
ch
c
á
c
bi
ế
n
to
à
n
c
ụ
c
ra
c
á
c
bi
ế
n
th
ô
ng
th
ườ
ng,
c
á
ch
đị
nh
ngh
ĩ
a
h
à
m
trong
th
ư
vi
ệ
n
v.v.
1.3.
1.3.
1.3.
1.3.
Nh
Nh
Nh
Nh
ó
ó
ó
ó
m
m
m
m
c
c
c
c
á
á
á
á
c
c
c
c
ý
ý
ý
ý
ni
ni
ni
ni
ệ
ệ
ệ
ệ
m
m
m
m
chung
chung
chung
chung
v
v
v
v
à
à
à
à
o
o
o
o
m
m
m
m
ộ
ộ
ộ
ộ
t
t
t
t
t
t
t
t
ậ
ậ
ậ
ậ
p
p
p
p
tin
tin
tin
tin
Nh
ó
m
c
á
c
h
à
m
API
t
ươ
ng
t
ự
v
à
o
chung
m
ộ
t
t
ậ
p
tin
c
ũ
ng
gi
ố
ng
nh
ư
nh
ó
m
c
á
c
ph
ươ
ng
th
ứ
c
t
ươ
ng
t
ự
v
à
o
m
ộ
t
l
ớ
p.
C
ố
g
ắ
ng
t
ưở
ng
t
ượ
ng
m
ỗ
i
t
ậ
p
tin
b
ạ
n
t
ạ
o
l
à
m
ộ
t
l
ớ
p,
m
ỗ
i
h
à
m
trong
đó
l
à
m
ộ
t
ph
ươ
ng
th
ứ
c.
B
ằ
ng
c
á
ch
n
à
y,
c
á
c
h
à
m
c
ủ
a
b
ạ
n
s
ẽ
c
ó
đị
nh
ngh
ĩ
a
v
à
c
ấ
u
tr
ú
c
s
á
ng
s
ủ
a
.
Th
í
d
ụ
,
b
ạ
n
c
ó
th
ể
mu
ố
n
nh
ó
m
m
ọ
i
h
à
m
li
ê
n
quan
đế
n
truy
c
ậ
p
CSDL
v
à
o
m
ộ
t
t
ậ
p
tin
DB.php.
2.
2.
2.
2.
H
H
H
H
Đ
Đ
Đ
Đ
T,
T,
T,
T,
gi
gi
gi
gi
ố
ố
ố
ố
ng
ng
ng
ng
m
m
m
m
ọ
ọ
ọ
ọ
i
i
i
i
th
th
th
th
ứ
ứ
ứ
ứ
,
,
,
,
t
t
t
t
ố
ố
ố
ố
t
t
t
t
khi
khi
khi
khi
c
c
c
c
ó
ó
ó
ó
đ
đ
đ
đ
i
i
i
i
ề
ề
ề
ề
u
u
u
u
độ
độ
độ
độ
Để
t
ô
i
l
à
m
s
á
ng
t
ỏ
m
ộ
t
vi
ệ
c.
T
ô
i
kh
ô
ng
ph
ả
i
đ
ang
c
ố
bi
ệ
n
h
ộ
để
b
ạ
n
t
ừ
b
ỏ
h
ẳ
n
H
Đ
T
trong
PHP.
Đú
ng
ra,
t
ô
i
ch
ỉ
đ
ang
c
ố
c
ả
nh
b
á
o
b
ạ
n
đừ
ng
n
ê
n
d
ù
ng
PHP
nh
ư
Java
hay
C++,
n
ơ
i
m
à
H
Đ
T
c
ó
th
ể
d
ù
ng
tho
ả
i
m
á
i.
H
ã
y
c
ẩ
n
th
ậ
n
đá
nh
gi
á
l
ợ
i
v
à
h
ạ
i
tr
ướ
c
khi
b
ạ
n
d
ù
ng
m
ộ
t
ti
ế
p
c
ậ
n
H
Đ
T
v
ớ
i
PHP.
10.
10.
10.
10.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
nh
nh
nh
nh
ầ
ầ
ầ
ầ
m
m
m
m
Bi
Bi
Bi
Bi
ể
ể
ể
ể
u
u
u
u
th
th
th
th
ứ
ứ
ứ
ứ
c
c
c
c
Ch
Ch
Ch
Ch
í
í
í
í
nh
nh
nh
nh
quy
quy
quy
quy
Bi
ể
u
th
ứ
c
ch
í
nh
quy
(Regular
expressions)
l
à
c
ô
ng
c
ụ
m
ạ
nh
để
t
ì
m
v
à
t
ổ
ch
ứ
c
d
ữ
li
ệ
u,
nh
ư
l
à
ki
ể
m
đị
nh
đị
a
ch
ỉ
e-mail
ho
ặ
c
ki
ể
m
tra
m
ộ
t
URL.
Tuy
nhi
ê
n,
n
ó
ch
ậ
m
h
ơ
n
c
á
c
c
ô
ng
c
ụ
c
ủ
a
PHP
trong
m
ộ
t
s
ố
t
á
c
v
ụ
đơ
n
gi
ả
n.
Th
í
d
ụ
,
n
ế
u
b
ạ
n
mu
ố
n
vi
ế
t
hoa
to
à
n
b
ộ
m
ô
t
chu
ỗ
i,
m
ộ
t
l
í
nh
m
ớ
i
c
ủ
a
PHP
c
ó
th
ể
l
à
m
nh
ư
sau:
<?php
$URL
=
"http://www.php.net"
;
$fp
=
@
fopen
(
$URL
,
"r"
);
if
(!
$fp
)
{
die
(
"Cannot
open
website
$URL!"
);
}
while
(
$line
=
@
fgets
(
$fp
,
1024
))
{
$data
.=
$line
;
}
@
fclose
(
$fp
)
or
warn
(
"Cannot
close
website
handle,
$URL"
);
$data
=
ereg_replace
(
"[a-z]"
,
"[A-Z]"
,
$data
);
print
$data
;
?>
Tuy
nhi
ê
n,
s
ẽ
ph
í
th
ờ
i
gian
khi
b
ạ
n
d
ù
ng
h
à
m
ereg_replace()
(ch
ậ
m
h
ơ
n)
để
l
à
m
c
ô
ng
vi
ệ
c
m
à
strtoupper()
(nhanh
h
ơ
n)
c
ó
th
ể
th
ự
c
hi
ệ
n
t
ố
t
h
ơ
n.
$data
=
strtoupper
(
$data
);
N
ó
i
chung,
b
ạ
n
lu
ô
n
c
ố
g
ắ
ng
d
ù
ng
c
á
c
thay
th
ế
đơ
n
gi
ả
n
c
ủ
a
bi
ể
u
th
ứ
c
ch
í
nh
quy
v
ì
n
ó
s
ẽ
l
à
m
t
ă
ng
kh
á
nhi
ề
u
t
ố
c
độ
ch
ươ
ng
tr
ì
nh.
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
7
7
7
7
Dormitory
204.B5
18:20
PM
April
7,
2006
site.lib
site.lib
site.lib
site.lib
-
ph
ầ
n
ch
ủ
Nh
ư
b
ạ
n
th
ấ
y
trong
th
í
d
ụ
tr
ê
n,
t
á
ch
bi
ệ
t
kh
á
ch
ch
ủ
l
à
m
t
ă
ng
t
í
nh
d
ễ
đọ
c
trong
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n.
M
ộ
t
l
ợ
i
í
ch
kh
á
c
l
à
m
ộ
t
khi
b
ạ
n
đã
c
ó
c
á
c
h
à
m
API
hi
ể
n
th
ị
n
ộ
i
dung,
b
ạ
n
c
ó
th
ể
để
cho
thi
ế
t
k
ế
vi
ê
n
tham
gia
thay
đổ
i
b
ố
c
ụ
c
m
à
kh
ô
ng
c
ầ
n
s
ử
a
m
ã
ch
ươ
ng
t
r
ì
nh.
1.1.
1.1.
1.1.
1.1.
L
L
L
L
ợ
ợ
ợ
ợ
i
i
i
i
í
í
í
í
ch
ch
ch
ch
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
h
h
h
h
à
à
à
à
m
m
m
m
API
API
API
API
T
ươ
ng
đố
i
s
á
ng
s
ủ
a
Nhanh,
h
ầ
u
nh
ư
kh
ô
ng
l
ã
ng
ph
í
th
ờ
i
gian
(overhead)
1.2.
1.2.
1.2.
1.2.
B
B
B
B
ấ
ấ
ấ
ấ
t
t
t
t
l
l
l
l
ợ
ợ
ợ
ợ
i
i
i
i
<
td
width
="
25%
">
<
?php
print_links
();
?
>
<
/td
>
<
td
>
<
?php
print_body
();
?
>
<
/td
>
<
/tr
>
<
/table
>
<
/body
>
<
/html
>
<?php
$dbh
=
mysql_connect
(
"localhost"
,
"khoa"
,
"pass"
)
or
die
(
sprintf
(
"Khong
the
ket
noi
den
MySQL
[%s]:
%s"
,
mysql_errno
(),
mysql_error
()));
@
mysql_select_db
(
"MainSite"
)
or
die
(
sprintf
(
"Khong
the
chon
CSDL![%s]:
%s"
,
mysql_errno
(),
mysql_error
()));
$sth
=
@
mysql_query
(
"SELECT
*
FROM
site"
,
$dbh
)
or
die
(
sprintf
(
"Khong
the
thuc
hien
truy
van
[%s]:
%s"
,
mysql_errno
(),
mysql_error
()));
$site_info
=
mysql_fetch_object
(
$sth
);
function
print_header
()
{
global
$site_info
;
print
$site_info
->
header
;
}
function
print_body
()
{
global
$site_info
;
print
nl2br
(
$site_info
->
body
);
}
function
print_links
()
{
global
$site_info
;
$links
=
explode
(
"\n"
,
$site_info
->
links
);
$names
=
explode
(
"\n"
,
$site_info
->
link_names
);
for
(
$i
=
0
;
$i
<
count
(
$links
);
$i
++)
{
print
"
\t\t\t
<a
xhref=
\"
$links
[
$i
]\"
>$names
[
$i
]
</a>
\n
<br>
\n
"
;
}
}
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
14
14
14
14
Dormitory
204.B5
18:20
PM
April
7,
2006
1.4.
1.4.
1.4.
1.4.
Khi
Khi
Khi
Khi
m
m
m
m
à
à
à
à
DBMS
DBMS
DBMS
DBMS
c
c
c
c
ủ
ủ
ủ
ủ
a
a
a
a
b
b
b
b
ạ
ạ
ạ
ạ
n
n
n
n
kh
kh
kh
kh
ô
ô
ô
ô
ng
ng
ng
ng
h
h
h
h
ỗ
ỗ
ỗ
ỗ
tr
tr
tr
tr
ợ
ợ
ợ
ợ
sql_num_row()
sql_num_row()
sql_num_row()
sql_num_row()
V
à
i
DBMS
c
ó
th
ể
kh
ô
ng
h
ỗ
tr
ợ
h
à
m
sql_num_row().
T
ô
i
xin
chia
s
ẻ
v
ớ
i
b
ạ
n
n
ế
u
DBMS
c
ủ
a
b
ạ
n
l
à
m
ộ
t
trong
s
ố
đó
.
B
ạ
n
s
ẽ
ph
ả
i
t
ì
m
trong
k
ế
t
qu
ả
r
ỗ
ng
b
ằ
ng
c
á
ch
l
ấ
y
d
ò
ng.
Tuy
nhi
ê
n,
trong
tr
ườ
ng
h
ợ
p
n
à
y,
n
ó
n
ê
n
d
ù
ng
m
ộ
t
bi
ế
n
boolean
nh
ư
sau:
<?php
$timthay
=
false
;
while
(
$mautin
=
sql_fetch_array
(
$truyvan
)){
$timthay
=
true
;
}
if
(!
$timthay
){
print
"Loi!"
;
}
?>
1 .5.
1 .5.
1 .5.
1 .5.
L
L
L
L
ấ
ấ
ấ
ấ
y
y
y
y
k
k
k
k
ế
ế
ế
ế
t
t
t
t
qu
qu
qu
qu
ả
ả
ả
ả
:
:
:
:
h
h
h
h
ã
ã
ã
ã
y
y
y
y
ch
ch
ch
ch
ọ
ọ
ọ
ọ
n
n
n
n
c
c
c
c
á
á
á
á
ch
ch
ch
ch
c
c
c
c
ó
ó
ó
ó
í
í
í
í
ch
ch
ch
ch
V
ấ
n
đề
th
ứ
hai
trong
đ
o
ạ
n
m
ã
n
à
y
l
à
n
ó
d
ù
ng
sql_fetch_row()
để
l
ấ
y
t
ậ
p
k
ế
t
qu
ả
.
H
à
m
sql_fetch_row()
ch
ỉ
tr
ả
v
ề
m
ả
ng
đá
nh
ch
ỉ
s
ố
,
trong
khi
đó
sql_fetch_array()
tr
ả
v
ề
m
ả
ng
đá
nh
ch
ỉ
s
ố
v
à
m
ả
ng
d
ù
ng
chu
ỗ
i.
$mautin
=
sql_fetch_array
(
$truyvan
);
print
$mautin
[
1
];
//
Cot
thu
2
print
$mautin
[
name
];
//
Ten
cot
Ch
Ch
Ch
Ch
ú
ú
ú
ú
ý
ý
ý
ý
:
:
:
:
C
ó
nhi
ề
u
quy
ướ
c
kh
á
c
nhau
v
ề
vi
ệ
c
d
ù
ng
d
ấ
u
nh
á
y
khi
th
ê
m
m
ộ
t
đố
i
s
ố
ki
ể
u
chu
ỗ
i.
Trong
th
í
d
ụ
v
ề
t
ê
n
c
ộ
t
ở
tr
ê
n,
v
à
su
ố
t
b
à
i
vi
ế
t
n
à
y,
n
ó
s
ẽ
đượ
c
b
ỏ
.
T
ừ
quan
đ
i
ể
m
c
ủ
a
nh
à
ph
á
t
tri
ể
n,
h
à
m
n
à
o
c
ó
l
ợ
i
h
ơ
n?
M
ả
ng
d
ù
ng
chu
ỗ
i
gi
ú
p
cho
ng
ườ
i
đọ
c
hi
ể
u
đượ
c
b
ạ
n
đ
ang
l
ấ
y
c
á
i
g
ì
ch
ỉ
th
ô
ng
qua
vi
ệ
c
đọ
c
m
ã
,
nh
ư
th
í
d
ụ
đú
ng
d
ướ
i
đâ
y:
<?php
if
(
sql_num_rows
(
$truyvan
)<=
0
)
{
print
"Mot
loi
da
xay
ra:
Khong
co
mau
tin
nao!"
;
exit;
}
while
(
$mautin
=
sql_fetch_array
(
$truyvan
))
{
print
"$mautin[name]:
$mautin[phone_number]\n<br>\n"
;
}
?>
1.6.
1.6.
1.6.
1.6.
Khi
Khi
Khi
Khi
n
n
n
n
à
à
à
à
o
o
o
o
sql_fetch_row($truyvan)
sql_fetch_row($truyvan)
sql_fetch_row($truyvan)
sql_fetch_row($truyvan)
n
n
n
n
ê
ê
ê
ê
n
n
n
n
đượ
đượ
đượ
đượ
c
c
c
c
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
T
ô
i
kh
ô
ng
th
ự
c
s
ự
l
à
fan
c
ủ
a
the
sql_fetch_row().
Tuy
nhi
ê
n,
c
ó
m
ộ
t
t
ì
nh
hu
ố
ng
m
à
d
ù
ng
n
ó
kh
ô
ng
gi
ả
m
kh
ả
n
ă
ng
d
ễ
đọ
c:
khi
ng
ườ
i
d
ù
ng
đị
nh
ngh
ĩ
a
c
â
u
truy
v
ấ
n.
C
á
c
th
í
d
ụ
cho
đế
n
l
ú
c
n
à
y
đề
u
đề
c
ậ
p
đế
n
nh
ữ
ng
c
â
u
truy
v
ấ
n
đượ
c
bi
ế
t
tr
ướ
c.
Đô
i
khi
b
ạ
n
để
cho
ng
ườ
i
d
ù
ng
t
ự
đị
nh
ngh
ĩ
a
c
â
u
truy
v
ấ
n.
Tr
ườ
ng
h
ợ
p
n
à
y
b
ạ
n
s
ẽ
kh
ô
ng
bi
ế
t
c
á
c
c
ộ
t
trong
k
ế
t
qu
ả
.
Do
đó
,
d
ù
ng
h
à
m
sql_fetch_row()
k
è
m
v
ớ
i
count()
s
ẽ
x
ử
l
í
hi
ệ
u
qu
ả
c
á
c
c
ộ
t
trong
m
ộ
t
h
à
ng:
<?php
for
(
$i
=
0
;
$i
<
count
(
$mautin
);
$i
++){
print
"Column"
.
(
$i
+
1
).
$mautin
[
$i
].
"\n<BR>\n"
;
}
?>
2.
2.
2.
2.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
sai
sai
sai
sai
SQL:
SQL:
SQL:
SQL:
kh
kh
kh
kh
ô
ô
ô
ô
ng
ng
ng
ng
l
l
l
l
ấ
ấ
ấ
ấ
y
y
y
y
nh
nh
nh
nh
ữ
ữ
ữ
ữ
ng
ng
ng
ng
g
g
g
g
ì
ì
ì
ì
b
b
b
b
ạ
ạ
ạ
ạ
n
n
n
n
c
c
c
c
ầ
ầ
ầ
ầ
n
n
n
n
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
11
11
11
11
Dormitory
204.B5
18:20
PM
April
7,
2006
1 .5.
1 .5.
1 .5.
1 .5.
Th
Th
Th
Th
ó
ó
ó
ó
i
i
i
i
quen
quen
quen
quen
x
x
x
x
ấ
ấ
ấ
ấ
u
u
u
u
D
ướ
i
đâ
y
l
à
nh
ữ
ng
th
í
d
ụ
(ph
ó
ng
đạ
i)
v
ề
nh
ữ
ng
t
ê
n
bi
ế
n
t
ồ
i
$username_cua_csdl
=
'SINHVIEN'
;
$guMbi
=
'bimat'
;
//
for
the
$password
$tentruocdo_cua_giaovien
=
array
(
'Sadlon'
,
'Lane'
,
'Patterson'
,
'Perry'
,
'Sandler'
,
'Mendick'
,
'Zung'
);
foreach
(
$tentruocdo_cua_giaovien
as
$TeaChER
);
2.
2.
2.
2.
Đặ
Đặ
Đặ
Đặ
t
t
t
t
t
t
t
t
ê
ê
ê
ê
n
n
n
n
h
h
h
h
à
à
à
à
m
m
m
m
M
ọ
i
kh
á
i
ni
ệ
m
á
p
d
ụ
ng
cho
t
ê
n
bi
ế
n
c
ũ
ng
á
p
d
ụ
ng
cho
đặ
t
t
ê
n
h
à
m.
Tuy
nhi
ê
n,
ng
ữ
ph
á
p
đó
ng
vai
tr
ò
đặ
c
bi
ệ
t
trong
c
á
c
h
à
m.
C
á
c
h
à
m
PHP,
đị
nh
ngh
ĩ
a
s
ẵ
n
ho
ặ
c
do
ng
ườ
i
d
ù
ng
đị
nh
ngh
ĩ
a,
l
à
kh
ô
ng-ph
â
n-bi
ệ
t-c
á
ch-
vi
ế
t
(not
case
sensitive)
2.1.
2.1.
2.1.
2.1.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
độ
độ
độ
độ
ng
ng
ng
ng
t
t
t
t
ừ
ừ
ừ
ừ
H
à
m
c
ủ
a
PHP
t
ươ
ng
đươ
ng
v
ớ
i
m
ộ
t
độ
ng
t
ừ
khi
n
ó
i.
T
ê
n
h
à
m,
do
đó
,
n
ê
n
đượ
c
h
ướ
ng
h
à
nh
độ
ng
(action
oriented).
N
ó
c
ũ
ng
n
ê
n
đượ
c
d
ù
ng
ở
th
ì
hi
ệ
n
t
ạ
i.
Th
í
d
ụ
,
b
ạ
n
c
ó
m
ộ
t
h
à
m
t
ạ
o
m
ộ
t
s
ố
ng
ẫ
u
nhi
ê
n
v
ớ
i
ph
â
n
b
ố
Gausse
(a
gaussian
random
number),
b
ạ
n
n
ê
n
đặ
t
t
ê
n
n
ó
l
à
generate_gaussian_rand().
Ch
ú
ý
c
á
c
s
ử
d
ụ
ng
độ
ng
t
ừ
h
à
nh
độ
ng
trong
t
ê
n
h
à
m.
N
ó
s
ẽ
đặ
t
h
à
m
v
à
o
ng
ữ
c
ả
nh
th
í
ch
h
ợ
p
<?php
list
(
$num1
,
$num2
)
=
generate_gaussian_rand
();
list
(
$num3
,
$num4
)
=
generate_gaussian_rand
();
?>
Để
so
s
á
nh,
h
ã
y
xem
th
í
d
ụ
:
<?php
list
(
$num1
,
$num2
)
=
gaussian_rand_generator
();
list
(
$num1
,
$num2
)
=
gaussian_rand_generator
();
?>
B
ạ
n
c
ó
th
ấ
y
s
ự
kh
á
c
bi
ệ
t?
Th
í
d
ụ
th
ứ
hai
s
ử
d
ụ
ng
danh
t
ừ
,
m
ặ
c
d
ù
v
ẫ
n
chuy
ể
n
t
ả
i
đượ
c
m
ụ
c
ti
ê
u
c
ủ
a
h
à
m,
nh
ư
ng
n
ó
ng
ă
n
ng
ườ
i
ta
đọ
c
m
ộ
t
c
á
ch
tr
ô
i
ch
ả
y.
H
ã
y
s
ử
d
ụ
ng
độ
ng
t
ừ
!
13.
13.
13.
13.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
suy
suy
suy
suy
ngh
ngh
ngh
ngh
ĩ
ĩ
ĩ
ĩ
th
th
th
th
ấ
ấ
ấ
ấ
u
u
u
u
đá
đá
đá
đá
o:
o:
o:
o:
CSDL
CSDL
CSDL
CSDL
&
&
&
&
SQL
SQL
SQL
SQL
S
ố
c
á
ch
ng
ườ
i
ta
truy
c
ậ
p
c
ơ
s
ở
d
ữ
li
ệ
u
(CSDL
-
database)
v
à
l
ấ
y
k
ế
t
qu
ả
nhi
ề
u
đế
n
m
ứ
c
th
ự
c
s
ự
ng
ạ
c
nhi
ê
n.
Nh
ữ
ng
th
í
d
ụ
t
ô
i
đã
g
ặ
p
bao
g
ồ
m
nh
ữ
ng
t
ổ
h
ợ
p
l
ệ
nh
if
v
à
v
ò
ng
l
ặ
p
do ...
Th
í
d
ụ
sau
m
ở
t
ậ
p
tin
v
à
in
t
ừ
ng
d
ò
ng:
Th
í
d
ụ
tr
ê
n
s
ẽ
t
ạ
o
l
ỗ
i:
Warning:
Warning:
Warning:
Warning:
Supplied
Supplied
Supplied
Supplied
argument
argument
argument
argument
is
is
is
is
not
not
not
not
a
a
a
a
valid
valid
valid
valid
File-Handle
File-Handle
File-Handle
File-Handle
resource
resource
resource
resource
in
in
in
in
C:\Inetpub\wwwroot\tst.php
C:\Inetpub\wwwroot\tst.php
C:\Inetpub\wwwroot\tst.php
C:\Inetpub\wwwroot\tst.php
on
on
on
on
line
line
line
line
4.
4.
4.
4.
<?
printf
printf
printf
printf
(
"%d
occurrences
of
%s
found."
,
count
(
$truyvan
),
$search_term
);
?>
<?
print
print
print
print
count
(
$truyvan
)
.
"occurrences
of
$search_term
found."
;
?>
<?
$fp
=
@
fopen
(
'vanban.txt'
,
'r'
)
or
die
(
'Khong
the
mo
file
vanban.txt'
);
while
(
$line
=
@
fgets
(
"$fp"
,
1024
))
//
Loi
{
print
$line
;
}
@
fclose
(
"$fp"
)
//
Loi
or
die
(
'Khong
the
dong
vanban.txt'
);
?>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
15
15
15
15
Dormitory
204.B5
18:20
PM
April
7,
2006
Nh
ư
l
à
v
ấ
n
đề
c
ủ
a
th
ự
c
h
à
nh,
đơ
n
gi
ả
n
l
à
s
ẽ
sai
l
ầ
m
khi
d
ù
ng
PHP
x
ử
l
í
m
ọ
i
d
ò
ng
c
ủ
a
CSDL.
T
ô
i
đã
b
ắ
t
g
ặ
p
ng
ườ
i
ta
d
ù
ng
PHP
để
ch
ạ
y
m
ộ
t
ch
ươ
ng
tr
ì
nh
t
ì
m
ki
ế
m
đơ
n
gi
ả
n
tr
ê
n
2MB
d
ữ
li
ệ
u
v
à
t
ự
h
ỏ
i
t
ạ
i
sao
c
á
i
ng
ô
n
ng
ữ
n
à
y
ch
ạ
y
l
â
u
th
ế
.
L
ấ
y
2MB
d
ữ
li
ệ
u
t
ừ
CSDL
c
ó
th
ể
l
à
m
b
ạ
n
ch
ờ
m
ã
i
m
ã
i.
Ng
ô
n
ng
ữ
truy
v
ấ
n
chu
ẩ
n
(
Standard
Standard
Standard
Standard
Query
Query
Query
Query
Language
Language
Language
Language
-
-
-
-
SQL
SQL
SQL
SQL
)
đượ
c
thi
ế
t
k
ế
đặ
c
bi
ệ
t
để
truy
v
ấ
n
v
à
l
ấ
y
d
ữ
li
ệ
u
t
ừ
c
á
c
b
ả
ng
c
ủ
a
b
ạ
n.
Ý
t
ưở
ng
l
à
d
ù
ng
n
ó
để
l
ọ
c
d
ữ
li
ệ
u
kh
ô
ng
c
ầ
n
thi
ế
t,
để
l
ạ
i
c
á
c
th
ô
ng
tin
li
ê
n
quan
cho
PHP
x
ử
l
í
.
N
ế
u
b
ạ
n
l
ấ
y
nhi
ề
u
d
ữ
li
ệ
u
h
ơ
n
c
ầ
n
thi
ế
t,
đó
l
à
d
ấ
u
hi
ệ
u
ch
ắ
c
ch
ắ
n
r
ằ
ng
m
ã
SQL
đ
ang
d
ù
ng
ch
ư
a
đượ
c
t
ố
i
ư
u
ho
á
.
2.1.
2.1.
2.1.
2.1.
M
M
M
M
ệ
ệ
ệ
ệ
nh
nh
nh
nh
đề
đề
đề
đề
WHERE
WHERE
WHERE
WHERE
M
ộ
t
th
í
d
ụ
kinh
đ
i
ể
n
v
ề
s
ự
hi
ể
u
qu
ả
c
ủ
a
SQL
li
ê
n
quan
đế
n
m
ệ
nh
đề
where.
Đ
o
ạ
n
m
ã
sau
s
ẽ
l
ấ
y
c
á
c
k
ế
t
qu
ả
v
à
in
ra
t
ê
n
v
à
m
ã
sinh
vi
ê
n
c
ủ
a
sinh
vi
ê
n
c
ó
MASV=&apos ;51 1203008'
:
<?php
include
(
“
includes/taptinketnoi.inc
”
)
;
$strsql
=
"SELECT
MASV,
HOTEN
FROM
SINHVIEN"
;
$truyvan
=
@
sql_query
(
$strsql
,
$ketnoi
);
if
(!
$truyvan
)
{
die
(
sprintf
(
"LOI:
[%d]:
%s"
,
sql_errno
(),
sql_error
()));
}
if
(@
sql_num_rows
(
$truyvan
)
<=
0
)
{
die
(
"Khong
ket
qua
tim
duoc
tu
CSDL!"
);
}
while
(
$mautin
=
@
sql_fetch_array
(
$truyvan
)){
if
(
$mautin
[
MASV
]
==
“
51 1203008
”
)
{
print
"MASV:
$mautin[MASV]\n<br>\n"
;
print
"Ho
ten:
$mautin[HOTEN]\n<br>\n"
;
break;
}
}
?>
Đ
o
ạ
n
m
ã
tr
ê
n
ch
ư
a
đượ
c
t
ố
i
ư
u:
ch
ú
ng
ta
đ
ang
d
ù
ng
PHP
để
t
ì
m
ki
ế
m
trong
to
à
n
b
ộ
CSDL!
N
ế
u
nh
ư
đ
i
ề
u
n
à
y
kh
ô
ng
quan
tr
ọ
ng
đố
i
v
ớ
i
c
á
c
CSDL
nh
ỏ
,
khi
k
í
ch
th
ướ
c
CSDL
t
ă
ng
l
ê
n
b
ạ
n
s
ẽ
c
ả
m
th
ấ
y
m
ộ
t
c
ú
đấ
m
n
ặ
ng
n
ề
v
ề
hi
ệ
u
n
ă
ng.
L
ờ
i
gi
ả
i
r
ấ
t
đơ
n
gi
ả
n:
s
ử
a
c
â
u
SQL
để
ch
ứ
a
m
ệ
nh
đề
WHERE:
$strsql
=
"SELECT
*
FROM
SINHVIEN"
;
$strsql
.=
"
WHERE
MASV=&apos ;51 1203008'"
;
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
1
1
1
1
Dormitory
204.B5
18:20
PM
April
7,
2006
à
i
vi
ế
t
n
à
y
d
à
nh
cho
nh
ữ
ng
l
ậ
p
tr
ì
nh
vi
ê
n
PHP
quan
t
â
m
đế
n
vi
ệ
c
tr
á
nh
nh
ữ
ng
l
ỗ
i
th
ườ
ng
g
ặ
p
khi
s
ử
d
ụ
ng
PHP.
Ng
ườ
i
đọ
c
ph
ả
i
bi
ế
t
c
á
c
c
ú
ph
á
p
c
ủ
a
PHP,
v
à
n
ê
n
bi
ế
t
c
ô
ng
d
ụ
ng
c
ủ
a
c
á
c
h
à
m
trong
PHP.
M
ộ
t
trong
nh
ữ
ng
đ
i
ể
m
m
ạ
nh
nh
ấ
t
c
ủ
a
PHP
v
ô
t
ì
nh
tr
ở
th
à
nh
m
ộ
t
trong
nh
ữ
ng
đ
i
ể
m
y
ế
u
nh
ấ
t
c
ủ
a
n
ó
:
t
t
t
t
í
í
í
í
nh
nh
nh
nh
d
d
d
d
ễ
ễ
ễ
ễ
s
s
s
s
ử
ử
ử
ử
d
d
d
d
ụ
ụ
ụ
ụ
ng
ng
ng
ng
.
Nhi
ế
u
ng
ườ
i
ch
ọ
n
PHP
v
ì
t
í
nh
d
ễ
s
ử
d
ụ
ng,
đã
kh
ô
ng
nh
ậ
n
ra
r
ằ
ng:
s
ử
d
ụ
ng
đú
ng
PHP
PHP
PHP
PHP
c
c
c
c
ò
ò
ò
ò
n
n
n
n
kh
kh
kh
kh
ó
ó
ó
ó
h
h
h
h
ơ
ơ
ơ
ơ
n
n
n
n
c
c
c
c
á
á
á
á
c
c
c
c
ng
ng
ng
ng
ô
ô
ô
ô
n
n
n
n
ng
ng
ng
ng
ữ
ữ
ữ
ữ
kh
kh
kh
kh
á
á
á
á
c
c
c
c
.
Trong
lo
ạ
t
b
à
i
n
à
y
s
ẽ
l
ầ
n
l
ượ
t
n
ê
u
ra
21
l
ỗ
i,
t
ừ
nh
ữ
ng
sai
l
ầ
m
gi
á
o
khoa
(l
à
m
script
tr
ở
n
ê
n
ch
ậ
m
v
à
kh
ó
qu
ả
n
l
í
)
đế
n
nh
ữ
ng
sai
l
ầ
m
ch
ế
t
ng
ườ
i
-
c
ó
th
ể
xem
l
à
ngu
ồ
n
g
ố
c
c
ủ
a
nh
ữ
ng
sai
l
ầ
m
s
ơ
đẳ
ng.
PH
Ầ
N
1:
7
L
Ỗ
I
GI
Á
O
KHOA
21.
21.
21.
21.
S
S
S
S
ử
ử
ử
ử
d
d
d
d
ụ
ụ
ụ
ụ
ng
ng
ng
ng
printf()
printf()
printf()
printf()
kh
kh
kh
kh
ô
ô
ô
ô
ng
ng
ng
ng
th
th
th
th
í
í
í
í
ch
ch
ch
ch
h
h
h
h
ợ
ợ
ợ
ợ
p
p
p
p
H
à
m
printf()
d
ù
ng
để
in
d
ữ
li
ệ
u
c
ó
đị
nh
d
ạ
ng
N
ó
c
ó
th
ể
đượ
c
d
ù
ng,
th
í
d
ụ
,
khi
b
ạ
n
m
ộ
t
in
m
ộ
t
s
ố
ki
ể
u
double
v
ớ
i
2
s
ố
l
ẻ
,
ho
ặ
c
trong
b
ấ
t
k
ì
t
ì
nh
hu
ố
ng
n
à
o
b
ạ
n
mu
ố
n
thay
đổ
i
đị
nh
d
ạ
ng
tr
ướ
c
khi
in.
Th
í
d
ụ
d
ướ
i
đâ
y
minh
ho
ạ
c
á
ch
d
ù
ng
đú
ng
c
ủ
a
printf():
đị
nh
d
ạ
ng
s
ố
Pi
v
ớ
i
độ
ch
í
nh
x
á
c
theo
ý
mu
ố
n
M
M
M
M
ã
ã
ã
ã
l
l
l
l
ệ
ệ
ệ
ệ
nh
nh
nh
nh
(PHP)
<?
/*
The
three
faces
of
Π
*/
printf
(
"Pi
is:
%.2f\n<br>\n"
,
M_PI
);
printf
(
"Pi
is
also:
%.3f\n<br>\n"
,
M_PI
);
printf
(
"Pi
is
also:
%.4f\n<br>\n"
,
M_PI
);
?>
Ch
Ch
Ch
Ch
ú
ú
ú
ú
ý
ý
ý
ý
.
.
.
.
T
ô
i
đã
t
ừ
ng
g
ặ
p
nh
ữ
ng
ng
ườ
i
s
ợ
d
ù
ng
printf(),
thay
v
à
o
đó
l
ạ
i
d
ù
ng
nh
ữ
ng
h
à
m
đị
nh
d
ạ
ng
t
ự
vi
ế
t,
d
à
i
đế
n
30-
40
d
ò
ng,
trong
đ
i
m
ộ
t
c
â
u
printf()
c
ó
th
ể
l
à
m
m
ọ
i
th
ứ
anh
ta
mong
mu
ố
n.
Nhi
ế
u
l
ậ
p
tr
ì
nh
vi
ê
n
d
ù
ng
sai
printf():
in
c
á
c
bi
ế
n,
c
á
c
gi
á
tr
ị
tr
ả
v
ề
c
ủ
a
h
à
m
ho
ặ
c
th
ỉ
nh
tho
ả
ng,
ch
ỉ
l
à
d
ữ
li
ệ
u
th
ô
ng
th
ườ
ng.
Th
ườ
ng
x
ả
y
ra
trong
hai
t
ì
nh
hu
ố
ng:
C
â
u
l
ệ
nh
print()
th
í
ch
h
ợ
p
h
ơ
n
Hi
ể
n
th
ị
gi
á
tr
ị
tr
ả
v
ề
c
ủ
a
m
ộ
t
h
à
m
1.
1.
1.
1.
Khi
Khi
Khi
Khi
n
n
n
n
à
à
à
à
o
o
o
o
print()
print()
print()
print()
th
th
th
th
í
í
í
í
ch
ch
ch
ch
h
h
h
h
ợ
ợ
ợ
ợ
p
p
p
p
h
h
h
h
ơ
ơ
ơ
ơ
n?
n?
n?
n?
C
á
c
l
ậ
p
tr
ì
nh
vi
ê
n
th
ườ
ng
s
ử
d
ụ
ng
printf()
trong
khi
ch
ỉ
print()
l
à
đủ
.
X
é
t
th
í
d
ụ
sau:
<?
$name
=
'Nguyen
Anh
Khoa'
;
$nghenghiep
=
'Sinh
vien'
;
$diachi
=
'Phong
204.B5
–
KTX
–
DHSP
Dong
Thap'
;
$email
=
'khoa_computer2004@yahoo.com'
;
printf
(
"Ten
cua
tui
la:
%s\n<br>\n
Hien
dang
la:
%s,
%s\n<br>\n
Lien
he
voi
toi
qua
Email:
%s\n<br>\n"
,
$name
,
$nghenghiep
,
$diachi
,
$email
);
?>
H
à
m
print()
print()
print()
print()
c
ó
th
ể
d
ù
ng
thay
cho
printf()
nh
ư
sau:
B
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
6
6
6
6
Dormitory
204.B5
18:20
PM
April
7,
2006
L
ạ
i
c
ó
m
ộ
t
s
ố
ng
ườ
i
c
ố
g
ắ
ng
vi
ế
t
l
ạ
i
c
á
c
h
à
m
PHP
th
ô
ng
d
ụ
ng
thay
v
ì
đ
i
h
ọ
c
v
ề
h
à
m
đó
trong
c
á
c
t
à
i
li
ệ
u
PHP
cung
c
ấ
p.
C
ó
í
t
nh
ấ
t
2
l
í
do
để
kh
ô
ng
n
ê
n
l
à
m
đ
i
ề
u
n
à
y.
Th
ứ
nh
ấ
t,
v
à
tr
ê
n
nh
ấ
t,
n
ó
l
à
m
cho
nh
ữ
ng
ng
ườ
i
đọ
c
(v
à
s
ử
a)
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n
kh
ó
hi
ể
u
v
à
c
ả
m
th
ấ
y
c
ó
qu
á
nhi
ề
u
h
à
m
d
ư
th
ừ
a.
H
ọ
t
ự
h
ỏ
i
t
ạ
i
sao
b
ạ
n
l
ạ
i
đ
i
đị
nh
ngh
ĩ
a
h
à
m
theo
ki
ể
u
đó
,
thay
v
ì
s
ử
d
ụ
ng
c
á
c
h
à
m
đị
nh
ngh
ĩ
a
s
ẵ
n
b
ở
i
PHP.
Th
ứ
hai,
đị
nh
ngh
ĩ
a
h
à
m
nh
ư
v
ậ
y
c
ũ
ng
s
ẽ
l
à
m
ch
ậ
m
ch
ươ
ng
tr
ì
nh
c
ủ
a
b
ạ
n
(m
ộ
t
c
á
ch
kh
ô
ng
c
ầ
n
thi
ế
t).
Kh
ô
ng
ch
ỉ
ph
ả
i
x
ử
l
í
nhi
ề
u
m
ã
h
ơ
n,
m
à
m
ỗ
i
l
ầ
n
g
ọ
i
h
à
m
do
b
ạ
n
đị
nh
ngh
ĩ
a,
b
ạ
n
đã
t
ố
n
th
ờ
i
gian
cho
ch
í
nh
h
à
m
đó
,
tr
ướ
c
khi
h
à
m
nguy
ê
n
thu
ỷ
đượ
c
g
ọ
i.
1.
1.
1.
1.
Tr
Tr
Tr
Tr
á
á
á
á
nh
nh
nh
nh
vi
vi
vi
vi
ế
ế
ế
ế
t
t
t
t
l
l
l
l
ạ
ạ
ạ
ạ
i
i
i
i
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
c
c
c
c
ó
ó
ó
ó
s
s
s
s
ẵ
ẵ
ẵ
ẵ
n
n
n
n
H
ã
y
đươ
ng
đầ
u
v
ớ
i
n
ó
.
Đô
i
khi
th
ậ
t
l
à
kh
ó
để
tr
á
nh
chuy
ệ
n
n
à
y.
Tr
ướ
c
ti
ê
n,
m
ộ
t
l
ậ
p
tr
ì
nh
vi
ê
n
kh
ô
ng
th
ể
theo
k
ị
p
c
á
c
h
à
m
c
ủ
a
PHP
ngay
đượ
c.
V
à
ai
c
ó
th
ờ
i
gian
m
à
tra
c
ứ
u.
T
ạ
i
sao
kh
ô
ng
vi
ế
t
l
ạ
i
cho
kho
ẻ
?
C
á
ch
l
à
m
c
ủ
a
t
ô
i
l
à
lu
ô
n
c
ó
s
ẵ
n
m
ộ
t
t
à
i
li
ệ
u
ch
ỉ
d
ẫ
n
PHP
(
PHP
manual
)
m
ỗ
i
khi
vi
ế
t
ch
ươ
ng
tr
ì
nh
(t
á
c
gi
ả
b
à
i
n
à
y
d
ù
ng
m
ộ
t
b
ả
n
PDF
c
ó
t
ạ
o
ch
ỉ
m
ụ
c,
ri
ê
ng
t
ô
i,
ng
ườ
i
d
ị
ch,
th
ì
d
ù
ng
m
ộ
t
t
à
i
li
ệ
u
CHM
đầ
y
đủ
th
ô
ng
tin
v
à
c
ó
c
ả
g
ó
p
ý
c
ủ
a
ng
ườ
i
s
ử
d
ụ
ng
m
à
b
ạ
n
c
ó
th
ể
l
ấ
y
ở
http://www.php.net/docs.php)
.
Sau
đó
,
m
ỗ
i
khi
đị
nh
vi
ế
t
m
ộ
t
h
à
m
m
ở
r
ộ
ng
cho
PHP,
t
ô
i
đọ
c
l
ướ
t
qua
t
à
i
li
ệ
u
để
xem
h
à
m
đó
c
ó
ch
ư
a.
Tuy
nhi
ê
n,
c
ầ
n
ch
ú
ý
l
à
,
do
b
ả
n
ch
ấ
t
m
ã
ngu
ồ
n
m
ở
c
ủ
a
PHP,
b
ạ
n
c
ó
th
ể
t
ì
m
đượ
c
c
á
c
h
à
m
do
ng
ườ
i
d
ù
ng
đị
nh
ngh
ĩ
a
tr
ướ
c
khi
n
ó
đượ
c
th
ê
m
v
à
o
PHP
(th
í
d
ụ
nh
ư
h
à
m
t
ì
m
ph
ầ
n
t
ử
kh
á
c
nhau
gi
ữ
a
hai
m
ả
ng).
Đ
i
ề
u
n
à
y
kh
ô
ng
c
ó
ngh
ĩ
a
l
à
b
ạ
n
ph
ả
i
hi
ệ
u
ch
ỉ
nh
l
ạ
i
m
ã
(This
doesn't
necessarily
mean
that
you
should
have
to
correct
the
code.
-
don't
understand)
16.
16.
16.
16.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
t
t
t
t
á
á
á
á
ch
ch
ch
ch
bi
bi
bi
bi
ệ
ệ
ệ
ệ
t
t
t
t
ph
ph
ph
ph
ầ
ầ
ầ
ầ
n
n
n
n
server
server
server
server
v
v
v
v
à
à
à
à
client
client
client
client
V
à
i
l
ậ
p
tr
ì
nh
vi
ê
n
c
ố
k
ế
t
n
ố
i
c
ả
ch
ươ
ng
tr
ì
nh
v
ớ
i
nhau,
ngh
ĩ
a
l
à
gh
é
p
chung
m
ã
HTML
(client-side
-
ph
ầ
n
kh
á
ch)
v
ớ
i
m
ã
PHP
(server-side
-
ph
ầ
n
ch
ủ
)
v
à
o
trong
m
ộ
t
t
ậ
p
tin
l
ớ
n.
M
ặ
c
d
ù
đ
i
ề
u
n
à
y
t
ố
t
cho
c
á
c
site
nh
ỏ
,
nh
ư
ng
n
ó
c
ó
th
ể
tr
ở
th
à
nh
v
ấ
n
đề
l
ớ
n
khi
c
á
c
site
đó
tr
ở
n
ê
n
l
ớ
n
h
ơ
n
v
à
đượ
c
b
ổ
sung
th
ê
m
t
í
nh
n
ă
ng.
L
ậ
p
tr
ì
nh
theo
c
á
ch
n
à
y
l
à
m
n
ả
y
sinh
v
ấ
n
đề
kh
ó
b
ả
o
tr
ì
v
à
c
á
c
t
ậ
p
tin
tr
ở
n
ê
n
c
ồ
ng
k
ề
nh.
1.
1.
1.
1.
H
H
H
H
à
à
à
à
m
m
m
m
API
API
API
API
Khi
mu
ố
n
t
á
ch
bi
ệ
t
ph
ầ
n
kh
á
ch
-
ch
ủ
,
b
ạ
n
c
ó
v
à
i
l
ự
a
ch
ọ
n.
M
ộ
t
c
á
ch
l
à
vi
ế
t
nh
ữ
ng
h
à
m
hi
ể
n
th
ị
n
ộ
i
dung
linh
độ
ng
v
à
đặ
t
ch
ú
ng
đú
ng
ch
ỗ
trong
trang
web.
Th
í
d
ụ
d
ướ
i
đâ
y
minh
ho
ạ
đ
i
ề
u
n
à
y:
index.php
index.php
index.php
index.php
-
ph
ầ
n
kh
á
ch
return
strlen
(
$str
);
}
?>
HTML
HTML
HTML
HTML
<
?php
include_once
("site.lib");
?>
<
html
>
<
head
>
<
title
>
<?php
print_header
();
?>
<
/title
>
<
/head
>
<
body
>
<
h1
>
<
?php
print_header
();
?
>
<
/h1
>
<
table
border
="
0
"
cellpadding="
0
"
cellspacing="
0
">
<
tr
>
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
23
23
23
23
Dormitory
204.B5
18:20
PM
April
7,
2006
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
d
d
d
d
ù
ù
ù
ù
ng
ng
ng
ng
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
s
s
s
s
ẵ
ẵ
ẵ
ẵ
n
n
n
n
c
c
c
c
ó
ó
ó
ó
Nhi
ề
u
l
ậ
p
tr
ì
nh
vi
ê
n
PHP
c
ó
n
ề
n
t
ả
ng
C
c
ó
v
ẻ
kh
ô
ng
nh
ậ
n
ra
r
ằ
ng
PHP
cung
c
ấ
p
nhi
ề
u
h
à
m
s
ẵ
n
c
ó
gi
ú
p
thay
th
ế
c
á
c
đ
o
ạ
n
m
ã
d
à
i.
N
ế
u
b
ạ
n
đế
n
v
ớ
i
PHP
t
ừ
C,
t
ô
i
khuy
ê
n
b
ạ
n
n
ê
n
đọ
c
qua
t
à
i
li
ệ
u
tr
ướ
c
khi
vi
ế
t
m
ộ
t
kh
ố
i
l
ệ
nh
để
xem
PHP
c
ó
s
ẵ
n
h
à
m
n
à
o
gi
ú
p
cu
ộ
c
s
ố
n
g
c
ủ
a
b
ạ
n
d
ễ
d
à
ng
h
ơ
n
kh
ô
ng.
Đổ
Đổ
Đổ
Đổ
i
i
i
i
t
t
t
t
ê
ê
ê
ê
n
n
n
n
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
PHP
PHP
PHP
PHP
đã
đã
đã
đã
c
c
c
c
ó
ó
ó
ó
T
ô
i
đã
th
ấ
y
ng
ườ
i
ta
đổ
i
t
ê
n
c
á
c
h
à
m
đã
c
ó
c
ủ
a
PHP
ch
ỉ
để
gi
ú
p
h
ọ
d
ễ
nh
ớ
h
ơ
n.
Đ
i
ề
u
n
à
y
kh
ô
ng
ch
ỉ
l
à
m
ch
ậ
m
ch
ươ
ng
tr
ì
nh,
m
à
l
à
m
cho
đ
o
ạ
n
m
ã
kh
ó
đọ
c
h
ơ
n.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
h
h
h
h
ướ
ướ
ướ
ướ
ng
ng
ng
ng
đố
đố
đố
đố
i
i
i
i
t
t
t
t
ượ
ượ
ượ
ượ
ng
ng
ng
ng
qu
qu
qu
qu
á
á
á
á
m
m
m
m
ứ
ứ
ứ
ứ
c
c
c
c
PHP
kh
ô
ng
ph
ả
i
l
à
m
ộ
t
ng
ô
n
ng
ữ
H
Đ
T,
d
ù
n
ó
cung
c
ấ
p
c
á
c
t
í
nh
n
ă
ng
H
Đ
T.
B
ạ
n
c
ầ
n
lu
ô
n
nh
ậ
n
th
ứ
c
r
ằ
ng
H
Đ
T
trong
PHP
s
ẽ
l
à
m
ch
ậ
m
đá
ng
k
ể
ch
ươ
ng
tr
ì
nh.
1.
1.
1.
1.
L
L
L
L
ấ
ấ
ấ
ấ
y
y
y
y
th
th
th
th
ô
ô
ô
ô
ng
ng
ng
ng
tin
tin
tin
tin
ở
ở
ở
ở
đâ
đâ
đâ
đâ
u?
u?
u?
u?
May
m
ắ
n
l
à
c
ó
r
ấ
t
nhi
ề
u
th
ô
ng
tin
v
ề
vi
ệ
c
l
à
m
th
ế
n
à
o
để
l
ậ
p
tr
ì
nh
PHP.
V
à
i
n
ơ
i
t
ố
t
nh
ấ
t
l
à
Zend.com
b
ả
n
g
ố
c
c
ủ
a
b
à
i
vi
ế
t
n
à
y
l
à
ở
đó
Professional
PHP
m
ộ
t
trong
nh
ữ
ng
s
á
ch
to
à
n
di
ệ
n
t
ố
t
nh
ấ
t
v
ề
PHP,
t
ố
t
cho
c
ả
l
ậ
p
tr
ì
nh
vi
ê
n
v
à
kh
ô
ng-l
ậ
p
tr
ì
nh
vi
ê
n.
Web
Application
Development
with
PHP
M
ộ
t
quy
ể
n
s
á
ch
tuy
ệ
t
v
ờ
i
d
ạ
y
b
ạ
n
c
ả
c
á
ch
ph
á
t
tri
ể
n
web
l
ẫ
n
v
à
i
t
í
nh
n
ă
ng
cao
c
ấ
p
c
ủ
a
PHP.
Bao
g
ồ
m
c
á
c
t
à
i
li
ệ
u
ch
í
nh
th
ứ
c
v
ề
Zend
API.
The
PHP
Developer's
Cookbook
M
ộ
t
quy
ể
n
s
á
ch
thi
ê
n
v
ề
l
ờ
i
gi
ả
i
đá
p
cho
c
á
c
v
ấ
n
đề
g
ặ
p
ph
ả
i
trong
PHP
(do
tui
-
Sterling
Hughes
-
vi
ế
t
c
ù
ng
Andrei
Zmievski)
8.
8.
8.
8.
Kh
Kh
Kh
Kh
ô
ô
ô
ô
ng
ng
ng
ng
nh
nh
nh
nh
ậ
ậ
ậ
ậ
n
n
n
n
th
th
th
th
ứ
ứ
ứ
ứ
c
c
c
c
đầ
đầ
đầ
đầ
y
y
y
y
đủ
đủ
đủ
đủ
v
v
v
v
ề
ề
ề
ề
b
b
b
b
ả
ả
ả
ả
o
o
o
o
m
m
m
m
ậ
ậ
ậ
ậ
t
t
t
t
Nh
ữ
ng
ng
ườ
i
d
ù
ng
kh
ô
ng
ph
ả
i
l
ú
c
n
à
o
c
ũ
ng
l
à
m
vi
ệ
c
v
ớ
i
h
ệ
th
ố
ng
c
ủ
a
ch
ú
ng
ta.
V
ớ
i
t
ư
c
á
ch
l
à
l
ậ
p
tr
ì
nh
vi
ê
n,
tr
á
ch
nhi
ệ
m
c
ủ
a
ch
ú
ng
ta
l
à
thi
ế
t
k
ế
m
ộ
t
h
ệ
th
ố
ng
an
to
à
n,
d
ễ
ch
ị
u
c
ó
th
ể
l
à
m
vi
ệ
c
đượ
c
chung
v
ớ
i
l
ỗ
i
c
ủ
a
ng
ườ
i
d
ù
ng.
Khi
thi
ế
t
k
ế
h
ệ
th
ố
ng,
b
ạ
n
ph
ả
i
đặ
t
m
ì
nh
v
à
o
v
ị
tr
í
ng
ườ
i
d
ù
ng.
Xem
x
é
t
nh
ữ
ng
ch
ỗ
h
ọ
c
ó
th
ể
g
ặ
p
l
ỗ
i
v
à
t
ì
m
ki
ế
m
nh
ữ
ng
l
ỗ
h
ổ
ng
b
ả
o
m
ậ
t
ti
ề
m
t
à
ng.
R
ồ
i
b
ạ
n
thi
ế
t
k
ế
ch
ươ
ng
tr
ì
nh
c
ó
kh
ả
n
ă
ng
s
ử
a
ch
ữ
a
l
ỗ
i
n
à
y
v
à
l
ấ
p
c
á
c
l
ỗ
h
ổ
ng
b
ả
o
m
ậ
t.
M
ộ
t
đ
i
ề
u
kh
á
c
c
ũ
ng
quan
tr
ọ
ng
l
à
:
d
ù
x
ả
y
ra
h
ư
h
ỏ
ng
hay
h
ệ
th
ố
ng
b
ị
t
ấ
n
c
ô
ng
l
à
do
l
ỗ
i
c
ủ
a
ng
ườ
i
d
ù
ng,
ch
í
nh
b
ạ
n
l
à
ng
ườ
i
ch
ị
u
tr
á
ch
nhi
ệ
m
n
ế
u
b
ạ
n
đã
vi
ế
t
ch
ươ
ng
tr
ì
nh
c
ó
nhi
ề
u
l
ỗ
i
hay
thi
ế
u
nh
ữ
ng
b
ướ
c
ki
ể
m
tra
c
ầ
n
thi
ế
t
d
ẫ
n
đế
n
h
ỏ
ng
d
ữ
li
ệ
u.
Th
í
d
ụ
,
t
ô
i
đã
th
ấ
y
nhi
ề
u
ch
ươ
ng
tr
ì
nh
kh
ô
ng
d
ù
ng
h
à
m
đã
c
ó
c
ủ
a
PHP
mail()
v
ố
n
an
to
à
n
m
à
l
ạ
i
đ
i
d
ù
ng
sendmail
th
ô
ng
qua
popen()
.
N
ó
c
ó
th
ể
d
ẫ
n
đế
n
nhi
ề
u
l
ỗ
h
ổ
ng
b
ả
o
m
ậ
t
(th
í
d
ụ
nh
ư
/etc/passwd
đượ
c
g
ử
i
đế
n
ng
ườ
i
d
ù
ng
cu
ố
i).
C
ó
v
à
i
n
ơ
i
th
ườ
ng
x
ả
y
ra
c
á
c
s
ự
c
ố
v
ề
b
ả
o
m
ậ
t,
ho
ặ
c
ti
ề
m
n
ă
ng
g
â
y
ra
h
ỏ
ng
d
ữ
li
ệ
u
r
ấ
t
l
ớ
n:
Th
ự
c
hi
ệ
n
l
ờ
i
g
ọ
i
h
ệ
th
ố
ng.
T
ô
i
kh
ô
ng
c
ó
c
á
ch
n
à
o
di
ễ
n
t
ả
đượ
c
m
ứ
c
độ
nguy
hi
ể
m
c
ủ
a
v
ấ
n
đề
n
à
y.
Lu
ô
n
đả
m
b
ả
o
r
ằ
ng
m
ọ
i
d
ữ
li
ệ
u
ng
ườ
i
d
ù
ng
đư
a
v
à
o
l
à
an
to
à
n
tr
ướ
c
khi
chuy
ể
n
n
ó
cho
m
ộ
t
l
ờ
i
g
ọ
i
h
ệ
th
ố
ng.
ĐỪ
ĐỪ
ĐỪ
ĐỪ
NG
NG
NG
NG
BAO
BAO
BAO
BAO
GI
GI
GI
GI
Ờ
Ờ
Ờ
Ờ
TIN
TIN
TIN
TIN
NG
NG
NG
NG
ƯỜ
ƯỜ
ƯỜ
ƯỜ
I
I
I
I
D
D
D
D
Ù
Ù
Ù
Ù
NG
NG
NG
NG
M
M
M
M
Ộ
Ộ
Ộ
Ộ
T
T
T
T
C
C
C
C
Á
Á
Á
Á
CH
CH
CH
CH
M
M
M
M
Ù
Ù
Ù
Ù
QU
QU
QU
QU
Á
Á
Á
Á
NG
NG
NG
NG
KHI
KHI
KHI
KHI
ĐƯ
ĐƯ
ĐƯ
ĐƯ
A
A
A
A
D
D
D
D
Ữ
Ữ
Ữ
Ữ
LI
LI
LI
LI
Ệ
Ệ
Ệ
Ệ
U
U
U
U
C
C
C
C
Ủ
Ủ
Ủ
Ủ
A
A
A
A
H
H
H
H
Ọ
Ọ
Ọ
Ọ
V
V
V
V
À
À
À
À
O
O
O
O
L
L
L
L
Ờ
Ờ
Ờ
Ờ
I
I
I
I
G
G
G
G
Ọ
Ọ
Ọ
Ọ
I
I
I
I
H
H
H
H
Ệ
Ệ
Ệ
Ệ
TH
TH
TH
TH
Ố
Ố
Ố
Ố
NG
NG
NG
NG
M
M
M
M
À
À
À
À
KH
KH
KH
KH
Ô
Ô
Ô
Ô
NG
NG
NG
NG
KI
KI
KI
KI
Ể
Ể
Ể
Ể
M
M
M
M
TRA
TRA
TRA
TRA
TR
TR
TR
TR
ƯỚ
ƯỚ
ƯỚ
ƯỚ
C
C
C
C
.
Khi
đă
ng
k
í
ng
ườ
i
d
ù
ng.
N
ế
u
b
ạ
n
tr
ô
ng
mong
c
ó
k
ế
t
qu
ả
ch
í
nh
x
á
c,
lu
ô
n
ki
ể
m
tra
v
à
đả
m
b
ả
o
b
ả
n
đă
ng
k
í
đượ
c
ki
ể
m
tra
nh
ữ
ng
ch
ỗ
c
ầ
n
thi
ế
t.
Tr
ướ
c
ti
ê
n,
c
ó
nhi
ề
u
c
á
ch
để
ki
ể
m
tra
m
ộ
t
đị
a
ch
ỉ
e-mail
h
ợ
p
l
ệ
.
H
ơ
n
n
ữ
a,
b
ạ
n
n
ê
n
ki
ể
m
tra
tu
ổ
i
c
ủ
a
ng
ườ
i
d
ù
ng
c
ó
n
ằ
m
trong
ph
ạ
m
vi
th
í
ch
h
ợ
p
kh
ô
ng.
V
ớ
i
m
ộ
t
s
ự
suy
r
ộ
ng,
b
ạ
n
c
ó
PHP
programming
dynamic
web
for
ewreybody
21
Fatal
errors
in
programming
with
PHP
–
Collect
from
writ
t
ing
of
Sterling
Hughes
NGUYEN
ANH
KHOA
–
Class
27K0A
–
Department
Of
Information
Technology
12
12
12
12
Dormitory
204.B5
18:20
PM
April
7,
2006
S
ự
l
ấ
y
m
ẫ
u
kh
ô
ng
ch
í
nh
x
á
c
l
à
m
ộ
t
th
í
d
ụ
hay
v
ề
v
ấ
n
đề
n
à
y.
V
à
i
ng
ườ
i
vi
ế
t
l
ệ
nh
kh
ô
ng
d
à
nh
th
ờ
i
gian
để
ngh
ĩ
th
ấ
u
đá
o.
Đú
ng
l
à
kh
ô
ng
ch
ỉ
c
ó
duy
nh
ấ
t
m
ộ
t
c
á
ch
“đú
ng
”
để
l
ấ
y
m
ẫ
u
d
ữ
li
ệ
u,
nh
ư
ng
n
ó
c
ó
r
ấ
t
nhi
ề
u
c
á
ch
kh
ô
ng
đú
ng.
Ph
ầ
n
n
à
y
bao
g
ồ
m
c
á
c
ch
ủ
đề
:
Á
p
d
ụ
ng
sai
c
á
c
h
à
m
v
ề
CSDL
D
ù
ng
sai
SQL:
kh
ô
ng
l
ấ
y
nh
ữ
ng
th
ứ
b
ạ
n
c
ầ
n
D
ù
ng
PHP
để
s
ắ
p
x
ế
p
k
ế
t
qu
ả
1.
1.
1.
1.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
sai
sai
sai
sai
c
c
c
c
á
á
á
á
c
c
c
c
h
h
h
h
à
à
à
à
m
m
m
m
CSDL
CSDL
CSDL
CSDL
M
ộ
t
đ
o
ạ
n
m
ã
PHP
đã
d
ù
ng
c
ú
ph
á
p
sau
để
l
ấ
y
k
ế
t
qu
ả
t
ừ
CSDL
(presented
below
using
a
generalized
set
of
SQL
functions):
if
(!(
$mautin
=
sql_fetch_row
(
$truyvan
)))
{
print
"Mot
loi
xay
ra:
Khong
tim
thay
mau
tin
nao!"
;
exit;
}
do
{
print
"$mautin[0]:
$mautin[1]\n<br>\n"
;
}
while
(
$mautin
=
sql_fetch_row
(
$truyvan
));
Ch
Ch
Ch
Ch
ú
ú
ú
ú
ý
ý
ý
ý
:
:
:
:
Ở
tr
ê
n,
v
à
c
á
c
th
í
d
ụ
sau
n
ữ
a,
$truyvan
di
ễ
n
t
ả
handle
ho
ặ
c
pointer
đế
n
m
ộ
t
t
ậ
p
k
ế
t
qu
ả
truy
v
ấ
n...