Why not use JavaScript validation? That way you will not be allowed to proceed to the following page unless you've entered the appropriate information.
How to display the username depends on what your form looks like. Does the user enter his username in the form, or is it carried across from a different page?
If it is sent through the form, you can simply use the form variable to display it, otherwise you have to use the session variable where it's stored. It would be helpful to have a look at your code.
Anyway, here's an example I found on form validation:
The following lines go in the HEAD of you HTML page:
<script Language="JavaScript">
function isEmailAddr(email)
{
var result = false;
var theStr = new String(email);
var index = theStr.indexOf("@");
if (index > 0)
{
var pindex = theStr.indexOf(".",index);
if ((pindex > index+1) && (theStr.length > pindex+1))
result = true;
}
return result;
}
function validRequired(formField,fieldLabel)
{
var result = true;
if (formField.value == "")
{
alert('Please enter a value for the "' + fieldLabel +'" field.');
formField.focus();
result = false;
}
return result;
}
function allDigits(str)
{
return inValidCharSet(str,"0123456789");
}
function inValidCharSet(str,charset)
{
var result = true;
// Note: doesn't use regular expressions to avoid early Mac browser bugs
for (var i=0;i<str.length;i++)
if (charset.indexOf(str.substr(i,1))<0)
{
result = false;
break;
}
return result;
}
function validEmail(formField,fieldLabel,required)
{
var result = true;
if (required && !validRequired(formField,fieldLabel))
result = false;
if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
{
alert("Please enter a complete email address in the form: [email]yourname@yourdomain.com[/email]");
formField.focus();
result = false;
}
return result;
}
function validNum(formField,fieldLabel,required)
{
var result = true;
if (required && !validRequired(formField,fieldLabel))
result = false;
if (result)
{
if (!allDigits(formField.value))
{
alert('Please enter a number for the "' + fieldLabel +'" field.');
formField.focus();
result = false;
}
}
return result;
}
function validInt(formField,fieldLabel,required)
{
var result = true;
if (required && !validRequired(formField,fieldLabel))
result = false;
if (result)
{
var num = parseInt(formField.value,10);
if (isNaN(num))
{
alert('Please enter a number for the "' + fieldLabel +'" field.');
formField.focus();
result = false;
}
}
return result;
}
function validDate(formField,fieldLabel,required)
{
var result = true;
if (required && !validRequired(formField,fieldLabel))
result = false;
if (result)
{
var elems = formField.value.split("/");
result = (elems.length == 3); // should be three components
if (result)
{
var month = parseInt(elems[0],10);
var day = parseInt(elems[1],10);
var year = parseInt(elems[2],10);
result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
allDigits(elems[1]) && (day > 0) && (day < 32) &&
allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
}
if (!result)
{
alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
formField.focus();
}
}
return result;
}
function validateForm(theForm)
{
// Customize these calls for your form
// Start ------->
if (!validRequired(theForm.fullname,"Name"))
return false;
if (!validEmail(theForm.email,"Email Address",true))
return false;
if (!validDate(theForm.available,"Date Available",true))
return false;
if (!validNum(theForm.yearsexperience,"Years Experience",true))
return false;
// <--------- End
return true;
}
</script>
...and this goes inside the BODY of your page:
<form method="post" action="blformvalidate.htm" onsubmit="return validateForm(this)" id=form1 name=form1>
<p>Name: <input name="fullname" size="32" ><br>
Email Address: <input name="email" size="32" ><br>
Date Available: <input name="available" size="16" ><i>(mm/dd/yyyy)<br>
</i>Years of Experience: <input name="yearsexperience" size="4" ></p>
<p><input type="submit"
value="Submit" name="submit"></p>
</form>