Php 将表单变量作为数组传递

Php 将表单变量作为数组传递,php,arrays,forms,post,Php,Arrays,Forms,Post,我正在构建一个多页表单,我希望在流程的最后将其提交到数据库中,这样废弃的表单就不会在数据中留下不完整的垃圾记录,所以我解决这个问题的最初想法是将已经提交的数据保存在一个数组中(几乎与我从数据库中选择它时的格式相同),但我似乎感到非常困惑,最终使用嵌套数组,无法获得调试时预期的结果 例如,第一种形式如下所示: <form action="step_2.php" method="post"> <input type="text" name="textfield1">

我正在构建一个多页表单,我希望在流程的最后将其提交到数据库中,这样废弃的表单就不会在数据中留下不完整的垃圾记录,所以我解决这个问题的最初想法是将已经提交的数据保存在一个数组中(几乎与我从数据库中选择它时的格式相同),但我似乎感到非常困惑,最终使用嵌套数组,无法获得调试时预期的结果

例如,第一种形式如下所示:

<form action="step_2.php" method="post">
    <input type="text" name="textfield1">
    <input type="text" name="textfield2">
    <input type="text" name="options[]">
</form>
<form action="step_3.php" method="post">
    <input type="hidden" name="form1[]" value="<?=$_POST?>">
    <input type="text" name="textfield3">
    <input type="text" name="options2[]">
</form>

我假设有一种更简单的方法可以做到这一点,但目前我的大脑正在转向粘液,试图在其周围包裹一个突触。

考虑将表单数据保存在一个
$\u会话变量中,这样就不会在页面加载之间来回传递表单数据

例如:

if( !isset($_SESSION['formdata'])) $_SESSION['formdata'] = array();
// to add current form data to the array:
$_SESSION['formdata'] = array_merge($_SESSION['formdata'],$_POST);

如果用户点击“上一步”按钮并重新提交表单的早期部分(它将覆盖以前保存的值),这样做还可以正常工作。

这不是我的问题。
if( !isset($_SESSION['formdata'])) $_SESSION['formdata'] = array();
// to add current form data to the array:
$_SESSION['formdata'] = array_merge($_SESSION['formdata'],$_POST);