Here's a simpler version, that's still giving me the unexpected $ on the last line error:
PHP Code:
<?php
// function to output form and hold previously entered values.
function user_form() {
//output the form HTML.
echo '<p>Please fill in at least two fields.</p>';
echo '<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="post">';
echo '<table border="0" cellspacing="4" cellpadding="0">';
echo '<tr><td>Vertical Distance:</td><td><input type="text" name="VD" value="'.htmlspecialchars($_POST['VD']).'"></td></tr>';
echo '<tr><td>Horizontal Distance:</td><td><input type="text" name="HD" value="'.htmlspecialchars($_POST['HD']).'"></td></tr>';
echo '<tr><td>Throw Distance:</td><td><input type="text" name="TD" value="'.htmlspecialchars($_POST['TD']).'"></td></tr>';
echo '<tr><td colspan="2"><input type="submit" value="Add to Database" name="submit"></td></tr>';
echo '</table>';
echo '</form>';
}
// has the form been submitted?
if (isset($_POST['submit'])) {
// the form has been submitted
// perform data checks.
$error_str = ''; // initialise $error_str as empty
if( isset($_POST['VD'])) { if(!is_numeric($_POST['VD'])){$error_str .= '<li>VD must be a number</li>'; }
if( isset($_POST['HD']) ) { if( !is_numeric($_POST['HD'])){$error_str .= '<li>HD must be a number</li>'; }
if( isset($_POST['TD']) ) { if( !is_numeric($_POST['TD'])){$error_str .= '<li>TD must be a number</li>'; }
// now, have any of these errors happened? We can find out by checking if $error_str is empty
if (!empty($error_str)) {
// errors have occured, halt execution and show form again.
echo '<p>There were errors in the information you entered, they are listed below:</p>';
echo '<ul>'.$error_str.'</ul>';
// show form again
user_form();
exit; // die
}else{echo'Success!!';}
// if we get here, all data checks were okay, process information as you wish.
} else {
// the form has not been submitted, let's show it
user_form();
}
?>