Как узнать, какая опция выбрана в HTML-форме?

Я хочу иметь многоступенчатую форму с HTML и PHP. Первый шаг моей формы - это такая опция, как:

<input type="radio" name="service_type" value="plan1"> Plan 1<br />
<input type="radio" name="service_type" value="plan2"> Plan 2

Теперь мой вопрос: как я могу узнать, какой вариант выбран, чтобы я мог настроить параметры следующего шага для пользователя?

Например: если пользователь выбирает вариант 1, следующим шагом будет: «Вы выбрали вариант 1, скажите мне, кто ваш папа». И если пользователь выбирает вариант 2, следующий шаг говорит: «Добро пожаловать в вариант 2, расскажите, что вам нравится» и т. д.

Теперь я совсем новичок в PHP/HTML и ничего не знаю о javascript. Если вы отвечаете на это, я был бы очень благодарен, но, пожалуйста, сделайте это простым для понимания способом.

Я уже нашел это, относящееся к моему делу, но его очень сложно настроить , и процесс проверки выполняется до CSS3.

[редактировать:]

Теперь я хочу добавить ввод текстового типа следующим образом:

<input type="text" name="fname" value="firstname">

Ребята посоветовали мне использовать $_POST['fname'], но для вводимых текстов свойство «значение» будет отображаться внутри текстового поля как заголовок по умолчанию. Я не хочу этого.

Теперь, что вы предлагаете?


person Amin Darvand    schedule 14.09.2012    source источник
comment
Используйте разные идентификаторы для каждого переключателя и с помощью javascript/JQuery проверьте, отмечена ли опция или нет.   -  person Wearybands    schedule 14.09.2012
comment
Не подскажете, следующим шагом после выбора первого будет тоже радиокнопка?   -  person Wearybands    schedule 14.09.2012
comment
Спасибо Умайр. Я знаю, как добавить идентификатор к любой из этих опций. Это слишком просто, не так ли?! Но вторая часть, которая использует javascript/JQuery, привела меня на эту страницу!   -  person Amin Darvand    schedule 14.09.2012
comment
Нет! Следующие шаги не имеют переключателей. У них могут быть поля со списком, но они больше не будут менять путь.   -  person Amin Darvand    schedule 14.09.2012
comment
Вы хотите, чтобы следующий шаг был своего рода предупреждением? Сможет ли пользователь ответить на вопрос на следующем шаге и как?   -  person Wearybands    schedule 14.09.2012
comment
Нет, в следующих шагах я хочу собирать различные типы информации от пользователей. Но вопросы и информация зависят от выбора, который появляется на первом шаге.   -  person Amin Darvand    schedule 14.09.2012
comment
Хорошо, я понимаю, что на первом этапе пользователь выберет один вариант, и на основе выбранного варианта ему будут заданы разные вопросы. Верно? скажите мне форму вопросов, которые вы будете задавать пользователю. будут ли это вопросы с множественным выбором, или выбор радио, или пользователь предоставит некоторые данные, написав (текстовая область)   -  person Wearybands    schedule 14.09.2012
comment
например, вы задаете вопрос пользователю формы, а для ответа вы предоставляете текстовую область, чтобы пользователь мог что-то написать в части ответа. Как и ваши экзамены :)   -  person Wearybands    schedule 14.09.2012
comment
Хорошо, спасибо за помощь, Умайр!   -  person Amin Darvand    schedule 14.09.2012
comment
Так ты сможешь это сделать?   -  person Wearybands    schedule 14.09.2012


Ответы (3)


значение из $_REQUEST:

$step = $_REQUEST['service_type']; // plan1 or plan2
person Mihai Iorga    schedule 14.09.2012
comment
Я не знаю, что не так с ТАК :( У меня не появляются новые вопросы, мне нужно обновить! И я на работе .. так что заметьте для меня :( - person Mihai Iorga; 14.09.2012
comment
Что будет сохранено в $step?? план1 или план2?? это просто?! - person Amin Darvand; 14.09.2012
comment
Да, это легко. Он будет сохранен независимо от того, что вы выберете, план 1 или план 2. - person Mihai Iorga; 14.09.2012
comment
Большой! И я хочу использовать session_destroy() и перенаправить на ту же страницу, чтобы перезапустить приложение. Я надеюсь, что это нормально, не так ли?! - person Amin Darvand; 14.09.2012
comment
Большое спасибо за быстрые ответы! - person Amin Darvand; 14.09.2012
comment
@AminVanda, пожалуйста, рассмотрите возможность принятия ответа и снова задайте другой вопрос, если у вас есть еще. Чтобы создать поле, просто: First Name: <input type="text" name="fname" value=""> и получите его с помощью $fname = $_REQUEST['fname']; - person Mihai Iorga; 14.09.2012
comment
О, господи, я не знал, что должен принять один! Я делаю это сейчас, спасибо, что упомянули об этом! - person Amin Darvand; 14.09.2012

В вашем PHP-коде используйте $_GET (или $_POST, или `$_REQUEST, который получает форму GET или POST), чтобы вернуть значение:

$serveiceType=$_REQUEST['service_type'];

Поскольку это радиокнопка, можно отправить только одно значение, а отправленное значение легкодоступно.

person Fluffeh    schedule 14.09.2012
comment
@AminVanda Я изначально сделал опечатку $_GET как $GET, которую Михай исправил для меня за 3 микросекунды :) - person Fluffeh; 14.09.2012
comment
Ржунимагу! Он большой отладчик!! :D - person Amin Darvand; 14.09.2012

Сначала ваш input должен быть в теге form. Теперь вы можете отправить форму с помощью кнопки отправки (введите тег с типом = "отправить"). В php вы получаете результаты с помощью $_POST или $_GET.

<form method="POST">
    <input type="radio" name="service_type" value="plan1"> Plan 1<br />
    <input type="radio" name="service_type" value="plan2"> Plan 2
    <input type="submit" />
</form>
<?php
    $value = $_POST['service_type'];
    echo $value;
?>
person Philipp    schedule 14.09.2012
comment
Спасибо, Филипп! Я знаю, как сделать форму. Я просто хотел помочь за кулисами. Итак, вы говорите, что я должен использовать $_POST, чтобы получить то, что выбрал пользователь, но там говорят, что это $_REQUEST. Теперь я запутался! - person Amin Darvand; 14.09.2012
comment
если вы отправляете форму методом get, вы можете использовать $_GET, а если вы отправляете форму методом post, вы можете использовать $_POST. $_REQUEST содержит оба метода одновременно. В большинстве случаев лучше использовать $_GET/$_POST, потому что вы знаете, как отправить форму. - person Philipp; 14.09.2012
comment
Спасибо, попробую! - person Amin Darvand; 14.09.2012