v2.5.2
Giriş yap

Foreach yapılmış listeden id ve input post etmek

gumushikmet
660 defa görüntülendi

Merhaba,
Bir form da kullanıcı isimlerini alt alta gösterip input kısmına mesajları yazıp birkerede veri tabanına kayıt etmek istiyorum. Malesef kullanıcı id lerini post edemedim. Her denememde ilk sıradaki kullanıcının id si post ediliyor.
Yardım edebilecek arkadaşlara şimdiden teşekkürler.

   <?php foreach ($query as $row): ?>
        <label><?= $row['adi']?>Adı </label>
        <input type="hiden" id="id" name="id" value="<?=$t_row['id']?>"></input>
        <input type="text" id="mesaj" name="mesaj"></input>
        
    <?php endforeach; ?>

    <li class="submit">
    <input type="hidden" name="submit" value="1">
    button type="submit">Gönder</button>
      </li>

makifgokce
1312 gün önce

Bunun nedeni foreach ile ayni name="id" değerine sahip input yazdırıyorsun.
name="id[]" şeklinde yaparsan.
veriyi çekerkende array olarak alabilirsin.

<input type="hiden" name="id[]" value="<?=$t_row['id']?>"></input>
<input type="text" name="mesaj[]"></input>
print_r($_POST['id']); // name="id[]" olan inputların değerini array olarak verir
print_r($_POST['mesaj']);// name="mesaj[]" olan inputların değerini array olarak verir

Formdan veri alman gerekmiyorsa bu işi php kısmında yapmanı tavsiye ederim.
Ek olarak input'a id vermişsin ama bunlar tekrar ettiği için sorun yaşarsın.
id Unique (Benzersiz) olur.Yani sayfada o idye ait başka eleman olmaması gerekir.