Foreach yapılmış listeden id ve input post etmek
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>
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.