Вход / Регистрация
Вход
Формы: поэтапное введение данных
При создании регистрации в несколько этапов стоит помнить, что это невероятно сильно нервирует любого посетителя, и им куда легче воспринимается большая форма, чем после заполнения – появляется новая, а потом снова новая. Хотя с другой стороны такие формы на несколько этапом компактны и легки в создании подходящего симпатичного дизайна.Итак, предлагаю все формы запихнуть на одну страницу, отслеживать перемещение будем в зависимости от нажатой кнопки.
Собственно те данные, которые человек передал из первой формы во вторую будем заносить в , чтобы с одной стороны скрыть от пользователя то, что он уже ввёл, а с другой – запомнить те данные, которые он передал с предыдущей формы.
смотрим простую и удобную реализацию:
<?php
if(isset($_POST['button3'])) // третья форма была введена
{
// получили из формы: $_POST['fio'], $_POST['text'], $_POST['title'];
mysql_query(); // тут человек прошел уже все 3 формы.
}
elseif(isset($_POST['button1'])) // вторая форма (ввели первую)
{
?>
<form method="post">
<input type="hidden" name="fio">
<textarea name="text"></textarea>
<input type="submit" name="button2">
</form>
<?php
}
elseif(isset($_POST['button2'])) // вторая форма (ввели первую)
{
?>
<form method="post">
<input type="hidden" name="fio">
<input type="hidden" name="text">
<input type="text" name="title">
<input type="submit" name="button3">
</form>
<?php
}
else // С этого момента начинается именно первая форма
{
?>
<form method="post">
<input type="text" name="fio">
<input type="submit" name="button1">
</form>
<?php
}
Небольшое пояснение, в начале проверили, была ли нажата третья, потом первая, потом вторая, и если ни одна из предыдущих нажата не была (данные кнопки не были переданы), тогда просто выводим первую форму.