php web sitemde mysql veritabanında T.C. kimlik no kontrolü yaparak mükerrer kayıt engellemek |
5 Mesajlar | 965 Okunma |
veritabanında ilgili alanı unique olarak ayarla ve gerekirse validasyon kur
Teşekkürler, MySQL de tcno sütunu unique yapıp mükerrer çift kayıt engelliyor, ancak veritabanı uyarı hatası veriyor. Daha önce "T.C. no kayıtlı" gibi uyarı nasıl verdirebilirim.
tcno daha önce varmı kontrol edecek bir şart ekledim bu şekilde denermisiniz?
<?php
$baglan = new MySQLi("localhost","root","password","cks");
if(!$baglan){
die('Bağlantı Hatası:' . mysqli());
}
$tcno = $_POST['tcno'];
$adisoyadi = $_POST['adisoyadi'];
$babaadi = $_POST['babaadi'];
$dogumyili = $_POST['dogumyili'];
$ckstarihi = date('d.m.Y');
$mahalle = $_POST['mahalle'];
$aciklama = $_POST['aciklama'];
$kayittarihsaat = date('d.m.Y H:i');
if ($tcno == "" || $adisoyadi == "") {
echo "T.C. No veya Adı Soyadı Alanını Boş Bırakmayınız...";
} else {
// TC Kimlik numarasının veritabanında var olup olmadığını kontrol et
$kontrol_sorgusu = "SELECT * FROM cks2025 WHERE TCNO = '$tcno'";
$kontrol_sonuc = $baglan->query($kontrol_sorgusu);
if ($kontrol_sonuc->num_rows > 0) {
echo "Bu TC Kimlik Numarası zaten kayıtlı!";
} else {
$ekle = "INSERT INTO cks2025 (TCNO,ADISOYADI,BABAADI,DOGUMYILI,CKSTARIHI,MAHALLE,ACIKLAMA,KAYITTARIHSAAT,MACADRESI)
VALUES ('$tcno','$adisoyadi','$babaadi','$dogumyili','$ckstarihi','$mahalle','$aciklama','$kayittarihsaat','$MAC')";
if ($baglan->query($ekle) === TRUE) {
echo "ÇKS Dosyası Veritabanına eklendi";
} else {
echo "Hata: " . $ekle . "<br>" . $baglan->error;
}
}
}
header("refresh:1;ckskayitformu.php");
?>
Teşekkürler hocam, eklediğiniz tc kontrol kodu çalıştı.