sedatuysal52 adlı üyeden alıntı
Reşat hocam, form action ile başka sayfada kaydetme, listeleme ve güncelleme yaptım.
Ancak aynı form üzerinde textboxa T.C. no girilip JavaScript çalıştırıp veritabanından T.C. no sorgu yaparak eşleşirse aynı formdaki alanlara yazdırma hiç yapmadım. Konuyla ilgili örnek hazır php sayfalarınız varsa kendi siteme daha rahat uyarlar ve konuyu kavramış olurum. tekrar çok teşekkür ederim. Hakkınızı helal edin. Saygılarımla...
Maalesef hazır kodlar elimin altında yok. Ama size verdiğim örnekte dikkat ederseniz 4. satırda bir php sayfa var.
Siz texttbox alanına yazdığınız örneğin T.C. Kimlik noyu yazıp textbox salanından çıktıktan sonra post edilen check_tcno.php sayfasından sonucu ajax olarak alabilirsiniz. alacağınız sonucu da örnekte sondan olan fillFormWithData fonksiyonu ile diğer form alanlarına yazdıracaksınız.
Biraz karışık gelebilir ama her adımı consol log yazdırarak daha rahat bir şekilde adım adım ilerleyerek işi çözebilirsiniz.
hozlıca bir örnek yazdım size. Burada veri tabanı bağlantısı yok. imitasyon yapılarak veritabanından alıyormuş gibi test bilgilerle bir örnektir.
T.C. Kimlik no yazdığınızda Ad Soyad alanlarını otomatik doldurur:
<?php
// TC No'ya göre imitasyon veri döndüren fonksiyon
function getMockData($tcno) {
// Örnek bir veri dizisi
$mockData = array(
"12345678901" => array("ad" => "Ahmet", "soyad" => "Yılmaz"),
"98765432109" => array("ad" => "Ayşe", "soyad" => "Kara"),
"45678912305" => array("ad" => "Mehmet", "soyad" => "Demir")
);
// Eğer TC No dizide varsa ilgili veriyi döndür, yoksa false döndür
return isset($mockData[$tcno]) ? $mockData[$tcno] : false;
}
if ($_SERVER["REQUEST_METHOD"] == "GET") {
if (isset($_GET['tcno'])) {
$tcno = $_GET['tcno'];
$data = getMockData($tcno);
if ($data) {
echo json_encode(["success" => true, "ad" => $data['ad'], "soyad" => $data['soyad']]);
} else {
echo json_encode(["success" => false]);
}
exit;
}
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>T.C. No Kontrolü</title>
</head>
<body>
<form id="myForm">
T.C. No: <input type="text" id="tcno" "checkTCNo()">
Ad: <input type="text" id="ad">
Soyad: <input type="text" id="soyad">
</form>
<script>
function checkTCNo() {
var tcno = document.getElementById("tcno").value;
var xhttp = new XMLHttpRequest();
xhttp.function() {
if (this.readyState == 4 && this.status == 200) {
var data = JSON.parse(this.responseText);
if (data.success) {
document.getElementById("ad").value = data.ad;
document.getElementById("soyad").value = data.soyad;
} else {
alert("Girilen T.C. numarasına ait veri bulunamadı!");
// Bir sonraki input alanına odaklanmak için
document.getElementById("tcno").focus();
}
}
};
xhttp.open("GET", "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>?tcno=" + tcno, true);
xhttp.send();
}
</script>
</body>
</html>
Mesaj 1 defa düzenlendi. Son düzenleyen: ReşatTürksoy (25.02.2024 00:48)