Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6593001
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T17:37:36+00:00 2026-05-25T17:37:36+00:00

I built a system to allow new members to join an organisation last year

  • 0

I built a system to allow new members to join an organisation last year when I was just starting out as a programmer. It’s a multi-step process across several pages that concludes after a successful credit card transaction. Part of the complication was the requirement for family memberships, which recorded the details of everyone in the family and created records for them as well.

Originally, I maintained the form input data across the steps using arrays in session variables and the data was committed to the DB after a the credit card payment went through.

I’m now completely rebuilding it since I’ve learned a lot since then and it’s become too messy to maintain, but I still have no idea what the best way to manage this data is.

The original rationale was that because there were a lot of steps, and the requirement for a payment at the end, it seemed to make no sense to commit data to the DB until the process was complete, especially since it involved records in multiple tables and the idea of having to periodically flush out the incomplete records seemed like unnecessary and overly complicated effort. Having done it the first time around, the arrays in session variables got extremely messy and involved a lot of verification in the code since it was potentially error-prone. I also lost a lot of time trying to correct for session timeouts (which seemed to happen far more often than I would have expected when I was developing).

So I ask those with far more knowledge and experience than myself:
What is the best way to maintain temporary data through a multipage registration process?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T17:37:36+00:00Added an answer on May 25, 2026 at 5:37 pm

    There aren’t that many different approaches to handle this generally speaking.

    Either all the data will persist in the session, or just a unique identifier persists in the session that allows you to query out all the data that lives in the database throughout the process.

    Sessions are volatile though, so the database is a better approach.

    Save each step of partial data into the database, but have a column like “completed” or “committed” in each relevant table that is 0 by default, and only when the process is completed flag them all to 1.

    It really isn’t too much trouble to write a php script that gets called by cron once a night to go delete all the records that are committed=0 and last modified > 1 day (you do have a column that auto-updates a timestamp when modified right? ) or something like that. Or better yet instead of deleting, move them to another table called “warm_leads” – people who were interested in your service but bailed out for some reason and have sales/customer service follow up.

    also, increase the session timeout to 1 or 2 hours:

    ini_set(’session.gc_maxlifetime’, 120*60); // 120 minutes
    

    Or have an AJAX request that fires every 10 minutes on each page that essentially is performing a session keep-alive to extend sessions as long as the browser is open and javascript isn’t broken.

    The other good news is with the database persisting data, you only need to validate it once on the way in, and not on every step.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have built a system for my final year project. At one part, I
Built a custom app that will allow users to add jobs to a system.
I'm modifying a system written in c# MVC at the moment. I've just built
I've built a CMS system to allow users to create and manage online forms
I have built a backend system that allows a user to add multiple content
I've built a system that uses underscore-js to render templates, and it works fine
Our in-house built CMS system has the ability to have descriptive url ( Descriptive
We have a system built on seam/richfaces. There's this webpage where the tables are
I currently have built a system that checks user IP, browser, and a random-string
I have a web-based system built with user login data based on session variables.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.