去年,当我刚开始成为一名程序员时,我建立了一个允许新成员加入组织的系统。这是一个跨多个页面的多步骤过程,在信用卡交易成功后结束。部分复杂性是对家庭成员身份的要求,它记录了家庭中每个人的详细信息,并为他们创建了记录。
最初,我使用会话变量中的数组跨步骤维护表单输入数据,并在信用卡付款完成后将数据提交到数据库。
我现在正在完全重建它,因为从那时起我学到了很多东西,而且它变得太乱而无法维护,但我仍然不知道管理这些数据的最佳方法是什么。
最初的理由是,因为有很多步骤,并且最后需要付款,所以在流程完成之前将数据提交到数据库似乎没有意义,特别是因为它涉及多个表中的记录和必须定期清除不完整记录的想法似乎是不必要且过于复杂的工作。第一次这样做后,会话变量中的数组变得非常混乱,并且在代码中涉及大量验证,因为它可能容易出错。我也浪费了很多时间来尝试纠正会话超时(这似乎比我在开发时所期望的要频繁得多)。
所以我问那些比我有更多知识和经验的人:通过多页注册过程维护临时数据的最佳方法是什么?