Hocam bu işlemi ya mysql ya da php tarafından yapmanız gerekiyor. Mysql'de yapmak için phpmyadmin den şu sql komutu girmeniz gerekiyor:
ALTER TABLE 'tablo_ismi' ADD UNIQUE 'unique_index'('birinci_uniq', 'ikinci_uniq');
Ancak ben @Mücahit; hocama katılıyorum ve bu işlem backend tarafından yapılmasının daha olacağını düşünüyorum. Yalnız session ile değil de veritabanından sorgu şeklinde yapılsa daha iyi olabilir düşüncesindeyim.
  • Önce işlem yapılacak olan tablodan ip ve son güncelleme verisi çekilir
  • Sonra son güncelleme tarihinden bugünün tarihi çıkartılır
  • Eğer aradaki fark 24 saatten yani 1 günden fazlaysa
  • İlgili tabloya kişinin ip adresi atanır ve son güncelleme tarihine bugünün tarihi atanır
Yazmış olduğum kod:
$id = islem_yapilacak_id;
$ip = islem_yapilacak_ip;


$ipbul = $conn->query("SELECT * FROM tablo_ismi WHERE id='$id'");
$ipbul  = $ipbul  ->fetch(PDO::FETCH_ASSOC);



$buguntarihi= date('d/m/Y H:i:s');

$fark = ($buguntarihi  - $ipbul['songuncellemetarihi']) / 86400;

if(fark>1){ //1 günden yani 24 saatten fazlaysa

try{
$update = $conn->prepare("UPDATE tablo_ismi SET
  ip=:frm_ip,
  songuncellemetarihi =:frm_songuncellemetarihi
  WHERE id=:frm_id");


                $update = $update->execute(array(
                  "frm_id" =>  $id ,
                  "frm_songuncellemetarihi " =>  $buguntarihi,
                  "frm_ip" =>  $ip
                
                ));
                echo  "Successful";
                header('Location: index.php');
} catch ( PDOException $e ){
     print $e->getMessage();
     echo  "Transaction failed";
}



}
PDO kodları için kendime şöyle bir doküman oluşturmuştum. Belki işinize yarar: https://github.com/asametyildirim/Ph.../tree/main/PDO

Yukarıdaki kodlarda aşağıda bulunan yerleri sizin doldurmanız gerekiyor. Ayrıca veritabanınız da songuncellemetarihi adında satır olması gerekiyor.
  • tablo_ismi
  • birinci_uniq
  • ikinci_uniq
  • tablo_ismi
  • islem_yapilacak_id
  • islem_yapilacak_ip