posttan gelen veriyi bu kodlar ile kayıt yapıyorum ama aynı tc tekrar kayıt olmasın istiyorum ne eklemem gerekli
<?php session_start(); require_once 'db.php'; // PDO nesnesi burada olmalı: $pdo function turkce_duzelt($veri){ $bul = ['ç', 'ğ', 'ı', 'i', 'ö', 'ş', 'ü']; $deg = ['Ç', 'Ğ', 'I', 'İ', 'Ö', 'Ş', 'Ü']; return str_replace($bul, $deg, $veri); } if ($_SERVER['REQUEST_METHOD'] === 'POST') { // GİRİŞ İŞLEMİ if (!empty($_POST['tc_kimlik']) && !empty($_POST['sifre']) && empty($_POST['ad'])) { $stmt = $pdo->prepare("SELECT id, sifre FROM musteri WHERE tc_kimlik = ? AND durum = 1 LIMIT 1"); $stmt->execute([$_POST['tc_kimlik']]); $kullanici = $stmt->fetch(PDO::FETCH_ASSOC); if ($kullanici && password_verify($_POST['sifre'], $kullanici['sifre'])) { $_SESSION['kullanici']['giris'] = 1; $_SESSION['kullanici']['id'] = $kullanici['id']; echo "<script>alert('Giriş Yapıldı.'); location.href='index.php';</script>"; } else { echo "<script>alert('TC veya Şifre hatalı.');</script>"; } // KAYIT İŞLEMİ } elseif (!empty($_POST['ad'])) { $ad = strtoupper(turkce_duzelt(trim($_POST['ad']))); $soyad = strtoupper(turkce_duzelt(trim($_POST['soyad']))); $telefon = trim($_POST['telefon']); $tc_kimlik = trim($_POST['tc_kimlik']); $dogum_yili = trim($_POST['dogum_yili']); $email = trim($_POST['email']); $parola = trim($_POST['sifre']); if (!$ad || strlen($ad) <= 2 || !$soyad || strlen($soyad) <= 2 || !$dogum_yili || !$tc_kimlik) { echo "<script>alert('Boş Alan Bırakmayın!');</script>"; } elseif (strlen($tc_kimlik) != 11) { echo "<script>alert('T.C. Numaranız 11 karakter olmalıdır!');</script>"; } elseif (strlen($dogum_yili) != 4 || !is_numeric($dogum_yili)) { echo "<script>alert('Geçersiz doğum yılı!');</script>"; } else { try { $client = new SoapClient('https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL'); $params = [ 'TCKimlikNo' => $tc_kimlik, 'Ad' => $ad, 'Soyad' => $soyad, 'DogumYili' => (int)$dogum_yili ]; $response = $client->TCKimlikNoDogrula($params); if ($response->TCKimlikNoDogrulaResult) { $hashed_password = password_hash($parola, PASSWORD_DEFAULT); $stmt = $pdo->prepare("INSERT INTO musteri (ad, soyad, tc_kimlik, telefon, email, sifre) VALUES (?, ?, ?, ?, ?, ?)"); $stmt->execute([$ad, $soyad, $tc_kimlik, $telefon, $email, $hashed_password]); echo '<script>swal("BAŞARILI!", "Bilgiler doğru! Üyelik başarılı.", "success");</script>'; } else { echo '<script>swal("HATA!", "Girilen bilgiler ile TC uyuşmuyor.", "warning");</script>'; } } catch (Exception $e) { echo '<script>swal("HATA!", "Geçersiz bilgiler!", "error");</script>'; } } } } ?>