Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencegah Kemasukan Data Tidak Disengajakan pada Muat Semula Halaman?

Bagaimana untuk Mencegah Kemasukan Data Tidak Disengajakan pada Muat Semula Halaman?

Susan Sarandon
Susan Sarandonasal
2024-11-25 00:40:17568semak imbas

How to Prevent Unintentional Data Insertion on Page Refresh?

Mengelakkan Penyisipan Data Tidak Disengajakan pada Muat Semula Halaman

Dalam pembangunan aplikasi web, adalah penting untuk mengelakkan pemasukan data yang tidak diingini apabila pengguna memuat semula halaman selepas menghantar borang. Satu pendekatan biasa untuk isu ini ialah mengubah hala pengguna ke halaman lain selepas penyerahan borang.

Pertimbangkan coretan kod berikut di mana borang digunakan untuk memasukkan data ke dalam pangkalan data:

<?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>

Apabila borang diserahkan, data dimasukkan ke dalam pangkalan data, dan mesej "Operasi Selesai" dipaparkan. Walau bagaimanapun, jika pengguna memuat semula halaman, borang akan diserahkan semula, menyebabkan data dimasukkan semula.

Untuk mengelakkan isu ini, adalah disyorkan untuk mengubah hala pengguna ke halaman lain selepas penyerahan borang. Ini menghalang borang daripada diserahkan semula pada muat semula halaman:

<?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>

Dengan mengubah hala pengguna ke halaman lain selepas penyerahan borang, risiko sisipan data yang tidak diingini pada muat semula halaman dihapuskan.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Kemasukan Data Tidak Disengajakan pada Muat Semula Halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn