1 / 1 / 0
Регистрация: 13.01.2013
Сообщений: 130
|
|
1
|
MVC: не работает кнопка удалить
01.08.2020, 18:48. Показов 1339. Ответов 2
При нажатии кнопки "Delete" приложение ни как не реагирует.
case 'task_delete' сам по себе срабатывает (проверено).
А if (isset($_POST['add'])) не работает.
Подскажите как правильно и по феншую это настраивается.
routes.php
Кликните здесь для просмотра всего текста
PHP | 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
60
61
62
63
64
65
66
67
68
| <?php
function call($controller, $action) {
require_once('controllers/' . $controller . 'Controller.php');
switch($controller) {
case 'pages':
$controller = new PagesController();
break;
case 'posts':
require_once('models/post.php');
$controller = new PostsController();
break;
case 'tasks':
require_once('models/Task.php');
$controller = new TasksController();
break;
}
switch($action) {
case 'task_edit':
if (isset($_POST['add'])) {
$id = $_POST['id'];
$name = $_POST['name'];
$email = $_POST['roll_number'];
$class = $_POST['dob'];
$task = new Task($id, $name, $email, $class);
$insertId = $task->addTask($id, $name, $email, $class);
header("Location: index.php?controller=tasks&action=index");
}
break;
case 'task_delete':
if (isset($_POST['add'])) {
$id = $_POST['id'];
$task = new Task($id);
$insertId = $task->deleteTask($id);
header("Location: index.php?controller=tasks&action=index");
}
break;
}
$controller->{ $action }();
}
$controllers = array('pages' => ['home', 'error'],
'posts' => ['index', 'show'],
'tasks' => ['index', 'task_show', 'task_edit', 'task_add', 'task_delete']);
if (array_key_exists($controller, $controllers)) {
if (in_array($action, $controllers[$controller])) {
call($controller, $action);
} else {
call('pages', 'error');
}
} else {
call('pages', 'error');
}
?> |
|
views/tasks/task_delete.php
Кликните здесь для просмотра всего текста
PHP | 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
| <div id="mail-status">
<p>Аre you sure delete?</p>
<div>
<label style="padding-top: 20px;">Name</label> <span
id="name-info" class="info"></span><br /> <input type="text"
name="name" id="name" class="demoInputBox"
value="<?php echo $task->name; ?>" disabled>
</div>
<div>
<label>Email</label> <span id="roll-number-info"
class="info"></span><br /> <input type="text"
name="roll_number" id="roll_number" class="demoInputBox"
value="<?php echo $task->email; ?>" disabled>
</div>
<div>
<label>Task</label> <span id="dob-info" class="info"></span><br />
<input type="text" name="dob" id="dob" class="demoInputBox"
value="<?php echo $task->task; ?>" disabled>
</div>
<div>
<input type="submit" name="add" id="btnSubmit" value="Delete" />
</div>
</div>
</body>
</html> |
|
controllers/tasksController.php
Кликните здесь для просмотра всего текста
PHP | 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
| <?php
class TasksController {
public function index() {
$tasks = Task::all();
require_once('views/tasks/index.php');
}
public function task_show() {
if (!isset($_GET['id']))
return call('pages', 'error');
$task = Task::find($_GET['id']);
require_once('views/tasks/task_show.php');
}
public function task_edit() {
if (!isset($_GET['id']))
return call('pages', 'error');
$task = Task::find($_GET['id']);
require_once('views/tasks/task_edit.php');
}
public function task_delete() {
if (!isset($_GET['id']))
return call('pages', 'error');
$task = Task::find($_GET['id']);
require_once('views/tasks/task_delete.php');
}
public function task_add() {
require_once('views/tasks/task_add.php');
}
} |
|
models/Task.php
Кликните здесь для просмотра всего текста
PHP | 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
class Task {
public $id;
public $name;
public $class;
public $email;
public function __construct($id, $name, $email, $class) {
$this->id = $id;
$this->name = $name;
$this->email = $email;
$this->task = $class;
}
public static function all() {
$list = [];
$db = Db::getInstance();
$req = $db->query('SELECT * FROM users');
foreach($req->fetchAll() as $task) {
$list[] = new Task($task['id'], $task['name'], $task['email'], $task['task']);
}
return $list;
}
public static function find($id) {
$db = Db::getInstance();
$id = intval($id);
$req = $db->prepare('SELECT * FROM users WHERE id = :id');
$req->execute(array('id' => $id));
$task = $req->fetch();
return new Task($task['id'], $task['name'], $task['email'], $task['task']);
}
function addTask($id, $name, $email, $class) {
$db = Db::getInstance();
//$id = '';
$query = "INSERT INTO users (id,name,email,task) VALUES (:id, :name, :email, :class)";
$params = [
':id' => $id,
':name' => $name,
':email' => $email,
':class' => $class
];
$stmt = $db->prepare($query);
$stmt->execute($params);
}
function deleteTask($id) {
$db = Db::getInstance();
$query = "DELETE FROM users WHERE `id` = ?";
$params = [$id];
$stmt = $db->prepare($query);
$stmt->execute($params);
}
} |
|
0
|