wmaraci reklam

php web sitemde mysql veritabanında T.C. kimlik no kontrolü yaparak mükerrer kayıt engellemek

5 Mesajlar 344 Okunma
pst.net
wmaraci reklam

sedatuysal52 sedatuysal52 WM Aracı Kullanıcı
  • Üyelik 06.01.2024
  • Yaş/Cinsiyet 42 / E
  • Meslek memur
  • Konum Niğde
  • Ad Soyad S** U**
  • Mesajlar 35
  • Beğeniler 1 / 2
  • Ticaret 0, (%0)

T.C. kimlik ve adısoyadı textboxının boş olup olmadığını kontrol edip, kayıt formu ile veritabanına kayıt yapıyorum. Ancak aynı T.C. kimlik numaralı kişinin tekrar kayıt olmasını da engellemek istiyorum. Yardımcı olursanız sevinirim. Mevcut çalışan kod sayfa aşağıdaki gibidir.

<html>

<head>

<meta charset="utf-8">

<title>ÇKS Kayıt Sayfası</title>

</head>

 

<body>

<?php

//mysql veritabanına bağlantı yapılır.

$baglan = new MySQLi("localhost","root","password","cks");   

if(!$baglan){

 die('Bağlantı Hatası:' . mysqli());

}

 

//formdan gelen veriler değişkene aktarılır.

$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');

 

//textbox boş dolu kontrolü

if ($tcno == "" || $adisoyadi == "")

{

echo "T.C. No veya Adı Soyadı Alanını Boş Bırakmayınız...";

}else{

//veritabanındaki sütunlara aktarılır.

$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");

?>

</body>

</html>

 

 

wmaraci
reklam

aeaziz aeaziz Selam! Kullanıcı
  • Üyelik 31.12.2019
  • Yaş/Cinsiyet 30 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad A** A**
  • Mesajlar 57
  • Beğeniler 13 / 12
  • Ticaret 3, (%100)

veritabanında ilgili alanı unique olarak ayarla ve gerekirse validasyon kur

 

 

sedatuysal52 sedatuysal52 WM Aracı Kullanıcı
  • Üyelik 06.01.2024
  • Yaş/Cinsiyet 42 / E
  • Meslek memur
  • Konum Niğde
  • Ad Soyad S** U**
  • Mesajlar 35
  • Beğeniler 1 / 2
  • Ticaret 0, (%0)

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.

 

 

LabsData LabsData   Kullanıcı
  • Üyelik 19.02.2024
  • Yaş/Cinsiyet 35 / E
  • Meslek BİLGİ İŞLEM
  • Konum KKTC
  • Ad Soyad B** K**
  • Mesajlar 6
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)

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");
?>
sedatuysal52

kişi bu mesajı beğendi.

wmaraci
Mersin evden eve nakliyat

sedatuysal52 sedatuysal52 WM Aracı Kullanıcı
  • Üyelik 06.01.2024
  • Yaş/Cinsiyet 42 / E
  • Meslek memur
  • Konum Niğde
  • Ad Soyad S** U**
  • Mesajlar 35
  • Beğeniler 1 / 2
  • Ticaret 0, (%0)

Teşekkürler hocam, eklediğiniz tc kontrol kodu çalıştı.

 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al