Re: Odd select box behaviour
[email protected] (Shawn Hinchy)
| Newsgroups | perl.beginners.cgi |
|---|---|
| Message-ID | <[email protected]> |
Quoting [email protected]: > Shawn Hinchy wrote: >> >> Quoting Jonathan Mangin <[email protected]>: >> >>> >>> ----- Original Message ----- >>> From: "Jonathan Mangin" <[email protected]> >>> To: <[email protected]>; <[email protected]> >>> Sent: Wednesday, May 02, 2007 9:51 AM >>> Subject: Re: Odd select box behaviour >>> >>> >>>> >>>> ----- Original Message ----- >>>> From: <[email protected]> >>>> To: <[email protected]> >>>> 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') { >>> >>> No, I guess not. Ignore me... >>> >> >> It looks to me like you were right, you want to enter the error >> block when the selected country does not match both cases, not >> whether you don't match one or the other - that'll always be true. >> >> Shawn > > OMG! :) Sometimes I wonder how I dress myself. Thank you. > LOL! We all do things like that ... well at least I do them too. Imagine what programming must have been like before compilers had error messages?