On 19-Feb-2003, Togu Raja wrote:
> Begini, saya membuat sebuah program aplikasi web dgn PHP. Di salah
> satu bagian program, user akan men-submit sebuah FORM untuk
> menginput data sekaligus mengedit data, jika sudah ada data
> sebelumnya. Saya ingin setelah ia men-submit FORM tsb, ia tidak
> dapat menekan tombol 'BACK' pada Browser, atau apa saja yg membuat
> pindah ke history browser sebelumnya.
> 
> Jadi jika ia ingin mengakses FORM yg sama setelah men-submit FORM
> itu, ia harus mengklik-nya pada menu yg tersedia, bukan menekan
> tombol 'BACK'.

Jadi problem sebetulnya adalah: gimana caranya supaya suatu form tidak
bisa disubmit dg data yg sama lebih dr sekali (misalnya supaya data yg
masuk gak dobel).

Menurut saya jika approachnya adalah mendisable back button itu tidak
tepat. Alasannya ya seperti yg saya bilang di posting saya yg satunya.

Salah satu solusinya adalah seperti yg digunakan oleh Apache Struts
(salah satu MVC framework open-source yg populer utk J2EE), yaitu dg
menggenerate suatu one-time-use token yg unique pada saat formnya
dipopulate utk disave di session dan juga di html formnya sbg hidden
input, lalu pada saat kita terima balik formnya (setelah disubmit)
kita cek tokennya, kalo gak valid berarti data ini udah pernah
disubmit sebelumnya. Jelasnya coba liat dokumentasi Struts utk
saveToken(), isTokenValid() dan resetToken() di class Action. Cara yg
sama tentunya bisa saja diterapkan di PHP... tapi buat homework aja ya
:) Hint: google "php prevent duplicate submit".

Ronny

-- 
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3

Kirim email ke