• 01-10-2021, 22:32:08
    #1
    Merhaba arkadaşlar,

    çoklu inputu veritabanına kayıt ederken mantık hatası yapıyorum bu konuda fikir ve önerilerinize ihtiyacım var

    <input name="ahmet[]" type="number">
    <input name="hasan[]" type="number">
    <input name="hüseyin[]" type="number">
    <input name="mahmut[]" type="number">
    yukarıdaki kodu veritabanındaki tabloma aşağıdaki şekilde kayıt etmek istiyorum
    İD      ADI             DEĞERİ
    1      ahmet             54156
    2      hasan             84551
    3      hüseyin             4587
    4      mahmut             87215
  • 02-10-2021, 00:19:58
    #2
    her isim için farklı bir dizi göndermek yerine şunu deneyin;

    <form method="POST">
        <input name="isim[ahmet]">
        <input name="isim[hasan]">
        <input name="isim[hüseyin]">
        <input name="isim[mahmut]">
        <button type="submit">kaydet</button>
    </form>
    şununla da gelen diziyi okuyun;

    if (isset($_POST['isim'])) {
        foreach ($_POST['isim'] as $isim => $deger) {
            echo $isim . ' -> ' . $deger;
        }
    }
  • 02-10-2021, 00:29:55
    #3
    ilginiz için teşekkür ederim fakat bu şekilde diziler tam gelmiyor

    ghergedan adlı üyeden alıntı: mesajı görüntüle
    her isim için farklı bir dizi göndermek yerine şunu deneyin;

    <form method="POST">
        <input name="isim[ahmet]">
        <input name="isim[hasan]">
        <input name="isim[hüseyin]">
        <input name="isim[mahmut]">
        <button type="submit">kaydet</button>
    </form>
    şununla da gelen diziyi okuyun;

    if (isset($_POST['isim'])) {
        foreach ($_POST['isim'] as $isim => $deger) {
            echo $isim . ' -> ' . $deger;
        }
    }
  • 02-10-2021, 23:09:11
    #4
    <?php
    if($_POST){
        $isim = $_POST['isim'];
        $deger = $_POST['deger'];
        
        for($i = 0; $i < count($isim); $i++){
            if($isim[$i] != ''){
                echo $isim[$i] . ' => ' . $deger[$i] . '<br />';
            }
        }
    }
    ?>
    <form action="" method="post">
        <input type="text" name="isim[]" value="Ahmet" />
        <input type="text" name="deger[]" value="19286" />
        <input type="text" name="isim[]" value="Mehmet" />
        <input type="text" name="deger[]" value="38256" />
        <input type="text" name="isim[]" value="Ali" />
        <input type="text" name="deger[]" value="22096" />
        <input type="text" name="isim[]" value="Veli" />
        <input type="text" name="deger[]" value="58112" />
        <button type="submit">Kaydet</button>
    </form>
  • 02-10-2021, 23:10:29
    #5
    <input name="ahmet[]" type="number">
    <input name="hasan[]" type="number">
    <input name="hasan[]" type="number">
    gibi yaptığınız da $_POST['ahmet'] ile içindeki veriyi alamazsınız artık $_POST['ahmet'] artık bir array dir.

    if(isset($_POST['hasan']) && !empty($_POST['hasan'])){
    foreach($_POST['hasan'] as $hasan){
    echo $hasan;
    }

    }

    ayrıca value default tanımlanmadığı içinde ahmet e bir değer girilmediğinde $_POST['ahmet'] tanımsız olur.