양식 및 요청 방법을 사용하여 새 노트를 생성한 후, 이제 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'] ?>
노트 편집 보기는 텍스트 영역에 노트 본문을 표시하므로 사용자가 변경할 수 있습니다. 업데이트 버튼은 업데이트된 메모를 서버에 제출하고 데이터베이스에 저장합니다.
메모를 업데이트하려면 노트의 유효성을 확인하고 사용자의 인증도 확인하는 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 요청 방법을 사용하여 메모를 쉽게 편집하고 업데이트할 수 있습니다.
명확하게 이해하셨기를 바랍니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3