将结帐步骤字段存储在 php $_SESSION 中是一个好习惯吗?

Is it a good practise store the checkout steps fields in php $_SESSION?

我的电子商务网站有三个结帐步骤,每个继续按钮都是一个 POST 操作并重定向到下一步:

如果用户按结帐步骤导航(例如单击上一个按钮),表单字段不会显示之前发布的数据。

此表单字段显示为空:

我想让用户填写的任何信息在他们通过结帐步骤导航时都不会被删除。

执行此操作的最佳方法是什么?将结帐步骤字段存储在 $_SESSION 中?

像这样: $_REQUEST['name_name'] = $_SESSION['contact_name'];

非常感谢。

我可能会使用 3 divs:每个步骤一个。

然后当第一个完成并提交时,我会 post 使用 AJAX 的数据,隐藏第一个 div 并显示第二个,付款。

是的,使用$_SESSION变量来保存用户输入的数据。

您可能希望使用一个对象来封装所有信息,以便您可以通过一次赋值来保存它。

创建一个使用 $_SESSION 存储数据的 Class,这样您就可以使用像这样简单的东西:

// start checkout
$checkout = new checkout();
// to add data
$checkout->AddName() = $_REQUEST['name_name'];

// retrieve name
$name_name = $checkout->Name;

// empty checkout session on success
$checkout->reset();