Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Checking for empty CGI params; this isn't working

by mrbbking (Hermit)
on Jul 14, 2002 at 17:28 UTC ( [id://181601]=note: print w/replies, xml ) Need Help??


in reply to Checking for empty CGI params; this isn't working

You're checking the length of the result of an 'or' between two calls to the param() sub. There is no context in your post, but I don't think that's what you want. Look closely at how your parentheses match up:
(param('tele') || param('mobile'))

Do you want, instead, to check that one (or both) of the params "mobile" and "tele" are at least one character long?

If so, try this:

elsif( length(param('tele')) || length(param('mobile')) )
If not, please ask again, but be clear in your question what it is that you're looking for, and exactly how the code you have so far is not doing what you want. (For more on this, have a look at How do I post a question effectively?) It is difficult to tell what you're trying to ask, here.

Welcome to the Monastery, andrew - I hope you find what you're looking for here.

Replies are listed 'Best First'.
Re: Re: Checking for empty CGI params; this isn't working
by andrew (Acolyte) on Jul 14, 2002 at 17:54 UTC
    I want to check to see if either telephone or mobile is entered, only one has to be entered to get through and your last post did not work
    elsif( length(param('tele')) || length(param('mobile')) ) { error("You need to enter either a telephone or a mobile"); }
      I don't write a lot of CGI programs, so I'm not going to be an authority on use of the param() function -- but it may be complicating that line more than necessary. I'm guessing that you call it on these two fields at least twice - once (here) to see if its empty, and again later to use it.

      You may want to take that out of the question by assigning each to a scalar value. Then this works:

      my $tele = ''; my $mobile = ''; # uncomment to pass # $tele = 'hello'; if( length($tele) || length($mobile) ){ print 'At least one is OK'; } else { print 'both are empty'; }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://181601]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2024-04-19 23:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found