如何在foreach循环中的隐藏字段中分配唯一值

时间:2015-12-15 21:54:15

标签: php mysql forms post hidden-field

所以我的问题是: 我正在做一个foreach循环,它会生成一个链接列表。每个链接都有JavaScript,它提交表单。但是,我希望将一个变量附加到EACH链接,以便我可以获取$ _POST变量以查看已单击的WHICH链接。

我尝试了一个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
}

它在下面显示正确的用户名列表和正确的用户ID。但是当我点击用户时,我总是在提交给我的view-messages php的隐藏字段中获得最新用户ID。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

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']];

获取索引

我看到您已经创建了一个新的输入,但是您没有将其设置为正确的形式,这就是为什么它没有被提交。