Collecting sign-up information from the user involves creating a sequence of HTML pages and uploading them, on demand, from the ISS to the HTTP client. The sequence of pages walks the user through the sign-up process, much like a wizard in a Windows-based program. Although the content and format of the pages are entirely up to you, each page typically includes the following:
The last page contains an additional button that the user can click to submit the completed sign-up application to the ISS.
To create customer sign-up pages
Note
Creating a wizard-like interface in HTML pages requires that you use HTML forms and CGI processing. Each form gathers information from the user and uses the GET method to pass the information to the CGI processor whenever the user clicks a navigation button.
Each HTML page typically includes a form that contains the following controls:
When the user clicks one of the form's navigation buttons, data from a form is posted to the CGI processor, which accumulates the data in its own database. You have the option of validating the data and posting an edit page to the HTTP client if the data is not acceptable. You also have the option of storing the data in your own database as the CGI processor receives the data, or waiting until the entire sign-up session is completed.
After recording the data, the CGI processor determines which button control initiated the posting and uses that information to construct the next HTML page to upload to the customer's desktop computer. The CGI processor dynamically constructs the next page from an HTML template that contains variable tokens. When the processor parses a variable token such as a $SessionHandle token, it replaces the token in the HTML stream with the appropriate variable value. Finally, the processor writes the dynamically created HTML file to the HTTP client by means of the standard output stream.
Using dynamic HTML provides the ability to preload the form controls with data. This enables the customer to navigate backward and forward through the HTML pages to review or edit previously entered data.
The CGI processor uses a unique session handle to identify all transactions belonging to a particular sign-up session. The processor embeds the session handle as a hidden control in the HTML forms that it uploads to the HTTP client. The client returns the handle with each form that it posts back to the CGI processor.
Because HTTP is a session-less protocol, the only way the ISS can determine whether a sign-up session has been abandoned is by means of an external watchdog process. When a sign-up session is started, the ISS creates a time stamp and registers it in the sign-up database.
The watchdog process scans the database periodically and determines whether a session has exceeded the nominal time allocated for signing up. If so, the watchdog process assumes that the session has timed out and ends the sign-up transaction.