Php form - clear form on presentation - reset it

I have the following form that works. But if the user had to refresh the click, he resubmitted the form again and again with each update. How to clear the form when updating so that it is filled again?

thanks

Php

This is a simple contact form.

<style> .error_message{color:#cc0000;} .form1{} .form2{display:none;} #succsess_page h1{background:url('http://example.com/img/ok.png')left no-repeat;padding-left:40px;color:#45a015; } </style> <?php //fields $honeypot = ''; $error = ''; $name = ''; $email = ''; $comments = ''; if(isset($_POST['contactus'])) { $honeypot = $_POST['email_confirm']; $name = $_POST['name']; $email = $_POST['email']; $comments = $_POST['comments']; // honeypot if($honeypot) exit(1); //error messages if(trim($name) == '') { $error = '<div class="error_message">Need your name</div>'; } else if(trim($email) == '') { $error = '<div class="error_message">Need your email</div>'; } else if(!isEmail($email)) { $error = '<div class="error_message">Need a valid email</div>'; } else if(trim($comments) == '') { $error = '<div class="error_message">A message is required</div>'; } if($error == '') { if(get_magic_quotes_gpc()) { $comments = stripslashes($comments); } //email address $address = " email@example.com "; //email message $e_subject = 'Web Message from: ' . $name . '.'; $e_body = "From: $name\nEmail: $email \r\n\nMessage:\n$comments\n\n\n"; $msg = $e_body . $e_content . $e_reply; if(mail($address, $e_subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n")) { //success html page response echo "<div id='succsess_page'>"; echo "<h1>Email Sent Successfully.</h1>"; echo "<p>Thank you <strong>$name</strong> , your message has been submitted. </p>"; echo "</div>"; } else echo "Error. Mail not sent"; } } if(!isset($_POST['contactus']) || $error != '') // Do not edit. { ?> <?php echo $error; ?> <!--form--> <form method="post" action=""> <p class="form1">Name: <input name="name" type="text" id="name" size="30" value="<?php echo $name; ?>" onblur="toUpper(this.value);" /></p> <p class="form1">Email: <input name="email" type="text" id="email" size="30" value="<?php echo $email; ?>" /></p> <p class="form2">Confirm Email: <input name="email_confirm" type="text" id="email_confirm" size="30" value="<?php echo $email_confirm; ?>" /></p> <p class="form1">Message: <textarea name="comments" cols="40" rows="3" id="comments"><?php echo $comments; ?></textarea></p> <p class="form1"><input name="contactus" type="submit" class="submit" id="contactus" value="Submit" /></p> </form> <!--end form--> <?php } function isEmail($email) { // Email address verification, do not edit. return(preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[az]{2,12})$/",$email)); } ?> <!------- capitalize first letter Name input ----> <script> function toUpper(mystring) { var sp = mystring.split(' '); var wl=0; var f ,r; var word = new Array(); for (i = 0 ; i < sp.length ; i ++ ) { f = sp[i].substring(0,1).toUpperCase(); r = sp[i].substring(1); word[i] = f+r; } newstring = word.join(' '); document.getElementById('name').value = newstring; return true; } </script> 
0
jquery html php forms
source share
2 answers

You can redirect the page after inserting data using:

 header('Location:'.$_SERVER['PHP_SELF']); 

After the redirect, the whole page will be reloaded, and updating will not cause the data to be reinserted.

 if(isset($_POST['contactus'])) { $honeypot = $_POST['email_confirm']; $name = $_POST['name']; $email = $_POST['email']; $comments = $_POST['comments']; // honeypot if($honeypot) exit(1); //error messages if(trim($name) == '') { $error = '<div class="error_message">Need your name</div>'; } else if(trim($email) == '') { $error = '<div class="error_message">Need your email</div>'; } else if(!isEmail($email)) { $error = '<div class="error_message">Need a valid email</div>'; } else if(trim($comments) == '') { $error = '<div class="error_message">A message is required</div>'; } if($error == '') { if(get_magic_quotes_gpc()) { $comments = stripslashes($comments); } //email address $address = " email@example.com "; //email message $e_subject = 'Web Message from: ' . $name . '.'; $e_body = "From: $name\nEmail: $email \r\n\nMessage:\n$comments\n\n\n"; $msg = $e_body . $e_content . $e_reply; if(mail($address, $e_subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n")) { //success html page response echo "<div id='succsess_page'>"; echo "<h1>Email Sent Successfully.</h1>"; echo "<p>Thank you <strong>$name</strong> , your message has been submitted. </p>"; echo "</div>"; } else echo "Error. Mail not sent"; } header('Location:'.$_SERVER['PHP_SELF']); } 
+1
source share

The correct answer is very simple, duplicate: PHP How to get the error marker after updating an unsatisfactory login Submit an application for your own needs. The go_to function is just a call to header (); and go out;

0
source share

All Articles