Jump to content

form question(s)


Tandem

Recommended Posts

Ok here goes...

I want to be able to stop people from registering usernames with certain characters in them (* for example), on my website by giving them an error message if they have used any of the certain characters that i would consider illegal.

Is there a way to do this?

Another similar question, but for something totally different:
I have a form that i only want the user to be able to send numbers, or they get an error message.

How would i do this?

i would be grateful if somebody could help me out on both counts :)

Thanks in advance.

-Tandem
Link to comment
Share on other sites

grab each input and run it through a preg_match function.

IE.
[code]
$name = $_POST['name'];

...

if(!preg_match("/^[a-z0-9].+$/i", $name)) {
  //error here
}

... go on and so sql sanity checks
[/code]
Link to comment
Share on other sites

As for the 2nd question, that would depend on wether you are trying to allow any numeric value or just whole numbers. If you want any number allowed, look at the function is_numeric. If you want to check post data to make sure it is a whole number, look at the fuction ctype_digit.

It may seem like you should use is_int() to check for a whole number, but this also checks the variable type - post data is sent as a string so the function returns false on any post data.
Link to comment
Share on other sites

Another solution:

[code]function validate($str, $mask) {
  $validlength=10;

  $str=strtolower($str);
  if (strspn($str, $mask) == strlen($str) && $validlength >= strlen($str)) {
      return true;
  } else {
      return false;
  }
}

$str = "test";
$mask = "abcdefghijklmnopqrstuvwxyz";
validate($str,$mask);[/code]

The $mask string contains all of the valid characters, so you could easily change it to 0123456789 to cover a form input meant only for numbers.

This was taken from PHP.net a long time ago, but I can't remember the author's name to give proper credit :\
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.