1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<?php
session_start();
require_once
(
'class.Handler_Event.php'
);
header(
"Content-type:text/html; charset=utf-8"
);
class
Dispatcher{
private
$handle
;
function
__construct(
$event_handle
){
$this
->handle=
$event_handle
;
}
function
handle_the_event(){
$name
=
"handler_$this->handle"
;
if
(
class_exists
(
"$name"
)){
$handler_obj
=
new
$name
(
$this
->handle);
$response
=
$handler_obj
->secure_handler();
return
$response
;
}
else
{
echo
"I can't handle this!"
;
}
}
}
?>
<html>
<head><title>Secure,Event Driven Record Viewer!</title></head>
<body>
<form action=
"<? echo $_SERVER['PHP_SELF'] ?>"
method=
"post"
>
<input type=
"submit"
name=
"event"
value=
"View"
>
<input type=
"submit"
name=
"event"
value=
"Edit"
>
</form>
</body>
</html>
<?php
function
handle(){
$event
=
$_POST
[
'event'
];
$do
=
new
Dispatcher(
$event
);
$do
->handle_the_event();
}
$_SESSION
[
'name'
]=
"Wangzy"
;
if
(isset(
$_POST
[
'event'
])) handle();
?>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
<?php
//Event parent
abstract
class
Event_Handler{
function
dbconn(){
$link_id
=mysql_connect(
"localhost"
,
"root"
,
"root"
);
mysql_select_db(
"mytest"
,
$link_id
);
mysql_query(
"set names utf8"
,
$link_id
);
return
$link_id
;
}
abstract
function
handled_event();
abstract
function
secure_handler();
}
//View Event
class
Handler_View
extends
Event_Handler{
private
$handle
;
function
__construct(
$event_handle
){
$this
->handle=
$event_handle
;
}
function
handled_event(){
echo
"The event,
$this
->handle, is now handled.<br>
It is ,I promise!<br><br>
Your records are
as
follows:<br><br>";
$id
=parent::dbconn();
$result
=mysql_query(
"select * from table01"
,
$id
);
while
(
$row
=mysql_fetch_array(
$result
)){
echo
"Numbers:"
.
$row
[
'number'
].
"\tName:"
.
$row
[
'name'
].
"<br>"
;
}
}
function
secure_handler(){
if
(
$_SESSION
[
'name'
]==
"Wangzy"
){
$this
->handled_event();
}
else
{
echo
"Sorry {$_SESSION['name']} you are not authorized!"
;
}
}
}
//Edit Event
class
Handler_Edit
extends
Event_Handler{
private
$handle
;
function
__construct(
$event_handle
){
$this
->handle=
$event_handle
;
}
function
handled_event(){
echo
"This is event $this->handle, which is now handled -no kidding!<br>"
;
}
function
secure_handler(){
$this
->handled_event();
}
}
|