PJ wrote:
Nathan Rixham wrote:
Chris wrote:
PJ wrote:
And again, this works:
if (strlen($_POST["first_nameIN"]) == 0 ) {
            $obligatoryFieldNotPresent = 1; ...

this does not:

if (strlen($_POST["first_nameIN"]) > 0 ) &&
(strlen($_POST["last_nameIN"]) > 0 ) { echo $first_nameIN, " ",
$last_nameIN);
else (echo "error";)}

But, $first_nameIn and $last_nameIN do echo their contents without the
if clause and we see that the first if clause does work... what am I
doing wrong, again?
Firstly please learn to indent your code (I don't care if this is
just an example of your code, make it easier for everyone who's
trying to help you). It's much easier to read this:

if (strlen($_POST["first_nameIN"]) > 0 ) &&
   (strlen($_POST["last_nameIN"]) > 0 ) {
      echo $first_nameIN, " ", $last_nameIN;
} else {
  echo "error";
}

If you want help we're not going to spend a long time reformatting
your code to try and understand it.

Now to the problem.

Are both first_nameIN AND last_nameIN longer than 0 chars?

var_dump($_POST['first_nameIN']);
var_dump($_POST['last_nameIN']);

maybe you only filled in first_name or last_name but not both.

syntax.. your brackets are all over the place

your wrote:

if (strlen($_POST["first_nameIN"]) > 0 ) &&
   (strlen($_POST["last_nameIN"]) > 0 ) {
      echo $first_nameIN, " ", $last_nameIN;
} else {
  echo "error";
}

should be:

if( (strlen($_POST["first_nameIN"]) > 0) &&
(strlen($_POST["last_nameIN"]) > 0) ) {
    echo $first_nameIN, " ", $last_nameIN;
} else {
  echo "error";
}

weirdly spaced but easier to read version *throws coding standards out
the window*:

if(
   (strlen($_POST["first_nameIN"]) > 0)
  &&
   (strlen($_POST["last_nameIN"]) > 0)
  )
{
    echo $first_nameIN, " ", $last_nameIN;
}
else
{
    echo "error";
}

regards

Oooops, so it was only the parentheses... =-O
Thanks, it works now. I do find it confusing just when and where to put
the brackets...


I personally like to do an indent of 3 spaces and indent the closing bracket.

IE

while ($foo != $bar) {
   dosomestuff();
   dosomemorestuff();
   if ($frog > $ape) {
      dosomeotherstuff();
      } elseif ($lizard < $cat) {
      someaction();
      } else {
      $bar++;
      }
   $foo++;
   }

Most don't do it that - they use line breaks before the open bracket etc.

I don't remember where I learned it, looking at stuff I did in bash and expect (tcl) and perl way back when, I didn't do it that way - but it makes the most sense to me - because a closing bracket finishes the statement that started on the line the opening bracket is on.

I guess to each his own.

It may have been some fancy text editor I tried that did it the way automagically, or someone elses code I had to read, but damned if I remember.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to