Form verilerinizi phpye gönderirken eklenen kardeş inputlarının name isimleri birbirinden farklı olmalıdır.
Örneğin 2 kardeş varsa
name="kardes1"
name="kardes2"
gibi.
document.getElementById('okuyan_kardes_sayisi').addEventListener('input', function() {
const numOfSiblings = parseInt(this.value);
const container = document.getElementById('kardes_bilgileri');
container.innerHTML = '';
for (let i = 1; i <= numOfSiblings; i++) {
const siblingDiv = document.createElement('div');
siblingDiv.innerHTML = `
<h4>Kardeş ${i}</h4>
<label for="kardes_ad_soyad_${i}">Adı Soyadı:</label>
<input type="text" id="kardes_ad_soyad_${i}" name="kardes[${i}][ad_soyad]" required>
<label for="kardes_dogum_tarihi_${i}">Doğum Tarihi:</label>
<input type="date" id="kardes_dogum_tarihi_${i}" name="kardes[${i}][dogum_tarihi]" required>
<label for="kardes_egitim_durumu_${i}">Eğitim Durumu:</label>
<select id="kardes_egitim_durumu_${i}" name="kardes[${i}][egitim_durumu]">
<option value="">Seçiniz</option>
<option value="ilkogretim">İlköğretim</option>
<option value="lise">Lise</option>
<option value="universite">Üniversite</option>
</select>
<br><br>
`;
container.appendChild(siblingDiv);
}
}); // Kardeş bilgilerini al
$kardesler = $_POST['kardes'] ?? [];
try {
$pdo->beginTransaction();
// Başvuru bilgilerini kaydetme kodları...
// Başvurunun ID'sini al
$basvuru_id = $pdo->lastInsertId();
// Kardeş bilgilerini ekle
$stmt = $pdo->prepare("INSERT INTO kardesler (basvuru_id, ad_soyad, dogum_tarihi, egitim_durumu) VALUES (:basvuru_id, :ad_soyad, :dogum_tarihi, :egitim_durumu)");
foreach ($kardesler as $kardes) {
$stmt->execute([
'basvuru_id' => $basvuru_id,
'ad_soyad' => $kardes['ad_soyad'],
'dogum_tarihi' => $kardes['dogum_tarihi'],
'egitim_durumu' => $kardes['egitim_durumu'],
]);
}
$pdo->commit();
echo "Başvuru ve kardeş bilgileri başarıyla kaydedildi.";
} catch (Exception $e) {
$pdo->rollBack();
echo "Hata oluştu: " . $e->getMessage();
}Bu şekilde dener misiniz? Hata alırsanız görebilirsiniz böylece.