en son yapılan kaydı sessionda bir dizi halinde tutup, her kayıt yapılışında formdan gelen bilgiler ile sessiondaki verileri eşleştirerek de yapabilirsin;
<?php
session_start();
$Ad = htmlspecialchars($_GET["Ad"]);
$Soyad = htmlspecialchars($_GET["Soyad"]);
function Ekle($_Ad,$_Soyad)
{
$_EkleIzin = false;
if((string)$_SESSION["SonKayit"]=="" || (string)$_SESSION["SonKayit"]==null)
{
$_EkleIzin = true;
}
else
{
$_Bolunmus = split('®',(string)$_SESSION["SonKayit"]);
if($_Bolunmus[0]!=$_Ad || $_Bolunmus[1]!=$_Soyad)
{
$_EkleIzin = true;
}
}
if($_EkleIzin)
{
# Ekleme İşlemleri
$_SESSION["SonKayit"] = $_Ad.'®'.$_Soyad;
echo'Ekledi';
}
else
{
echo'Eklenmedi';
}
}
Ekle($Ad,$Soyad);
?>bu betikte son gelen veri parçalarının herhangi biri, bir öncekinden farklı ise ekleme işlemine izin verir.
bu şekilde sadece yenileme değil, geri butonuna basıldığında formdaki verilerin tekrar post edilmesi halinde de veriler var ise ekleme işlemi iptal edilebilir.
bunu basit anlamıyla yazdım fakat üzerinde biraz daha çalışarak 1-2 alan için değil bir diziye bağlı olarak gelen bütün alanları kontrol edip her ekleme işlemini kontrol edebiliriz. db ye gidip kayıtları kontrol etmek yerine sessionda tutarak en son kaydı daha hızlı bir biçimde kontrol edebiliriz.