【发布时间】:2022-07-30 01:12:36
【问题描述】:
我想$_POST 所选单选按钮的 ID。问题是我的单选按钮的值不是ID,而是字符串标题。
foreach($products as $product) {
echo '<input required type="radio" id="'.$product->ID.'" name="product" value="'.$product->post_title.'">';
echo '<label for="'.$product->ID.'">'.$product->post_title.'</label><br>';
echo '<input type="hidden" name="postid" value="'.$product->ID.'">';
}
有没有办法可以“匹配”该隐藏字段,以便我可以访问$_POST 中的正确值?
如果我只是做$_POST["postid"] 它不起作用,因为它只是从foreach 循环中获取最后一条记录
【问题讨论】:
-
您不应该有重复的 ID。不要为单选按钮和隐藏输入使用相同的 ID。
-
谢谢。让我删除它!
-
您为什么不直接更改单选按钮以在值中包含产品 ID?那么你就不需要隐藏输入了。
-
隐藏的输入不应该在循环中。您只需要其中一个来保存所选单选按钮的 ID。您需要使用 JavaScript 来执行此操作。
-
"I sql 将表单数据插入到单独的表中。" - 那又怎样,这并不意味着您不能根据产品 ID 查询产品名称首先在这一点上。如果您不希望我能够提交完全任意的产品名称,您应该这样做。您的产品 #15 可能在您的产品表中具有名称“芭比娃娃” - 但如果我在提交表单之前将字段值操作为“Funky Sex Robot”,则可能会导致尴尬的情况,具体取决于您对数据稍后...