"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PATCH 요청 방법을 사용하여 메모 편집 및 업데이트

PATCH 요청 방법을 사용하여 메모 편집 및 업데이트

2024-08-19에 게시됨
검색:564

Editing and Updating Notes using PATCH Request Method

양식 및 요청 방법을 사용하여 새 노트를 생성한 후, 이제 PATCH 요청 방법을 사용하여 데이터베이스의 기존 노트를 편집하고 업데이트하는 방법을 살펴보겠습니다.

사용자가 노트를 편집하고 싶을 때 편집 화면에 액세스할 수 있는 방법을 제공해야 합니다. 여기가 편집 버튼이 있는 곳입니다.

편집 버튼 추가

먼저 파일에서 삭제 버튼 코드를 제거하여 show.view.php의 싱글 노트 화면에서 노트 아래에 편집 버튼을 추가해야 합니다. 이 버튼을 누르면 편집 화면으로 이동합니다.

편집 버튼은 노트 표시 페이지의 바닥글 섹션에 배치됩니다. 클릭 시 노트 ID를 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 파일은 데이터베이스 클래스를 사용하여 데이터베이스에서 메모를 검색합니다. 그런 다음 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에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다. 그것
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3