Json'a falan gerek yok yahu. Bir önceki arkadaş detaylıca anlatmış zaten mantık hatasının nerde olduğunu.

Input'lara birebir aynı ismi verirsen, hiyerarşik olarak en son, en alttaki input değeri gönderilir. Örneği 3 tane "adsoyad" inputun varsa, sadece 3. sıradakinin değeri gönderilir.

Eğer sen name="adsoyad" değil de name="adsoyad[]" yaparsan o inputların değerlerinin hepsi bir array değeri olarak gönderilir.

Mesela formun methodu POST ise $_POST['adsoyad'][0] = 1. sıradaki inputun içeriği, $_POST['adsoyad'][1] = 2. sıradaki etc.

Tek yapman gereken 3 farklı kişi kaydetmek olacağı için



// aynı şekilde 3 tane de name="yas[]" inputu olsun
// ilk sıradaki adsoyad inputuyla, ilk sıradaki yas inputunun değerleri birbiriyle eşleşsin
// örneğin adsoyad inputları sırasıyla: Ali Atakan, Mahmut Çelebi, Faruk Öztürk
// .......... yas inputları: 13, 21, 38
// Bu durumda $_POST['adsoyad'][0] = Ali Atakan
// Bu durumda $_POST['yas'][0] = 13
// Ali Atakan ve 13 değerleri veritabanında aynı satıra kaydedilecek
// Güvenlik, boş satır vs. kontrollerini atlıyorum
foreach($_POST['adsoyad'] as $index => $icerik)
{
// veritabanına kayıt
// $db->save('Uyeler', ['ad' => $adsoyad, 'yas' => $_POST['yas'][$index]])
}