Как использовать две формы и отправить один раз?

Возможно ли иметь две формы с двумя кнопками отправки, чтобы при нажатии кнопки она сохраняет поля ввода в обеих формах?

Я хочу решить это в PHP / MySQL.

Я пробовал свой собственный путь:

if ((isset($_POST["form-1"])) && (isset($_POST["form-2"])) { //SQL Insertion } 

Related of "Как использовать две формы и отправить один раз?"

Нет, вы можете отправлять только одну форму за раз.

Если вам нужно использовать две формы, единственный способ сделать это – клонировать поля второй формы в первую, используя jQuery. Однако, если JS выключен, работать не будет.

См. Копирование из формы в форму в jQuery

Зачем вам две формы?

Если у вас возникла такая проблема, дизайн имеет недостатки.

Вы можете подать только одну форму за раз.

Измените дизайн, чтобы использовать только одну форму; делать обходные пути для представления двух в любом случае – это ужасная практика, которую лучше избегать.

Одним из способов достижения аналогичного результата было бы объединение двух форм в один и два кнопки отправки с разными значениями и одно и то же name="submit" .

toFoo.html:

 <form action="doFoo.php"> User <input type="text" name="username" /> Pass <input type="password name="password" /> <!-- Submit one --> <input type="submit" name="submit" value="Create user" /> <!-- some more of your fields or whatever --> <input type="text" name="blah" value="bleh" /> <!-- Submit two --> <input type="submit" name="submit" value="Login user" /> </form> 

doFoo.php:

 <?php if( $_POST["submit"] == "Login user" ) { //do login foo } if( $_POST["submit"] == "Create user" ) { //do signup foo } ?> 

Вы можете отправлять обе формы одновременно с помощью Ajax, но ваш скрипт php будет получать только одну форму за раз. Лучше просто преобразовать 2 формы в одну большую форму, если вам нужны все входы, идущие на один скрипт

Кнопка submit представляет только поля формы, в которой она живет. Если вам нужно содержимое обеих форм, вам нужно будет скопировать поля из другой формы в какое-то скрытое поле в форме, на которую была нажата кнопка отправки. Это довольно легко сделать в JavaScript.

Насколько я знаю, только одна форма может быть представлена ​​одновременно. Вы можете попробовать обернуть их в одну форму.