my question is about validation using php. i am validating a username which
a user would enter and clicks on a image to find
if that username is available. example if a user enters abc#123 php file is
reading this value as abc ONLY which i do not
want instead the php file should read as abc#123. following is the sequence
of pages. please advice the solution.
first page = register.php here a user enters a username and clicks on an
image to find out if the username is available or
not. using a javascript function of onclick i am reading the value entered
in the form in javascript as
=============================================
var useri = document.registrationform.username
var valueofuseri = document.registrationform.username.value
var recui = /^\s{1,}$/g;
if ((useri.value==null) || (useri.value=="") || (useri.length=="") ||
(useri.value.search(recui))> -1)
{
alert("Please Enter a User Name")
return false
}
window.open("checkusernamei.php?theusernameis="+valueofuseri,
"titleforavailabilityi", "width=680, height=275, status=1,
scrollbars=1, resizeable=yes");
============================================
i have used a alert message in javascript to display the value, javascript
is able to capture all the characters entered
which is abc#123
second page = checkusernamei.php = this file uses GET to read what was
entered in the form.
============================================
$username = $_GET["theusernameis"];
if( $username == "" || !preg_match("/^[a-z0-9]+(?:_[a-z0-9]+)?$/i",
$username) )
{
echo "username is blank or has special characters";
}
============================================
the # sign is being ignored only if the image is clicked in order to check
the username, if the user enters abc#123 and
clicks the submit button without clicking on the checkuser image button then
my php validation for username shows an error
message.
==============================================================
if( $username == "" || !preg_match("/^[a-z0-9]+(?:_[a-z0-9]+)?$/i",
$username) )
{ echo "display error message for username"; }
==============================================================
now the problem is with clicking the image only and passing the value to
checkusernamei.php using GET method
i have also used an echo statement in checkusernamei.php as
echo "value of username is ". $username; = this displays abc and not abc#123
how can i fix this problem wherein checkusernamei.php will be able to read
abc#123. also in this checkusernamei.php file i
have a select query which will read if the username already exists in the
table. presently as checkusernamei.php is reading
abc ONLY the select query is also passing abc and not abc#123
$select = "Select username from table where username = '$username'";
please advice.
thanks.