«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Редактирование и обновление заметок с использованием метода запроса PATCH

Редактирование и обновление заметок с использованием метода запроса PATCH

Опубликовано 19 августа 2024 г.
Просматривать:454

Editing and Updating Notes using PATCH Request Method

В продолжение создания новых заметок с использованием форм и методов запроса мы теперь рассмотрим, как редактировать и обновлять существующие заметки в базе данных с помощью метода запроса PATCH.

Когда пользователь хочет отредактировать заметку, нам необходимо предоставить ему доступ к экрану редактирования. Здесь на помощь приходит кнопка редактирования.

Добавление кнопки редактирования

Во-первых, нам нужно добавить кнопку редактирования под заметкой на экране одной заметки в show.view.php, удалив код кнопки удаления из файла. Эта кнопка переместит пользователя на экран редактирования.

Кнопка редактирования расположена в нижнем колонтитуле страницы отображения заметки. При нажатии он перенаправляет пользователя на экран редактирования, передавая идентификатор заметки в качестве параметра URL-адреса.

Редактирование заметок

Файл edit.php управляет процессом редактирования. Он извлекает заметку из базы данных и разрешает пользователю редактировать заметку. Если пользователь авторизован, отображается экран редактирования, позволяющий пользователю вносить изменения в заметку.

query('select * from notes where id = :id', [
    'id' => $_GET['id']
])->findOrFail();

authorize($note['user_id'] === $currentUserId);

view("notes/edit.view.php", [
    'heading' => 'Edit Note',
    'errors' => [],
    'note' => $note
]);

Файл edit.php использует класс Database для извлечения заметки из базы данных. Затем он проверяет, имеет ли пользователь право редактировать заметку, сравнивая user_id с текущимuserID. Если авторизовано, отображается экран редактирования.

Редактировать вид заметки

Файл edit.view.php содержит код для отображения тела заметки для редактирования с двумя кнопками: «Обновить» и «Отмена».

  • Кнопка «Обновить»: отправляет обновленную заметку на сервер и сохраняет ее в базе данных.

  • Кнопка «Отмена»: отменяет процесс редактирования и перенаправляет пользователя обратно на экран заметок.


= $errors['body'] ?>

Cancel

В режиме редактирования заметки тело заметки отображается в текстовой области, что позволяет пользователю вносить изменения. Кнопка обновления отправляет обновленную заметку на сервер и сохраняет ее в базе данных.

Обновление заметок

Чтобы обновить заметку, нам нужно создать новый файл с именем update.php, который проверяет проверку заметки, а также проверяет авторизацию пользователя. Этот файл позволит только авторизованным пользователям просматривать и редактировать заметки, которые уже присутствуют в базе данных.

query('select * from notes where id = :id', [
    'id' => $_POST['id']
])->findOrFail();

// Check authorization
authorize($note['user_id'] === $currentUserId);

// Check validation
$errors = [];
if (!Validator::string($_POST['body'], 1, 100000)) {
    $errors['body'] = 'A body of no more than 1,000 characters is required.';
}

// if no validation errors, then update
if (count($errors)) {
    return view('notes/edit.view.php', [
        'heading' => 'Edit Note',
        'errors' => $errors,
        'note' => $note
    ]);
}

$db->query('update notes set body = :body where id = :id', [
    'id' => $_POST['id'],
    'body' => $_POST['body']
]);

// redirect the user
header('location: /notes');
die();

Добавление маршрутов

Чтобы разрешить редактирование и обновление заметок, нам нужно добавить в Route.php следующие маршруты:

$router->get('/note/edit', 'controllers/notes/edit.php');
$router->patch('/note', 'controllers/notes/update.php');

Эти маршруты позволят редактировать и обновлять заметки с помощью метода запроса PATCH.

Как это работает

Когда пользователь захочет отредактировать заметку, он перейдет на экран редактирования, где сможет внести изменения в заметку. Когда пользователь отправляет изменения, будет вызван файл update.php. Этот файл проверит, имеет ли пользователь право редактировать заметку и правильность проверки заметки. Если обе проверки пройдены, заметка будет обновлена ​​в базе данных, и пользователь будет перенаправлен обратно на экран заметок. Если какая-либо проверка не пройдена, пользователь будет перенаправлен обратно на экран редактирования с сообщениями об ошибках.

Следуя этим шагам, пользователь сможет легко редактировать и обновлять заметку, используя метод запроса PATCH.

Надеюсь, вы это ясно поняли.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/ghulam_mujtaba_247/editing-and-updating-notes-using-patch-request-method-14k7?1 Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3