Форма исчезает при отправке - PullRequest
0 голосов
/ 18 января 2020

Итак, в данный момент я пытаюсь создать корзину для покупок, используя 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...