<?php
 
include("template.class.php");
 
 
// If the form has not been posted...
 
if (! isset($_POST["Submit"])) {
 
 
    // Show the data entry form
 
    showForm();
 
 
} else { // We have posted data
 
 
    // Let's check the POST (or GET) data and validate
 
    $problem = validateForm();
 
 
    // If there were any problems then show them
 
    if (strlen($problem) > 0) {
 
 
        // Show the main registration form and pass in the validation problems
 
        showForm('<h3 style="color: red;">' . $problem . '</h3>');
 
 
    } else { // Data Validation Passed
 
 
        // SAVE THE RECORD OR PROCESS YOUR DATA HERE
 
        // Let's show a confirmation (which could be another template)
 
        echo "<h2>Your data was submitted successfully</h2>\n";
 
 
        //Now show the passed in values using the Template::getFormValue value
 
        //NOTE: we could also show these values using $_POST[] if needed
 
        echo "First Name: " . Template::getFormValue("FirstName") . "<br />\n";
 
        echo "Zip Code: " . Template::getFormValue("ZipCode") . "<br />\n";
 
        echo "Gender: " . Template::getFormValue("Gender") . "<br />\n";
 
        echo "Agree: " . (Template::getFormValue("Agree") == "on" ? "Yes" : "No");
 
    }
 
}
 
// --------------------------------------------------------------------------
 
 
//  Show the input form
 
function showForm($message="") {
 
 
    // Create the template object
 
    $template = new Template("example2.html");
 
 
    $template->replaceTag("Title", "My Template Example");
 
    $template->replaceTag("Message", $message);
 
    $template->replaceTag("FirstName", Template::getFormValue("FirstName"));
 
    $template->replaceTag("ZipCode", Template::getFormValue("ZipCode"));
 
    $template->replaceTag("Agree", Template::getHTMLChecked(Template::getFormValue("Agree")));
 
 
    // Populate the radio buttons group
 
    if (Template::getFormValue("Gender") == "F") {
 
        $template->replaceTag("GenderMale", Template::getHTMLChecked(false));
 
        $template->replaceTag("GenderFemale",  Template::getHTMLChecked(true));
 
    } else {
 
        $template->replaceTag("GenderMale", Template::getHTMLChecked(true));
 
        $template->replaceTag("GenderFemale", Template::getHTMLChecked(false));
 
    }
 
 
    $template->showPage();
 
}
 
 
//  Validate (server side for security) the values from the form
 
function validateForm() {
 
 
    // Validate the form values
 
    $problem = "";
 
 
    if (strlen(trim(Template::getFormValue("FirstName"))) == 0) {
 
        $problem .= "First name is required<br />";
 
    } elseif (strlen(trim(Template::getFormValue("FirstName"))) > 20) {
 
        $problem .= "First name is too long<br />";
 
    }
 
 
    if (! is_numeric(Template::getFormValue("ZipCode"))) {
 
        $problem .= "Zip code must be a valid number<br />";
 
    } elseif (strlen(trim(Template::getFormValue("ZipCode"))) <> 5) {
 
        $problem .= "Zip code must be 5 digits long<br />";
 
    }
 
 
    // Pass back any problems
 
    return $problem;
 
 
}
 
?>
 
 |