Bagaimana cara menghentikan pengiriman ulang dari penyegaran di php?

Kami menghadapi masalah umum di banyak situs web bahwa setiap kali formulir dikirim ke halaman yang sama, lalu kami menyegarkan halaman, data formulir dikirim lagi. Terkadang browser meminta konfirmasi, terkadang tidak. Menjadi sangat frustasi jika menyebabkan operasi terjadi dua kali

Untuk mencegah hal ini di situs web kami, yang perlu kami lakukan hanyalah menambahkan cuplikan kode Javascript kecil, dan masalah pengiriman ulang formulir akan hilang

Ini kode-


jika (jendela. sejarah. replaceState ) {
jendela. sejarah. replaceState( null, null, jendela. lokasi. href );
}

  • Tag Pengkodean, Kiat Pengodean

Oleh Abhineet Mittal

Abhineet adalah Alumni IIM dan Pendiri Platform Penerbitan Digital populer, Sahityapedia. Dia adalah penggemar teknologi dengan hobi & pembaca yang rajin

Kita semua hidup di zaman di mana internet telah menjadi gudang untuk segalanya. Browser menyediakan gateway untuk menjelajahi berbagai hal di World Wide Web. Sebagian besar dari Anda akan menggunakan Google Chrome sebagai browser. Dan, tentu saja, itu tidak selalu berjalan sesuai keinginan Anda. Itu menunjukkan beberapa pesan kesalahan; . Di antara semua kesalahan dan pop-up itu, yang paling umum dari semua yang Anda temui adalah Konfirmasi Pengiriman Ulang Formulir. Kode kesalahan yang mungkin terlihat di bawah ini

“Tekan tombol muat ulang untuk mengirimkan kembali data yang diperlukan untuk memuat halaman”

Seorang non-spesialis hanya akan menganggapnya sebagai indikasi kesalahan. Tetapi bisakah Anda menghitungnya sebagai kesalahan? . Ini bukan fitur Google Chrome. Baca terus artikelnya, dan Anda pasti bisa menyimpulkan

Lihat juga. {Solved} 7 Cara Terbaik untuk Memperbaiki 500 Internal Server Error

Daftar isi

Mengapa Dialog Konfirmasi Pengiriman Ulang Formulir Muncul?

Umumnya, dialog seperti itu muncul saat menyegarkan halaman web di browser atau menekan tombol kembali, mencoba kembali ke halaman sebelumnya. Alih-alih menganggap ini sebagai kesalahan, ini disebut sebagai fitur oleh poster Superuser, dan mereka telah menyelidiki secara mendalam masalah ini.

confirm form resubmissionBanyak pengguna telah melaporkan bug ini berkali-kali, tetapi bug ini masih ada di semua versi Google Chrome dan banyak browser lainnya. Ini karena modul Google Chrome yang berhubungan dengan gerakan maju/mundur dibangun dengan sangat lemah sehingga hampir tidak mungkin untuk menyelesaikan masalah ini. Anda mungkin menemukan dialog ini karena alasan tertentu, dan beberapa alasan tersebut tercantum di bawah ini

  1. Koneksi internet tidak ditemukan
  2. Halaman yang berisi jenis formulir tertentu telah disegarkan
  3. Anda mencoba mengklik tombol kembali di tengah formulir yang dikirimkan

Data yang diberikan oleh pengguna dalam bentuk dikirim dari browser pengguna ke server, dan selama transfer ini, jika halaman di-refresh, konten halaman mungkin akan digandakan. Misalnya, jika Anda mengisi formulir untuk membuat akun dan setelah mengklik tombol kirim saat formulir dikirimkan, jika Anda mencoba menyegarkan, Anda akan mendapatkan dialog Konfirmasi Pengiriman Ulang Formulir

Sekarang, jika tidak ada fitur seperti itu, maka ada kemungkinan akan ada dua akun yang dibuat dengan detail yang sama, yang tidak diinginkan. Nah, untuk menghindari kecelakaan seperti itu, fitur ini telah dikembangkan dan dipraktikkan. Tetapi pada saat yang sama, munculan seperti itu juga terasa menjengkelkan, meskipun Anda tidak sengaja menyegarkannya. Jadi, sekarang, pertanyaannya adalah bagaimana cara memperbaikinya. Baca terus untuk mendapatkan beberapa solusi

Penyebab Kesalahan Pengiriman Ulang Formulir

Ada beberapa penyebab kesalahan pengiriman ulang formulir, di antaranya

  • Beberapa kiriman . Jika Anda mengklik tombol "Kirim" beberapa kali atau menyegarkan halaman setelah mengirimkan formulir, Anda mungkin melihat kesalahan pengiriman ulang formulir.
  • Masalah jaringan . Jika ada masalah dengan koneksi internet Anda atau server tempat formulir dihosting, Anda mungkin melihat kesalahan pengiriman ulang formulir.
  • Cache peramban. Beberapa browser mungkin meng-cache data formulir dan mencoba mengirimkannya kembali saat Anda me-refresh halaman, yang dapat menyebabkan kesalahan pengiriman ulang formulir.
  • Konfigurasi formulir salah. Jika formulir tidak dikonfigurasi dengan benar, formulir mungkin tidak menangani beberapa pengiriman atau acara penyegaran dengan benar, yang dapat menyebabkan kesalahan pengiriman ulang formulir.
  • Serangan berbahaya. Dalam kasus yang jarang terjadi, kesalahan pengiriman ulang formulir dapat terjadi akibat serangan jahat, seperti serangan cross-site request forgery (CSRF).
  • Kesalahan pengguna. Kesalahan pengiriman ulang formulir juga dapat disebabkan oleh kesalahan pengguna, seperti tidak sengaja mengklik tombol “Kirim” beberapa kali atau menyegarkan halaman setelah mengirimkan formulir.

Cara menghindari kesalahan Pengiriman Ulang Formulir di PC Anda

Berikut adalah beberapa langkah yang dapat Anda ambil untuk menghindari kesalahan pengiriman ulang formulir

  • Nonaktifkan tombol "Kirim" setelah formulir dikirimkan. Ini akan mencegah pengguna mengklik tombol beberapa kali secara tidak sengaja dan menyebabkan kesalahan pengiriman ulang formulir
  • Setelah berhasil mengirimkan formulir, arahkan pengguna ke halaman lain. Ini akan mencegah pengguna menyegarkan halaman dan menyebabkan kesalahan pengiriman ulang formulir
  • Gunakan token unik untuk mengidentifikasi setiap pengiriman formulir. Ini akan memungkinkan Anda untuk membedakan antara beberapa pengiriman formulir yang sama dan mencegah kesalahan pengiriman ulang formulir
  • Konfigurasikan formulir Anda untuk menangani acara penyegaran dengan benar. Ini dapat membantu mencegah kesalahan pengiriman ulang formulir yang disebabkan oleh caching browser
  • Gunakan CAPTCHA atau tindakan keamanan lainnya untuk melindungi dari serangan berbahaya yang dapat menyebabkan kesalahan pengiriman ulang formulir
  • Berikan instruksi yang jelas bagi pengguna tentang cara mengirimkan formulir dengan benar. Ini dapat membantu mengurangi kemungkinan kesalahan pengguna yang menyebabkan kesalahan pengiriman ulang formulir

Mengikuti langkah-langkah ini, Anda dapat yakin bahwa formulir Anda dikirimkan dengan benar dan menghindari kesalahan pengiriman ulang formulir

Bagaimana cara mematikan Confirm Form Resubmission Error?

Berikut adalah beberapa metode untuk mengatasi kesalahan Konfirmasi Pengiriman Ulang Formulir Google Chrome

how to fix

Berikut ini adalah metode-metode tersebut

Metode #0 Gunakan Advanced System Repair Pro (Sangat Disarankan)

Alat kami akan dengan cepat memperbaiki kesalahan umum komputer, melindungi Anda dari kehilangan file atau data, malware, trojan, kegagalan perangkat keras, dan mengoptimalkan PC Anda untuk meningkatkan kinerja maksimal. Perbaiki masalah PC sekarang menggunakan 3 langkah mudah

  • Unduh Alat Perbaikan PC ini dengan peringkat "Luar biasa" di TrustPilot. com
  • Klik tombol Mulai Pindai untuk menemukan kesalahan terkait Windows
  • Klik Perbaiki Semua untuk memperbaiki semua masalah dengan Teknologi yang Dipatenkan

Metode #1 Mengganti Metode POST

Kami menggunakan metode POST untuk memposting data yang dimasukkan oleh pengguna dalam formulir ke browser. Saat kami menggunakan metode POST, detail yang dimasukkan dalam formulir tidak akan ditambahkan ke URL; . Meskipun formulir menggunakan metode GET, detailnya ditambahkan ke URL, yang tidak menjamin kerahasiaan data

post method

Jadi, kami umumnya tidak menggunakan metode GET dengan formulir. Jadi, kita turun ke dua poin berikut. Jika halaman Anda sedemikian rupa sehingga Anda diizinkan untuk mengubah data pada halaman tersebut, metode POST harus diganti dengan metode GET. Untuk melakukannya, cukup ikuti langkah-langkah yang disebutkan di bawah ini

  1. Hapus saja POST dari URL dan gunakan GET di tempatnya. Misalnya

//Hapus POST

//Gunakan DAPATKAN

Jika Anda menggunakan Google Chrome atau browser lain secara teratur, ini mungkin bukan solusi yang paling optimal untuk memperbaiki halangan ini. Harus ada sesuatu yang lebih dari ini

Metode #2 Menggunakan Properti Google Chrome

Banyak pengguna menyarankan bahwa dengan mengikuti langkah-langkah di bawah ini, seseorang dapat menyelesaikan masalah

  • Pertama, Klik kanan pada ikon Pintasan Google Chrome dan pilih opsi Propertigoogle chrome properties
  • Kotak dialog akan muncul dan Anda akan dapat melihat bidang bernama Target
  • Google Chrome Target FieldBidang Target Google Chrome
  • Sekarang, tambahkan teks ini “–disable-Prompt-on-repost” (Tanpa tanda kutip) di akhir target
  • Bagi saya, targetnya adalah

"C. \Program Files (x86)\Google\Chrome\Application\chrome. exe. ”

  • Cukup ubah URL target di atas dengan yang di bawah ini

"C. \Program Files (x86)\Google\Chrome\Application\chrome. exe”-disable-Prompt-on-repost

  • Setelah melakukannya, jika Google Chrome sudah terbuka, tutup dan buka kembali menggunakan pintasan yang sama
  • Periksa apakah dialog yang sama muncul saat menyegarkan halaman web

Jika Anda menggunakan metode ini untuk menghilangkan masalah Konfirmasi Pengiriman Ulang Formulir, Anda harus memiliki dua pintasan di browser. Seseorang harus mengonfigurasi dengan metode yang disebutkan di atas dan memiliki properti default. Anda harus menggunakan kedua browser tergantung pada jenis pekerjaan yang Anda miliki dengan browser tersebut

Tautan tertentu mungkin mengelabui Anda untuk mengirim ulang formulir dan mendapatkan detail pribadi Anda, misalnya detail kartu kredit Anda atau semacamnya. Jadi, ketika Anda memiliki pekerjaan semacam itu dari browser di mana keamanan data Anda memainkan peran penting, Anda harus menggunakan pintasan browser dengan properti default.

Metode #3 Nonaktifkan Gerakan di Peramban

Solusi berikut ini berasal dari pengguna Google Chrome lainnya yang juga berjuang dengan pop-up pesan Konfirmasi Pengiriman Ulang Formulir yang tidak diinginkan. Menurut pengguna ini, ini bukan bug. Itu terjadi karena browser tidak dapat menyimpan permintaan POST dan mencoba mengirimkan formulir lagi saat penyegaran

chrome

Salah satu alasan utama untuk masalah ini adalah secara tidak sengaja bergerak maju atau mundur. Untuk menghindarinya, kita dapat menonaktifkan tombol gerak untuk browser. Anda dapat menghindari masalah ini pada perangkat layar sentuh dengan menonaktifkan opsi geser untuk maju atau mundur. Jadi, setelah menonaktifkan opsi, dialog tidak akan muncul meskipun peristiwa tersebut terjadi secara tidak sengaja

Metode #4 Hapus Data Penjelajahan Google Chrome

Cobalah untuk menghapus data penjelajahan dari waktu ke waktu. Saat melakukannya, Anda harus berhati-hati dalam memilih semua opsi yaitu. Riwayat penjelajahan, cookie, kata sandi, data cache, lisensi media, dll. Setelah menghapus data penjelajahan, coba gunakan browser lagi dan lihat apakah kesalahan telah teratasi

clear browsing data

Logika di balik melakukannya adalah browser mengingat informasi setelah mengisi formulir; . Jadi, jika Anda memaksa browser untuk melupakan semua yang telah diingatnya hingga saat itu, tidak akan ada gunanya duplikasi. Dengan demikian, ini dapat membantu memecahkan masalah. Kita dapat melakukan ini dengan mengikuti langkah-langkah yang diberikan di bawah ini

  • Buka browser Google Chrome Anda & klik pada tiga titik yang ditempatkan secara vertikal di pojok kanan atas browser Anda
  • Sekarang, pilih Alat Lainnya>>Hapus data penjelajahan dari menu

clear browsing data

  • Arahkan ke Tab Tingkat Lanjut dan pilih data yang ingin Anda hapus

clear data

  • Kemudian, klik Hapus Data, dan Anda siap melakukannya

Metode #5 Atur Ulang Pengaturan Browser Chrome

Mengatur ulang pengaturan browser Anda atau membersihkan cache juga bisa menjadi solusi potensial. Terkadang, browser dapat mengonfigurasinya dengan tidak benar, yang menyebabkan kesalahan tersebut. Jadi, mengatur ulang browser bisa menjadi pilihan. Untuk melakukannya, ikuti langkah-langkah yang diberikan di bawah ini

  • Klik pada tiga titik yang ditempatkan secara vertikal di sudut kanan atas browser Anda untuk membuka menu yang dikenal sebagai Menu Kontrol
  • Sekarang, pilih opsi Pengaturan dari menu

chrome settings

  • Gulir ke bawah hingga akhir dan klik Tampilkan Setelan lanjutan

show advanced settings

  • Temukan opsi Pulihkan setelan ke default aslinya di akhir halaman & klik di atasnya

restore settings to their original defaults

  • Klik pada opsi Atur Ulang Pengaturan, dan Anda siap melakukannya

Reset Settings

Metode #6 Nonaktifkan Ekstensi yang Rusak

Memiliki ekstensi yang rusak di browser Anda dapat menjadi salah satu alasan untuk mendapatkan kesalahan Pengiriman Ulang Formulir Konfirmasi. Jadi, untuk mengatasi masalah ini, nonaktifkan ekstensi tersebut. Untuk melakukannya, ikuti langkah-langkah berikut

  • Klik pada tiga titik yang ditempatkan secara vertikal dari sudut kanan atas browser Anda
  • Buka Alat Lainnya>>Ekstensi

Extensions

  • Sekarang, temukan saja ekstensi yang rusak dari daftar. Nonaktifkan dan aktifkan kembali

Extensions

Di sini, semua ekstensi yang Anda miliki di browser akan dinonaktifkan sekali dan kemudian diaktifkan kembali sesuai kebutuhan. Setelah melakukannya, coba dan periksa kembali halaman untuk melihat apakah kesalahan telah teratasi

Metode #7 Periksa Koneksi Internet Anda

Alasan paling konyol untuk munculan ini mungkin karena koneksi data internet Anda sangat buruk

internet issue

Coba matikan sekali, restart lagi, dan periksa apakah masalahnya masih ada

Metode #8 Gunakan Pola PRG

PRG adalah singkatan dari pola POST/Redirect/GET. Formulir-formulir di halaman web umumnya diimplementasikan hanya menggunakan bagian P-POST dari pola PRG. Itu mengarah ke kesalahan Konfirmasi Pengiriman Ulang Formulir. Sebaliknya, pola PRG harus diterapkan seluruhnya

Setiap kali ada halaman yang membutuhkan formulir, rancang sedemikian rupa sehingga tidak mengirimkan data langsung ke server. Alih-alih, tambahkan satu halaman di antara halaman itu dan halaman sebenarnya setelahnya

PRG method

Dengan melakukannya, Anda dapat memposting data formulir ke halaman tersebut. Lakukan pemrosesan data apa pun yang perlu dilakukan di halaman itu dan kemudian kirimkan ke server. Pengguna tidak dapat melihat halaman kedua karena bidang tindakan formulir adalah halaman pertama

Jadi, metode terakhir yang akan diingat oleh browser adalah GET, bukan POST. Oleh karena itu, tidak akan ada pop-up dialog Confirm Form Resubmission saat me-refresh halaman secara tidak sengaja. Berikut adalah contoh singkat dari hal ini yang ditawarkan oleh Mike dari Stack Overflow

jika(. kosong($_POST['nama pengguna'] &&. kosong($_POST['kata sandi'])) {
$pengguna = Pengguna baru;
$user->login($_POST['username'], $_POST['password']);

if ($user->isLoggedIn()) {
header(“Lokasi. /admin/selamat datang. php”);
KELUAR;
}
kalau tidak {
header(“Lokasi. /Gabung. php?login_invalid”);
}
}

dia juga mengutip yang bisa kita gunakan

if (isset($_GET['invalid_login'])) {
echo “Kombinasi username dan password Anda salah”;
}

Untuk menampilkan pesan kesalahan jika kombinasi Nama Pengguna dan Kata Sandi tidak cocok dan tidak ingin mengarahkannya kembali ke halaman Login seperti pada kasus pertama

Contoh

Dalam contoh ini, kami menggunakan pengalihan 301 untuk mengirimkannya ke Hasil. php halaman yang berisi Pesan Sukses

Form PHPInilah Hasilnya. halaman php

Results.php PageMetode #9 Menggunakan Tombol Kirim AJAX

Anda dapat menggunakan fungsi AJAX jQuery Anda sehingga setelah berhasil mengirimkan formulir, itu tidak dimuat ulang. Untuk melakukannya, tambahkan fungsi berikut ke kode halaman Anda

$. ajax({
jenis. "POS",
URL. “bin/validasi. php”
data. dataString,
kesuksesan. fungsi(){
// Apa pun yang ingin Anda lakukan pada pengiriman yang berhasil
}
});
kembali salah;

Di sini, fungsi ajax() memproses data yang dimasukkan dalam formulir sesuai dengan file PHP yang disediakan sebagai properti URL. Jika data divalidasi, itu berarti pengiriman data formulir berhasil. Dengan demikian, ia mengembalikan false sehingga meskipun halaman dimuat ulang, ia tidak mengirimkan permintaan baru, sehingga tidak akan ada dialog Konfirmasi Pengiriman Ulang Formulir yang muncul

Method #10 Adding a Tag Inside Part

This method would work only if the website itself initiates the request and it is the user who has refreshed the page. If you can access the web page‘s source code, add the following tag to the section of the page.

header part

Atribut dari tag berikut, tersedia di sini, harus diganti dengan tepat untuk halaman web yang Anda uji

Metode #11 Hapus no-store

Anda dapat mengatasi kesalahan Konfirmasi Pengiriman Ulang Formulir menggunakan metode ini jika Anda menggunakan formulir dengan ini di Header

header('Kontrol-Cache. no-store, no-cache, must-revalidate, max-age=0');

Masalah sebenarnya mungkin ada di header

  1. Untuk memperbaikinya, coba hapus (no-store) dari header
  2. Sekarang, segarkan halaman di dalam formulir
  3. Masukkan kembali formulir dan segarkan untuk memeriksa apakah sudah diperbaiki

FAQ

Apa itu kesalahan pengiriman ulang formulir?

Galat pengiriman ulang formulir terjadi saat Anda mencoba mengirimkan formulir yang telah dikirimkan. Kesalahan ini dapat terjadi jika Anda mengklik tombol 'Kirim' beberapa kali atau jika Anda menyegarkan halaman setelah mengirimkan formulir

Bagaimana cara memperbaiki kesalahan pengiriman ulang formulir?

Untuk memperbaiki kesalahan pengiriman ulang formulir, Anda harus memastikan bahwa Anda hanya mengirimkan formulir satu kali. Anda dapat melakukannya dengan menghapus tombol 'Kirim' setelah berhasil mengirimkan formulir atau mengarahkan pengguna ke halaman lain setelah formulir dikirimkan dengan benar

Bisakah saya mencegah kesalahan pengiriman ulang formulir?

Ya, Anda dapat mencegah kesalahan pengiriman ulang formulir dengan menerapkan langkah-langkah untuk memastikan bahwa formulir hanya dikirimkan satu kali. Dimungkinkan untuk menonaktifkan tombol 'Kirim' setelah formulir berhasil dikirim, karena ini mengarahkan pengguna ke halaman lain setelah formulir berhasil dikirim

Apa yang harus dilakukan jika saya mengalami kesalahan pengiriman ulang formulir?

Jika Anda melihat kesalahan pengiriman ulang formulir, coba muat ulang halaman, lalu kirimkan kembali formulir tersebut. Anda mungkin perlu menghubungi administrator situs web atau tim dukungan untuk mendapatkan bantuan jika kesalahan terus berlanjut

Apakah kesalahan pengiriman ulang formulir merupakan masalah keamanan?

Kesalahan pengiriman ulang formulir umumnya bukan masalah keamanan, karena biasanya merupakan akibat dari kesalahan pengguna atau masalah dengan situs web. Namun, jika Anda menduga bahwa kesalahan pengiriman ulang formulir disebabkan oleh serangan berbahaya, Anda harus melaporkan masalah tersebut ke administrator situs web atau tim dukungan sesegera mungkin.

Kesimpulan

Jadi, ini adalah beberapa cara untuk memperbaiki pop-up dialog Confirm Form Resubmission di Google Chrome. Anda mungkin juga ingin memeriksa aksesibilitas jaringan chrome jika Anda tidak menerima internet. Ini mungkin bukan solusi permanen untuk masalah tersebut, dan Anda mungkin perlu melakukannya secara berkala. Tapi ya, masalahnya tidak lebih besar dari 10 metode ini. Anda pasti akan mendapatkan solusinya. Sampai saat itu, pantau terus dan tetap perbarui

Lihat juga. 6 Cara Memperbaiki Google Chrome Telah Berhenti Bekerja

Garvit Sinha

Gravit Sinha adalah pendiri ValidEdge. Sejak dia masih kecil, dia telah menjadi pemecah masalah dan semangat itulah yang mengilhami dia untuk memulai dan mengembangkan situs web ini. 🙂

Bagaimana cara mencegah pengiriman ulang formulir saat penyegaran di PHP?

Satu cara untuk menghentikan pengiriman ulang halaman pada penyegaran halaman adalah dengan membatalkan setelan data formulir setelah dikirimkan sehingga variabel yang menyimpan data formulir menjadi kosong dan menyelesaikan blok pemrosesan formulir Anda . .

Bagaimana cara menghentikan halaman agar tidak menyegarkan di PHP?

Anda dapat menggunakan AJAX untuk menyimpan data dan Anda dapat memuat ulang halaman atau tidak pada callback yang berhasil

Bagaimana cara menonaktifkan konfirmasi pengiriman ulang formulir?

Solusi 1. Nonaktifkan Konfirmasi Pengiriman Ulang Formulir Dari Chrome . Right click on your chorme shortcut, select properties. Di bidang target, tambahkan. “-disable-Prompt-on-repost” tanpa tanda kutip setelah chrome. exe .

Bagaimana cara menghentikan pengiriman formulir di PHP?

Anda dapat menggunakan exit() untuk menghentikan eksekusi PHP jika perlu. Jika tidak, Anda harus memvalidasi formulir di sisi klien menggunakan JavaScript (sesuatu yang dapat Anda temukan banyak informasinya di sini atau melalui Google).