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
>
50000
)
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
... 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
>
50000
)
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
...
endControlStructure
endControlStructure
endControlStructure
endControlStructure
;
HTML
HTML
HTML
HTML
<
html
>
<
head
>
<
title
>%%PAGE_TITLE%%<
/title
>
<
/head
>
<
body
%%BODY_PROPERTIES%%
>
<
h1
>%%PAGE_TITLE%%<
/h1
>
<
table
border
="
0
"
cellpadding="
0
"
cellspacing="
0
">
<
tr
>
<
td
width
="
25%
">%%PAGE_LINKS%%<
/td
>
<
td
>%%PAGE_CONTENT%%<
/td
>
<
/tr
>
<
/table
>
<
/body
>
<
/html
>
<?
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
2
2
2
2
Dormitory
204.B5
18:20
PM
April
7,
2006
print
print
print
print
"Ten
cua
tui
la:
$name
\n
\n
\n
\n
<br>
\n
\n
\n
\n
Hien
dang
la:
$nghenghiep,
$diachi
\n
\n
\n
\n
<br>
\n
\n
\n
\n
Lien
he
voi
toi
qua
Email:
$email
\n
\n
\n
\n
<br>
\n
\n
\n
\n
"
;
;
;
;
Khi
kh
ô
ng
c
ầ
n
đị
nh
d
ạ
ng
s
ử
li
ệ
u,
d
ù
ng
print()
thay
cho
printf()
c
ó
nh
ữ
ng
l
ợ
i
í
ch
sau:
Thi
Thi
Thi
Thi
h
h
h
h
à
à
à
à
nh
nh
nh
nh
nhanh
nhanh
nhanh
nhanh
h
h
h
h
ơ
ơ
ơ
ơ
n:
n:
n:
n:
h
à
m
printf()
đị
nh
d
ạ
ng
d
ữ
li
ệ
u
c
ủ
a
b
ạ
n
tr
ướ
c
khi
hi
ể
n
th
ị
,
n
ó
s
ẽ
ch
ậ
m
h
ơ
n
print()
ho
ặ
c
echo()
M
M
M
M
ã
ã
ã
ã
s
s
s
s
á
á
á
á
ng
ng
ng
ng
s
s
s
s
ủ
ủ
ủ
ủ
a:
a:
a:
a:
h
ã
y
xem,
d
ù
ng
h
à
m
printf()
s
ẽ
l
à
m
cho
ng
ườ
i
đọ
c
h
ơ
i
b
ị
l
ẫ
n
l
ộ
n
(t
ấ
t
nhi
ê
n
tr
ừ
khi
h
ọ
c
ó
n
ề
n
t
ả
ng
C).
N
ó
đò
i
h
ỏ
i
ki
ế
n
th
ứ
c
v
ề
c
ú
ph
á
p
printf()
(th
í
d
ụ
,
%s
thay
cho
chu
ỗ
i
c
ò
n
%d
l
à
s
ố
)
v
à
v
ề
ki
ể
u
bi
ế
n
2.
2.
2.
2.
D
D
D
D
ù
ù
ù
ù
ng
ng
ng
ng
printf()
printf()
printf()
printf()
để
để
để
để
xu
xu
xu
xu
ấ
ấ
ấ
ấ
t
t
t
t
d
d
d
d
ữ
ữ
ữ
ữ
li
li
li
li
ệ
ệ
ệ
ệ
u
u
u
u
tr
tr
tr
tr
ả
ả
ả
ả
v
v
v
v
ề
ề
ề
ề
t
t
t
t
ừ
ừ
ừ
ừ
g
g
g
g
ọ
ọ
ọ
ọ
i
i
i
i
h
h
h
h
à
à
à
à
m
m
m
m
M
ộ
t
l
ỗ
i
th
ườ
ng
g
ặ
p
kh
á
c
l
à
d
ù
n
printf()
để
xu
ấ
t
d
ữ
li
ệ
u
tr
ả
v
ề
t
ừ
g
ọ
i
h
à
m,
th
í
d
ụ
nh
ư
h
à
m
đế
m
d
ướ
i
đâ
y:
Khi
xu
ấ
t
gi
á
tr
ị
do
h
à
m
tr
ả
v
ề
,
to
á
n
t
ử
.
n
ê
n
d
ù
ng
để
n
ố
i
trong
print(),
nh
ư
d
ướ
i
đâ
y:
D
ù
ng
to
á
n
t
ử
.
nhanh
h
ơ
n
vi
ệ
c
d
ù
ng
printf()
20.
20.
20.
20.
Á
Á
Á
Á
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
(semantics)
(semantics)
(semantics)
(semantics)
Nhi
ề
u
l
ậ
p
tr
ì
nh
vi
ê
n
s
ử
d
ụ
ng
PHP
m
à
kh
ô
ng
bi
ế
t
đế
n
nh
ữ
ng
đ
i
ể
m
tinh
t
ế
c
ủ
a
ng
ô
n
ng
ữ
n
à
y.
M
ộ
t
trong
nh
ữ
ng
đ
i
ể
m
đó
l
à
s
ự
kh
á
c
nhau
gi
ữ
a
c
ú
ph
á
p
(syntax)
v
à
ng
ữ
ngh
ĩ
a
(semantics).
C
C
C
C
ú
ú
ú
ú
ph
ph
ph
ph
á
á
á
á
p:
p:
p:
p:
nh
ữ
ng
quy
t
ắ
c
đị
nh
ngh
ĩ
a
m
ộ
t
ph
ầ
n
t
ử
.
Th
í
d
ụ
:
d
ấ
u
$
để
tr
ướ
c
d
ù
ng
đị
nh
ngh
ĩ
a
bi
ế
n,
d
ù
ng
d
ấ
u
()
v
à
c
á
c
tham
s
ố
đị
nh
ngh
ĩ
a
m
ộ
t
h
à
m...