On Thu, 2009-03-05 at 19:58 -0800, Michael A. Peters wrote: > 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. > I'm more a fan of lining up opening and closing brackets so they are at the same indent level. It prevents one of the most popular errors caused by omitting a bracket, brace or other in the wrong place. A few extra line breaks in the code are not going to make a noticeable impact on the file size of the script! Ash www.ashleysheridan.co.uk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php