HTML — PHP Get и POST данные

Как получить идентификатор ввода выбранной кнопки и опубликовать его со следующей страницы 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>';
}
}

А вот мой код на следующей странице, где отображается идентификатор.

<?php
if (isset($_POST['btnGame'])) {
$id = $_POST['prodID'];
echo "$id";
}
else{
echo "failed";
}

И вывод является последним идентификатором из моего tblproduct что такое 13. Как я могу получить идентификатор выбранной кнопки?

-3

Решение

<input type="submit" name="btnGame"  id="btnGame"  class="btnSubmit" value="">
<input type="hidden" name="prodID" value="'.$id.'">

Вы не пытаетесь получить «id» (вы имеете в виду значение) кнопка, Вы пытаетесь получить значение скрытого ввода рядом с ним.

Проблема в том, что близость к нажатой кнопке отправки ничего не значит. Все скрытые входы будут успешным контролем. Все будет отправлено на сервер. Поскольку все они имеют одинаковое имя, только один из них будет отображаться в $_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>
-1

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector