Re: verify problem
| From: | Nathan Rixham | Date: | Sat, 07 Mar 2009 14:06:21 +0000 |
| Subject: | Re: verify problem | ||
| References: | 1 2 3 4 5 6 7 8 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-289541@lists.php.net to get a copy of this message | ||
Ashley Sheridan wrote:
On Sat, 2009-03-07 at 13:42 +0000, Nathan Rixham wrote: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'; ? regardsAshley Sheridan wrote: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) {On Thu, 2009-03-05 at 19:58 -0800, Michael A. Peters wrote: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, nathPJ wrote: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.ukNathan Rixham wrote:I personally like to do an indent of 3 spaces and indent the closing bracket. IE while ($foo != $bar) {Chris wrote: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...PJ wrote:syntax.. your brackets are all over the place your wrote: if (strlen($_POST["first_nameIN"]) > 0 ) && (strlen($_POST["last_nameIN"]) > 0 ) {And again, this works: if (strlen($_POST["first_nameIN"]) == 0 ) {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 ) {$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?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.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";} regardsdosomestuff(); 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.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