페이지 새로 고침 시 의도하지 않은 데이터 삽입 방지
웹 애플리케이션 개발에서는 사용자가 페이지를 새로 고칠 때 의도하지 않은 데이터 삽입을 방지하는 것이 중요합니다. 양식을 제출하는 중입니다. 이 문제에 대한 일반적인 접근 방식 중 하나는 양식 제출 후 사용자를 다른 페이지로 리디렉션하는 것입니다.
데이터베이스에 데이터를 삽입하기 위해 양식을 사용하는 다음 코드 조각을 고려하세요.
<?php if (isset($_POST['name'])) { // Operation on database, such as inserting $_POST['name'] into a table echo "Operation Done"; die(); // Die() is used to prevent further processing, which would otherwise cause the form to be resubmitted on page refresh. } ?> <form action='page.php' method='post' name="myForm"> <input type="text" maxlength="50" name="name" class="input400" /> <input type="submit" name="Submit" /> </form>
양식이 제출되면 데이터가 데이터베이스에 삽입되고 "작업 완료" 메시지가 표시됩니다. 하지만 사용자가 페이지를 새로 고치면 양식이 다시 제출되어 데이터가 다시 삽입됩니다.
이 문제를 방지하려면 양식 제출 후 사용자를 다른 페이지로 리디렉션하는 것이 좋습니다. 이렇게 하면 페이지 새로 고침 시 양식이 다시 제출되는 것을 방지할 수 있습니다.
<?php if (isset($_POST['name'])) { // Operation on database, such as inserting $_POST['name'] into a table // Set a success flash message (assuming you are using a framework). header('Location: /path/to/record'); // Redirects the user to a different page upon successful form submission. exit; // Die() is not necessary here since the header redirect will send the user away from the page. } ?> <form action='page.php' method='post' name="myForm"> <input type="text" maxlength="50" name="name" class="input400" /> <input type="submit" name="Submit" /> </form>
양식 제출 후 사용자를 다른 페이지로 리디렉션하면 페이지 새로 고침 시 의도하지 않은 데이터 삽입 위험이 제거됩니다.
위 내용은 페이지 새로 고침 시 의도하지 않은 데이터 삽입을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!