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