----- Original Message ----- From: <[EMAIL PROTECTED]> To: <beginners-cgi@perl.org> Sent: Tuesday, May 01, 2007 8:21 PM Subject: Odd select box behaviour
> This one has me stumped, and it shouldn't. > > I'm trying to validate data from a simple select box: > > <select size="1" name="country"> > <option selected value='United States'>United States</option> > <option value='Canada'>Canada</option> > </select> > > When I do: > > foreach my $Item (param()) > { > my $input=param($Item); > print "$Item --$input--<br>\n"; > } > > the data is printed out with the expected leading and trailing '--'. > > But when I try to validate the incoming data: > > my $Country=param('country'); > if ($Country ne 'Canada' || $Country ne 'United States') > { > $Status=1; > $ErrMsg .= "$Mandatory{country} must be either Canada or United > States.<br>"; > } > Shouldn't that be: if ($Country ne 'Canada' && $Country ne 'United States') { And, is validation really necessary here? --Jon > it *always* falls through into the code block. > > I've stripped leading and trailing spaces from $Country. I've chomped > $Country. > > This is driving me crazy, especially since there are only 2 choices in > the select list, and one of them is already selected. > > Am I missing something really stupid here? > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > http://learn.perl.org/ > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/