Jump to content

if submitted process form, else show form


keeps21

Recommended Posts

Hi

 

Is there an easier way to write this pseudo code script so that I don’t have to write the form out twice?

 

At the moment I have separated the form html into a separate script and I'm just doing an include to call it in.

 

if   { // form has been submitted

      // process form

      if { //error when processing form 

      // output error   
      // show form (include form.html)

      }

} else { // form hasn’t been submitted

      //show form (include form.html)

}

 

Thanks for any advice.

 

Stephen

<?php
// basic form and form processing code -

// condition the inputs and setup default values -
$submitted = isset($_POST['submit']) ? $_POST['submit'] : FALSE; // was the form submitted?
$name_field = isset($_POST['name']) ? $_POST['name'] : ""; // condition the form's name field

if($submitted) {
$form_error = array(); // array to hold any form validation errors

// validate the form data here (set elements in $form_error to hold error messages)
	if(empty($name_field)) {
	$form_error[] = "Please fill in the name";
}

// if there were no form validation errors, use the data that was submitted
if(empty($form_error)) {
	// do something with the data here
	echo "The name you entered was: $name_field";
}
}

// display the form if it has not been submitted or there are form validation errors
If(!$submitted || !empty($form_error)) {
// check for and display any form validation errors
if(!empty($form_error)) {
	echo "Please correct these errors -<br />";
	foreach($form_error as $error) {
		echo "$error<br />";
	}
}

// display the form, with any previously submitted values
?>
<form method="post" action="">
Name: <input type="text" name="name" value="<?php echo $name_field; ?>">
<input type="submit" name="submit">
</form>
<?php
}
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.