Как назначить уникальное значение в скрытых полях в цикле foreach

Итак, мой вопрос заключается в следующем:
Я делаю цикл foreach, и он генерирует список ссылок. Каждая ссылка содержит JavaScript, который отправляет форму. Однако я хочу прикрепить к КАЖДОЙ ссылке ссылку, чтобы я мог получить переменную $ _POST, чтобы увидеть, по какой ссылке щелкнули.

Я попытался цикл foreach, а затем что-то вроде:

foreach ($matches as $match) {
?>
<div class="containerbla">
<form>
<h3><a href="javascript:{}" onclick="document.getElementById('matchesform').submit(); return false;"><?php echo $match->name?></a></h3>
<?php echo $match->id; ?>
<input type="hidden" name="matchid" value="<?php echo $match->id; ?>">
</form>
</div>
<?php
}

Он показывает правильный список имен пользователей и правильный идентификатор пользователя справа ниже. Но когда я нажимаю на пользователя, я всегда получаю ПОСЛЕДНИЙ идентификатор пользователя в скрытом поле, отправляемом в мой php-файл view-messages.

Как я могу решить это?

0

Решение

foreach ($matches as $key=>$match) { ?>

<div class="containerbla">
<form>
<h3><a href="javascript:{}" onclick="var poop = document.getElementById('matchesform'); poop.insertAdjacentHTML('<input type=\"hidden\" name=\"poop\" value=\"<?php echo $key; ?>\"/>'); poop.submit(); return false;"><?php echo $match->name?></a></h3>
<?php echo $match->id; ?>
<input type="hidden" name="matchid" value="<?php echo $match->id; ?>">
</form>
</div>
<?php
}

Тогда вы сможете получить индекс, используя $matches[$_POST['poop']];

Я вижу, что вы уже создаете новый ввод, но не вводите его в правильную форму, поэтому он не отправляется.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]