-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathadd.php
39 lines (33 loc) · 1.69 KB
/
add.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
<?php
require_once 'init.php';
if (isset($_SESSION['id'])) {
$projects = get_projects($connection, $_SESSION['id']);
// проверяем была ли отправка формы добавления новой задачи
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// валидируем поля формы
$errors = validate_task_form($connection, $_POST, $_SESSION['id']);
// проверяем если массив с ошибками не пустой, то передаем в шаблон ошибки
if (count($errors)) {
$page_content = include_template('add.php', ['projects' => $projects, 'errors' => $errors, 'connection' => $connection]);
} else {
$new_task = $_POST;
//если к задаче был добавлен файл, получаем его путь
$file_url = upload_file($_FILES);
$new_task['file'] = $file_url;
// добавляем задачу в базу
$result = add_task($connection, $new_task, $_SESSION['id']);
// если новая задача добавлена в базу успешно, переадрисоываем пользователя на главную
if ($result) {
header("Location: /");
exit();
}
}
} else {
$page_content = include_template('add.php', ['projects' => $projects, 'connection' => $connection]);
}
$layout_content = include_template('layout.php', ['content' => $page_content, 'title' => 'Дела в порядке']);
print($layout_content);
} else {
header("HTTP/1.1 403 Forbidden");
exit();
}