我有一个有3个步骤的表单。我使用SESSIONS来保持每一步的值。当我在另一个选项卡中打开相同的表单并完成第一步时,它立即替换了另一个表单中的Session值。
那么我如何创建带有附加到特定表单的字段值的会话呢?我需要避免Session冲突。
如果表单确实不同,则将其放入多维数组中:
$_SESSION['register']['field1']=$_POST['field1'];
$_SESSION['contact']['field1']=$_POST['field1'];
如果它是相同的表单,它只是一个新的选项卡,你可以检查之前设置的值,忽略它,设置一个标志,说有一个表单提交正在进行中,或者完全删除旧的会话值,使新选项卡中的新表单没有附加值。
我使用这个函数来处理表单输入:
function Hold_Form_Input($formname)
{
$FormPost = array();
foreach ($_POST as $key => $entry)
{
$FormPost[$key]= $entry;
}
$_SESSION[$formname]= $FormPost;
}
我通过一个隐藏的输入传递表单名