И <a>и формане может работать вместе?В HTML PHP - PullRequest
0 голосов
/ 18 декабря 2018

Если я использую только этот код <a href works >, но я хочу, чтобы name = "send" также работало одновременно (в isset ($ _ POST ['send']). Но это не работает. Так что я могу сделать для обоих случаев?

Мне нужно одновременно загрузить и отправить данные в базу данных.

<a href="./users/assets/upload/file/<?php echo $result['product_file']; ?>">
  <form method="POST" action=" ">
    <div class="row" style="background-color: #8CC63F;">
      <div class="col-lg-12 dw_text text-center">
        <button type="submit" name="send" style="font-size: 30px;">FREE DOWNLOAD</button>
      </div>
  </form>
</a>

1 Ответ

0 голосов
/ 18 декабря 2018

Перед отправкой формы вам необходимо исправить свой HTML.Похоже, что вы звоните url после нажатия кнопки бесплатной загрузки.

Чтобы исправить HTML, вы можете либо напрямую использовать ссылку url в качестве формы action (как это)

  <form method="POST" action="./users/assets/upload/file/<?php echo $result['product_file']; ?>">
    <div class="row" style="background-color: #8CC63F;">
      <div class="col-lg-12 dw_text text-center">
        <button type="submit" name="send" style="font-size: 30px;">FREE DOWNLOAD</button>
      </div>
  </form>

или использовать jQuery (как вы упомянули в ваших комментариях)отправить форму на тот же url.См. Пример ниже:

$.ajax({
    type: 'POST', 
    url: "./users/assets/upload/file/<?php echo $result['product_file']; ?>",
    data: $(this).serialize(),
    success: function(data) { } 
});

Чтобы сохранить url аккуратным в приведенной выше отправке ajax, вы можете оставить $result['product_file']; скрытым полем в HTML.Поэтому, когда мы нажимаем кнопку «Бесплатная загрузка», $(this).serialize() также будет сериализовать это значение.Таким образом, URL будет выглядеть примерно так:

url: "./users/assets/upload/file",

В бэкэнде PHP получение product_file должно быть слегка изменено, чтобы учесть это новое изменение.

Надеюсь, это поможет

Спасибо

...