Итак, в данный момент я пытаюсь создать корзину для покупок, используя PHP, в настоящее время у меня возникают проблемы при отправке формы, которая добавляет продукт в корзину. По сути, я связал свою базу данных со страницей моего магазина. php, так что она просматривает каждый элемент в БД и отображает продукт. Каждый продукт имеет форму, которая использует POST, который при отправке добавляет товар в корзину СЕССИЯ.
Так что в тот момент, когда я нажимаю кнопку «Добавить в корзину», элемент добавляется и работает нормально. Но когда я снова нажимаю «добавить в корзину» для того же товара, вся галерея товаров перестает работать. Проблема возникает, только когда я пытаюсь добавить элемент, который уже был добавлен. Я чувствую, что проблема вращается вокруг отправки одной и той же формы дважды, но я не совсем уверен.
<div class="container">'
<div class="box">'
<?php
$query = "SELECT * FROM items";
$result_set = mysqli_query($link, $query);
if (mysqli_num_rows($result_set) > 0){
while($row = mysqli_fetch_array($result_set)){
?>
<div class="displayCase"><br><br><br>
<form method="POST" action="shop.php?action=add&id=<?php echo $row['id']; ?>">
<img class="phone1" src="data:image/jpeg;base64,<?php echo base64_encode($row['image'] )?>" />
<h1> <?php echo $row['name'] ?> </h1>
<h2> <?php echo "$" . $row['price'] ?> </h2>
<label id="QTY">QTY </label><input class="quantity" id="id_form-0-quantity" min="0" name="form-0-quantity" value="1" type="number"><br />
<select class="phoneType">
<option value="X">Select Device</option>
<option value="X">iPhone X/XS</option>
<option value="X">iPhone X/XS Max</option>
<option value="X">iPhone 11</option>
<option value="X">iPhone 11 Pro</option>
<option value="X">iPhone 11 Pro Max</option>
</select><br />
<input type="hidden" name="name" value="<?php echo $row['name'] ?> ">
<button type="submit" name="add" value="addToCart">Add To Cart</button>
</form>
</div>
<?php
}
}
?>
</div>
</div>
Приветствия
РЕДАКТИРОВАТЬ: Хорошо, поэтому по какой-то причине, кажется, требуется полная перезагрузка после отправки формы для работы. Поэтому я попробовал это, и это, казалось, исправило это. До сих пор не уверены, почему это так, и является ли это чистым способом или если есть лучший способ сделать это
if (isset($_POST['name'])){
header("Loction: redirect.php");
}
, тогда я создал перенаправление. php страница перенаправляет обратно в магазин. php