Slide 18
Slide 18 text
Example After
<
?
p
h
p
f
u
n
c
t
i
o
n l
o
g
i
n
(
$
u
s
e
r
n
a
m
e
, $
p
a
s
s
w
o
r
d
) {
t
r
y {
/
/ g
e
t u
s
e
r f
r
o
m d
b
$
u
s
e
r = R
e
p
o
s
i
t
o
r
y
:
:
g
e
t
(
$
u
s
e
r
n
a
m
e
, $
p
a
s
s
w
o
r
d
)
;
/
/ F
i
r
e p
o
s
t l
o
g
i
n e
v
e
n
t
$
e
v
e
n
t
:
:
t
r
i
g
g
e
r
(
'
a
f
t
e
r
L
o
g
i
n
'
, c
o
m
p
a
c
t
(
'
u
s
e
r
'
)
)
;
} c
a
t
c
h (
\
E
x
c
e
p
t
i
o
n $
e
) {
r
e
t
u
r
n f
a
l
s
e
;
}
r
e
t
u
r
n t
r
u
e
;
<
?
p
h
p
$
e
v
e
n
t
:
:
l
i
s
t
e
n
(
'
a
f
t
e
r
L
o
g
i
n
'
, f
u
n
c
t
i
o
n
(
$
e
v
e
n
t
) {
i
f (
$
e
v
e
n
t
-
>
d
a
t
a
[
'
u
s
e
r
'
]
-
>
r
o
l
e
-
>
a
d
m
i
n
) {
$
_
S
E
S
S
I
O
N
[
'
a
d
m
i
n
'
] = t
r
u
e
}
}
)
;
$
e
v
e
n
t
:
:
l
i
s
t
e
n
(
'
a
f
t
e
r
L
o
g
i
n
'
, f
u
n
c
t
i
o
n
(
$
e
v
e
n
t
) {
$
e
v
e
n
t
-
>
d
a
t
a
[
'
u
s
e
r
'
]
-
>
u
p
d
a
t
e
L
a
s
t
L
o
g
i
n
(
t
i
m
e
(
)
)
;
R
e
p
o
s
i
t
o
r
y
:
:
s
a
v
e
U
s
e
r
(
$
e
v
e
n
t
-
>
d
a
t
a
[
'
u
s
e
r
'
]
)
;