PHPマルチステップフォームに問題があります。1ページで異なるフォーム間の切り替えを実行する必要があります。このページでは、次の場合に切り替えます。
$_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の値に応じてさまざまな形式を切り替える関数です。問題は、2番目のステップの後、ステップ3に進むことで最初のフォームに戻ることです。問題は、2回目に「送信」を押したときに、2番目のフォームに「プロファイル」がないことだと思います。 "フィールド:次のページの実行により、$ _ SESSION ["profilo "]がNULL値で上書きされ、ifサイクルのステップ1の原因に戻ります。どうすればこの問題を解決できますか?
編集:情報のために:form1には「profile」フィールドだけがあり、form2には「periodic」、「from」、「to」、「weekdays」があり、form3には「start」、「expire」があります。