如何获取所选按钮的输入ID,并从下一个php页面发布?我在我的表单中有这个代码,它从我的数据库中动态填充。
<?php
include('connection.php');
$query = "Select * from tblproduct where categoryID = 1 and statusProd = 1";
$result = $conn->query($query);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$id=$row["ID"];
$product=$row["product"];
$image=$row["images"];
echo '
<div class="col-sm-4 divProduct" style="outline: none;background-color: transparent;border:none;height:320px;width:300px">
<div class="content">
<input type="submit" name="btnGame" id="btnGame" class="btnSubmit" value="">
<input type="hidden" name="prodID" value="'.$id.'">
<div class="btnBuyBuy text-center">
<img src="'.$image.'" class="imgProd" style="width:200px;height:170px;">
<br><br>
<label class="nameProd">'.$product.'</label>
<br><br>
<div class="divBuy2">
<label class="lblBuy">BUY NOW</label>
</div>
</div>
</div>
</div>';
}
}
这是我的代码到显示id的下一页。
<?php
if (isset($_POST['btnGame'])) {
$id = $_POST['prodID'];
echo "$id";
}
else{
echo "failed";
}
输出是我tblproduct
的最后一个ID,即13。如何获取所选按钮的ID?
答案 0 :(得分:-1)
<input type="submit" name="btnGame" id="btnGame" class="btnSubmit" value=""> <input type="hidden" name="prodID" value="'.$id.'">
你并没有试图获得&#34; id&#34; 按钮的(你的意思是值),你试图得到它旁边隐藏输入的值。
这个问题是,点击提交按钮的接近意味着什么。所有隐藏的输入都将成功控制。全部将提交给服务器。由于它们都具有相同的名称,因此只有其中一个会显示在$_POST
中。 (如果你重命名它们,那么名称以[]
结尾,那么它们所有应该作为一个数组,你仍然无法分辨出哪个被选中了。
请勿使用隐藏的输入。
如果您关心使用的按钮,请使用提交按钮。
只有用于提交表单的提交按钮才会成功,因此可以使用其名称和值来判断单击哪一个。
<input type="submit" name="btnGame" id="btnGame" class="btnSubmit" value="$id">
...然后查看$_POST['btnGame']
而不是$_POST['prodID']
。
鉴于您有value=""
我猜测您不希望图片上显示任何文字,并且您正在使用CSS背景图片在其中显示内容。
显然,上述内容不会与此兼容,因此请改用<button>
元素。
这使您可以拥有不同的标签和价值。
它还允许您将元素放在标签内,这样您就可以使用带有alt属性而不是背景图像的内容图像,并获得大的辅助功能。
<button name="btnGame" id="btnGame" class="btnSubmit" value="$id">
<img src="/path/to/icon.png" alt="Select product number $id">
</button>