When posting PHP code, please use the board's [noparse]
..
[/noparse] bbcode tags as they make your code much easier to read and analyze.
As for your error message, the problem is here:
$strSQl = "INSERT INTO Members(firstname) values('" . $_POST["firstname"] . "')";
//The SQL statement is executed
mysql_query($strSQL) or die (mysql_error());
You define a variable called $stringSQl but then try to use one called $stringSQL (which is undefined at that point).
A bigger problem, however, is the fact that you're executing three separate INSERT queries, which means you're creating three separate rows in the DB; one has a firstname value, one has a username value, and one has a password value. The rest of the columns in each of the three rows will be set to their default/NULL state. This doesn't really make much sense. Instead, you should probably be using all three pieces of information to create a single row (e.g using only one INSERT query).
Also note that user-supplied data should never be placed directly into a SQL query string, else your code will be vulnerable to SQL injection attacks and/or just plain SQL errors. Instead, you must first sanitize it such as with a function like [man]mysql_real_escape_string/man (for string data) or by using prepared statements. For more info, see the PHP manual page [man]security.database.sql-injection[/man].
Finally, note that the entire [man]mysql[/man] extension is quite outdated and has been deprecated in favor of [man]MySQLi[/man] or [man]PDO[/man].