>  기사  >  백엔드 개발  >  PHP 페이지에서 양식 재제출을 방지하는 방법은 무엇입니까?

PHP 페이지에서 양식 재제출을 방지하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-03 11:11:29772검색

How to Prevent Form Resubmission in PHP Pages?

PHP 페이지에서 양식 다시 제출 방지

삽입 기능이 포함된 PHP 페이지를 새로 고칠 때 양식 다시 제출 문제가 발생할 수 있습니다. 중복된 데이터가 삽입될 수 있습니다. 이를 방지하려면 PRG(Post-Redirect-Get) 패턴을 사용하는 것이 좋습니다.

PRG 패턴

PRG 패턴에는 다음이 포함됩니다.

  1. POST 요청 수락: 제출된 양식 데이터를 받습니다.
  2. 데이터 처리: 유효성 검사, 삽입 또는 필요한 작업을 수행합니다.
  3. 리디렉션 응답 발행: 사용자를 새 URL로 리디렉션합니다.
  4. GET 요청 수락: 사용자가 새로 고친 링크를 클릭하고 새 요청을 합니다.
  5. 200 응답 발행: 필요한 데이터가 있는 페이지를 표시합니다.

예를 들어, 사용자가 메모를 추가할 수 있는 페이지를 만들고 있습니다. 동일한 페이지에서 삽입 기능을 사용하는 대신 다음과 같이 PRG 패턴을 구현할 수 있습니다.

  • 1페이지(add_note.php): 양식을 표시합니다.
  • 2페이지(process_note.php): POST 요청을 수락하고 노트 제출을 처리합니다.
  • 3페이지(view_notes.php): GET을 수락합니다. 업데이트된 메모를 요청하고 표시합니다.

양식 데이터 표시 처리

처리 후 제출된 양식의 데이터를 표시해야 하는 경우 고유한 리디렉션 URL의 쿼리 문자열에 있는 식별자입니다. 예를 들어, process_note.php의 리디렉션 응답은 다음과 같습니다.

<code class="php">header("Location: view_notes.php?note_id=$new_note_id");</code>

view_notes.php에서 쿼리 문자열의 note_id를 사용하여 새로 삽입된 메모를 검색하고 표시할 수 있습니다.

위 내용은 PHP 페이지에서 양식 재제출을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.