Skip to content Skip to sidebar Skip to footer

Checking For Alphanumeric Characters And Getting Input From Html Form

I'm fairly new to programming in Perl and I have a couple of compilation issues I can't seem to resolve. My program gets input from this HTML form. Question: Should my form use the

Solution 1:

This should get you going. There is a number of issues with your code that don't stop it from working, but current wisdom is not to use CGI at all so I will roll with you.

  • Use GET unless you have a good reason to use POST

  • The problem is here

    if(($full_name && $user_name && $password && $new_password) eq /\A[[:alnum:]]+\z/) {
    

    You are using a Boolean && operation that combines the truth of the three variables, and checking whether that, as a string, is equal to the result of matching the contents of $_ against that regular expression.

    You must check each of the variables individually, and use the binding operator=~ to test them against a regex. It is also bad form to use the POSIX character classes. I suggest you use grep, like this

    my $mismatch = grep/[^A-Z0-9]/i, $full_name, $user_name, $password, $new_password;
    

    Now, $mismatch is true if any of the variables contain a non-alphanumeric character. (Strictly, it is set to the number of variables that have a a non-alphanumeric character, which is zero (false) if none of them do.)

    Then you can say

    if (not $mismatch) { ... }
    
  • It looks like you just need an else that builds a separate page.

Post a Comment for "Checking For Alphanumeric Characters And Getting Input From Html Form"