У меня проблема с многошаговой формой php. Мне нужно выполнить переключение между разными формами только на одной странице. На этой странице я переключаю следующие случаи:
$_SESSION["profilo"]= $_POST["profilo"];
$_SESSION["periodic"]=$_POST["periodic"];
$_SESSION["from"]=$_POST["from"];
$_SESSION["to"]=$_POST["to"];
$_SESSION["weekdays"]=$_POST["weekdays"];
$_SESSION["start"]=$_POST["start"];
$_SESSION["expire"]=$_POST["expire"];
$step = 1;
if(!isset($_SESSION["profilo"]))
{
$step = 1;
}
elseif(isset($_SESSION["profilo"]) && !isset($_SESSION["periodic"]))
{
$step = 2;
}
elseif(isset($_SESSION["periodic"]) && !isset($_SESSION["start"]))
{
$step = 3;
}
else
{
$step = 4;
}
затем я выполняю инструкцию
WriteForm($step);
это функция, которая переключает различные формы в зависимости от значения $step. Проблема в том, что после второго шага я возвращаюсь к первой форме вместо перехода к шагу 3. Я думаю, проблема в том, что когда я второй раз нажимаю «Отправить», во второй форме у меня нет «профиля». "поле: следующее выполнение моей страницы перезаписывает $_SESSION["profilo"] значением NULL, возвращаясь к шагу 1 из-за цикла if. Как я могу решить эту проблему?
РЕДАКТИРОВАТЬ: для информации: форма 1 имеет только поле «профиль», форма 2 имеет «периодический», «от», «до», «будние дни», форма 3 имеет «начало», «истечение».