изпратете формуляр с ‹бутон 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'])

Освен това вашият бутон няма атрибут стойност, ще трябва да добавите такъв (тъй като в противен случай $_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, за да видя дали OP е прочел целия отговор). - 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']))

сега само ако условието ще бъде вярно, ако има данни, ако е нула, ще бъде невярно.

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