When you first come to the References page, you should see this:

Although this page looks pretty simple, it is actually the most complicated page in the Room4Rent application. To see some of this complexity, please fill out the Reference information. Then, click the "Save and Add Another" button. This is a "Submit" button, and the HTML <form> is setup up like this:
<form method="post" action="/4DACTION/WSC_FormPost/References">
Again, the WSC_FormPost method will be processing this form, except this time the parameter passed to it is "References." Looking again at WSC_FormPost, we see:

In this case, $tFormName will be "References" (passed as a parameter to this method). The handling of this form passed to the WSC_ReferenceSave method. This method is fairly large but isn't very complicated. So rather than dissect it entirely, we will focus on just one small part:

For the most part, this tutorial has used 4D process variables to receive data posted to 4D from the Web (as detailed earlier in this tutorial). That technique has many useful applications, but you will also want to use the command GET WEB FORM VARIABLES for utmost flexibility. That command isn't used in WSC_ReferenceSave. It was called earlier in the execution chain, back in Compiler_WEB:

The command GET WEB FORM VARIABLES can be called any time after an HTML form has been submitted to the 4D Web Server. This command takes two arrays as parameters: one to hold the Form Item names (WSC_at_FormItemNames), and one to hold the Form Item Values (WSC_at_FormItemValues). These arrays are referenced by the WSC_FormValue method, seen above in the WSC_ReferenceSave method.
Using WSC_FormValue, you can get the value of any form item that was posted, for example:
$tUserName:=WSC_FormValue("*username")
This way, you won't have to always declare 4D variables to hold the contents of a form. It makes the methods you write much more easily adapted for multiple purposes.