Page 460 - Beginning PHP 5.3
P. 460

Part III: Using PHP in Practice

                             < input type=”text” name=”username” id=”username” value=” < ?php
                    echo $member- > getValueEncoded( “username” ) ? > ” / >

                             < label for=”password” < ?php if ( $missingFields ) echo ‘ class=
                    ”error”’ ? > > Password < /label >

                             < input type=”password” name=”password” id=”password” value=”” / >

                             < div style=”clear: both;” >
                               < input type=”submit” name=”submitButton” id=”submitButton”
                    value=”Login” / >
                             < /div >
                           < /div >
                         < /form >
                      < ?php
                      displayPageFooter();
                    }

                    function processForm() {
                      $requiredFields = array( “username”, “password” );
                      $missingFields = array();
                      $errorMessages = array();

                      $member = new Member( array(
                        “username” = >  isset( $_POST[“username”] ) ? preg_replace( “/[^ \-\_a-zA-
                    Z0-9]/”, “”, $_POST[“username”] ) : “”,
                        “password” = >  isset( $_POST[“password”] ) ? preg_replace( “/[^ \-\_a-zA-
                    Z0-9]/”, “”, $_POST[“password”] ) : “”,
                      ) );

                      foreach ( $requiredFields as $requiredField ) {
                        if ( !$member- > getValue( $requiredField ) ) {
                          $missingFields[] = $requiredField;
                        }
                      }

                      if ( $missingFields ) {
                        $errorMessages[] = ‘ < p class=”error” > There were some missing fields in
                    the form you submitted. Please complete the fields highlighted below and
                    click Login to resend the form. < /p > ’;
                      } elseif ( !$loggedInMember = $member- > authenticate() ) {
                        $errorMessages[] = ‘ < p class=”error” > Sorry, we could not log you in with
                    those details. Please check your username and password, and try again. < /p > ’;
                      }

                      if ( $errorMessages ) {
                        displayForm( $errorMessages, $missingFields, $member );
                      } else {
                        $_SESSION[“member”] = $loggedInMember;
                        displayThanks();
                      }
                    }

                    function displayThanks() {




              422





                                                                                                      9/21/09   9:14:09 AM
          c14.indd   422                                                                              9/21/09   9:14:09 AM
          c14.indd   422
   455   456   457   458   459   460   461   462   463   464   465