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