отправить форму с помощью кнопки ‹type=submit› на ту же страницу

У меня есть следующая форма:

<form method="post" action="" enctype="multipart/form-data">
    <input type="text" name="name_car" />
    <input type="submit" name="submit" class="btn" value="Add car" />
</form>

затем для получения поля используйте:

if($_POST['submit'])
{
    $name_car=   $_POST['name_car'];
    ....
}

Все идет нормально. Теперь сделайте то же самое с кнопкой. Что-то в этом роде (в приведенном ниже коде) и что процесс получения данных равен.

<form method="post" action="" enctype="multipart/form-data">
    <input type="text" name="name_car" />
    <button class="btn" type="submit" name="wizard-submit"></button>
</form>

person pc_oc    schedule 31.01.2014    source источник


Ответы (5)


Условие, которое вы проверяете, чтобы убедиться, что форма была отправлена, больше не соответствует действительности.

Исходный HTML:

name="submit"

Новый HTML:

name="wizard-submit"

Тест на PHP:

if($_POST['submit'])

Кроме того, у вашей кнопки нет атрибута value, вам нужно добавить его (поскольку в противном случае $_POST['submit'] по-прежнему не соответствует действительности)

Вы также должны добавить к кнопке некоторый контент, чтобы люди знали, что она делает.

<button class="btn" type="submit" name="submit" value="something">Submit</button>
person Quentin    schedule 31.01.2014
comment
Когда я отправляю, он не входит в if ($_POST ['submit']). И так как изменилось название кнопки - person pc_oc; 31.01.2014
comment
Как выглядит ваш измененный HTML? - person Quentin; 31.01.2014
comment
if ($_POST ['submit']) не будет правдой, потому что вы дали своей кнопке номер value. - person CBroe; 31.01.2014
comment
… который я упомянул в этом ответе (и именно поэтому я попросил исправленный HTML, чтобы увидеть, прочитал ли ОП весь ответ). - person Quentin; 31.01.2014

Если вы хотите использовать кнопку вместо ввода типа submit, замените $_POST["submit"] на имя вашей кнопки $_POST["wizard-submit"].

Затем, если вы хотите, чтобы ваша форма была одностраничной, измените расширение файла формы на php и включите в него код процесса формы.

ВНИМАНИЕ: используйте условие isset вместо стандартного if:

if ($_POST["submit"])

заменить:

if (isset($_POST["submit"]))
person Empire    schedule 26.02.2017

Вы можете сделать это. Просто укажите путь к форме в поле «действие».

person halkujabra    schedule 31.01.2014
comment
Мне не нужно ничего заполнять в поле действия, потому что оно будет на той же странице - person pc_oc; 31.01.2014
comment
Я думаю, что неправильно понял вопрос. - person halkujabra; 31.01.2014

ты пробовал с

if (isset ($_POST['submit']))

теперь условие if будет истинным только в том случае, если есть данные, если оно равно нулю, будет ложным.

person BugFixer    schedule 31.01.2014

Страница с формой должна быть сохранена как PHP-документ со следующим кодом:

<form action="" method="post" enctype="multipart/form-data">
    <input type="text" name="new_car" id="new_car" />
    <input type="submit" name="submit" class="btn" value="new_car" />
</form>
if($_POST['submit']){
$var=$_POST['submit'];
}
person user3025195    schedule 31.01.2014