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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php