Bagaimana untuk Mencegah Penyerahan Semula Borang dalam Halaman PHP?

Patricia Arquette
Lepaskan: 2024-11-03 11:11:29
asal
772 orang telah melayarinya

How to Prevent Form Resubmission in PHP Pages?

Mengelakkan Penyerahan Semula Borang dalam Halaman PHP

Apabila memuatkan semula halaman PHP yang mengandungi fungsi sisipan, anda mungkin menghadapi isu penyerahan semula borang, yang boleh menyebabkan data pendua dimasukkan. Untuk mengelakkan ini, pertimbangkan untuk menggunakan corak Post-Redirect-Get (PRG).

Corak PRG

Corak PRG melibatkan:

  1. Menerima permintaan POST: Terima data borang yang diserahkan.
  2. Memproses data: Sahkan, masukkan atau lakukan sebarang tindakan yang perlu.
  3. Mengeluarkan respons ubah hala: Ubah hala pengguna ke URL baharu.
  4. Menerima permintaan GET: Pengguna mengklik pautan yang dimuat semula dan membuat permintaan baharu.
  5. Mengeluarkan respons 200: Paparkan halaman dengan sebarang data yang diperlukan.

Contoh

Sebagai contoh, andaikan anda sedang mencipta halaman di mana pengguna boleh menambah nota. Daripada menggunakan fungsi sisipan dalam halaman yang sama, anda boleh melaksanakan corak PRG seperti berikut:

  • Halaman 1 (add_note.php): Paparkan borang.
  • Halaman 2 (process_note.php): Terima permintaan POST dan proses penyerahan nota.
  • Halaman 3 (view_notes.php): Terima GET minta dan paparkan nota yang dikemas kini.

Mengendalikan Paparan Data Borang

Jika anda perlu memaparkan data daripada borang yang diserahkan selepas diproses, anda boleh memasukkan yang unik pengecam dalam rentetan pertanyaan URL ubah hala. Contohnya, respons ubah hala anda daripada process_note.php mungkin:

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

Dalam view_notes.php, anda kemudian boleh menggunakan note_id daripada rentetan pertanyaan untuk mendapatkan dan memaparkan nota yang baru dimasukkan.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Penyerahan Semula Borang dalam Halaman PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan