Ngày tải lên :
23/01/2013, 15:02
... 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"
;
if
(
$idx
++
==
5
):
break;
endif;
endwhile;
//
Better
Practice
//
(the
code
could
be
optimized
though)
while
(
1
)
{
print
"5"
;
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
,
10 24
))
{
$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 ... 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"
;
if
(
$idx
++
==
5
):
break;
endif;
endwhile;
//
Better
Practice
//
(the
code
could
be
optimized
though)
while
(
1
)
{
print
"5"
;
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
,
10 24
))
{
$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 ... 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"
;
if
(
$idx
++
==
5
):
break;
endif;
endwhile;
//
Better
Practice
//
(the
code
could
be
optimized
though)
while
(
1
)
{
print
"5"
;
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
,
10 24
))
{
$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...