我有一个 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 步的第一个表单。我认为问题是我第二次点击“提交”时,在我的第二个表单中我没有“个人资料” " 字段:我的页面的以下执行使用 NULL 值覆盖 $_SESSION["profilo"],返回到 if 循环的第 1 步。我怎么解决这个问题?
编辑:为了信息:form1只有“profile”字段,form2有“periodic”,“from”,“to”,“weekdays”,form3有“start”,“expire”。