On Sat, 2009-03-07 at 14:06 +0000, Nathan Rixham wrote: > Ashley Sheridan wrote: > > On Sat, 2009-03-07 at 13:42 +0000, Nathan Rixham wrote: > >> Ashley Sheridan wrote: > >>> 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 > >>> > >>> > >> yeah I do that with functions, methods, classes but not so much with > >> if/for/while/switch statements.. > >> > >> here's the coding standards I always break (when compared against zend) > >> > >> Private member variable must contain a leading underscore > >> > >> Expected "if (...) {\n"; found "if(...) {\n" > >> Expected "} elseif (...) {\n"; found "} elseif(...) {\n" > >> > >> Expected "foreach (...) {\n"; found "foreach(...) {\n" > >> > >> Space found before comma in function call > >> Space after opening parenthesis of function call prohibited > >> Space before closing parenthesis of function call prohibited > >> > >> but all of them are because I personally find > >> > >> if( $x < $y ) { > >> > >> } elseif( $x == $y ) { > >> > >> } > >> > >> more readable than: > >> > >> if ($x < $y) { > >> > >> } elseif ($x == $y) { > >> > >> } > >> > >> and > >> public function someMethod( $arg0 , $arg1 , $arg2 ) > >> { > >> > >> more readable than: > >> public function someMethod($arg0, $arg1, $arg2) > >> { > >> > >> regards, > >> nath > > It's the if/for/while's that I often have these problems with! For me, > > doing a switch/case like this takes only a tiny bit more time than how > > I've seen others do it, but has major benefits when code spans out into > > several screens worth: > > > > switch($action) > > { > > case 'addCat': > > { > > // code > > break; > > } > > case 'editCat': > > { > > // code > > break; > > } > > case 'killCat': > > { > > // code > > break; > > } > > } > > Etc... I think some of the old style of coding where as little vertical > > space is used as possible is a throwback from the days when program > > listings were printed out for review afterwards, and found in > > magazines/books for hobbyists to type in (I am going back a bit now!) I > > do exactly the same with my HTML too, indenting block-level elements so > > that everything is readable with a quick glance afterwards (how many > > times have you forgot to close a div, or closed too many?) I think > > there's a lot to be said for good indenting practices. > > > > > > Ash > > www.ashleysheridan.co.uk > > > > > > likewise with the (x)html - tend to format it like an xml document, as > for tab's it's 4 spaces all the way; and finally a couple of questions: > > with html do you also indent the head child elements or just the > elements in body? > > do you indent procedural code the same as OO code > > and.. require() include() or require '/path'; / include '/path'; > > ? > > regards I do try now to indent head elements as well, but I think that's usually not so much of a problem as there are very few tags that go into the head that go into multi-level areas. As for includes, well, I try to indent them so they appear indented correctly in the final code, but that's something I'm only really now getting into. A lot of the time I try to make my includes close everything they've opened anyway, so that I only need the indenting to be correct for that include. The obvious exception is headers and footers, which I try to make compliment each other if possible. And spaces instead of tabs! That's heresy! Ash www.ashleysheridan.co.uk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php