Cara mencegah double entry data pada PHP

Sering kali ditemui pada halaman web yang menggunakan php pada saat user menginput data dan data sudah terkirim tapi saat user merefresh halaman maka data yang sama akan disimpan juga. Hal ini banyak terjadi jika kita menggunakan motod POST untuk mengirim data.

Sebagai solusinya anda bisa membuat sebuah file php baru dimana file tersebut akan melakukan proses simpan data. Jadi ketika user mengklik tombol Save maka data akan dikirim ke file yang dimaksud. jadi anda harus membuat setingannya kira-kira seperti ini:

<form method="post" action="proses-simpan.php">
....
</form>

Maka di dalam file proses-simpan.php anda bisa mengisinya seperti ini:

<?php
session_start();

.... proses penyimpanan dalam database.....

if($success){
   $_SESSION['log']='Data berhasil disimpan';
}else{
   $_SESSION['log']='Data gagal disimpan';
}

function GoBack(){
	$back=$_SERVER['HTTP_REFERER'];
	@header('Location: '.$back);
}

GoBack();
?>

Jadi dengan kode seperti ini , ketika user menyimpan data maka akan ditujukan ke file proses-simpan.php lalu kemudian setelah disimpan akan dikembalikan lagi ke file sebelumnya. Misalnya file untuk menginput data namanya input-data.php. Nah anda bisa membuat isi file input-data.php tersebut seperti ini:

<?php
session_start();
if(!empty($_SESSION['log'])){	
   $log=$_SESSION['log'];
   unset($_SESSION['log']);
}
// menampilkan pesan berhasil atau gagal
echo $log;
?>
<form method="post" action="proses-simpan.php">
.....
</form>

Script php ini tinggal anda sempurnakan saja sesuai dengan kebutuhan anda. Saya hanya menceritakan alurnya dan tidak menampilkan script secara utuh. Semoga anda bisa memahami maksud tulisan ini.

(Visited 5,869 times, 1 visits today)

Related Posts

2 thoughts on “Cara mencegah double entry data pada PHP

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

WhatsApp chat