Note that there are some explanatory texts on larger screens.

plurals
  1. PORedirect php form on successful submit
    primarykey
    data
    text
    <p>At the moment after a form is submitted, the following code is used:</p> <pre><code>&lt;?php if(isset($error)) {echo "&lt;span id='Warning'&gt;Please enter all areas marked with *&lt;/span&gt;";} else if (isset($sent)) {echo "&lt;span id='Normal'&gt;Thank you for your enquiry, we will contact you shortly&lt;/span&gt;";} ?&gt; </code></pre> <p>How can I redirect to a THANK YOU page upon submit (if there are no errors of course)?</p> <p>The form action is currently:</p> <pre><code>&lt;form action="&lt;?php echo $_SERVER['../PHP_SELF']; ?&gt;" method="post" id="enquiryform"&gt; </code></pre> <p>I've tried the following after my sql query execution. I would like to redirect this page to a thank you page only on successful form submission (without any errors)</p> <pre><code>header('Location: THANK YOU PAGE'); </code></pre> <p>I'm sure it's something fairly obvious, but I've searched everywhere and tried lots of different things to no avail!</p> <p>Full code (obviously removing server info, email addresses and form content as it's fairly long etc):</p> <pre><code>&lt;?php /* Accessing SQL-Server and querying table */ MYSQL_CONNECT($server, $user, $password) or die ("Server unreachable"); MYSQL_SELECT_DB($database) or die ("Database non existent"); if(array_key_exists('submit',$_POST)) { $adate = $_POST['adate']; $guests = $_POST['guests']; if($guests=="Please Select") { $error['guests'] = 'Flagged'; } $title = $_POST['title']; if($title=="Please Select") { $error['title'] = 'Flagged'; } $name = trim($_POST['fullname']); if(empty($name)) { $error['name'] = 'Flagged'; } $telephone = trim($_POST['telnumber']); if(empty($telephone)) { $error['telephone'] = 'Flagged'; } $accomm = trim($_POST['accommodation']); if($accomm=="Default") { $error['accommodation'] = 'Flagged'; } $email = $_POST['email']; $pattern = '/^[^@]+@[^\s\r\n\'";,@%]+$/'; if (!preg_match($pattern, trim($email))) { $error['email'] = 'Flagged'; } $message = trim($_POST['message']); //initialize variables $to = 'EMAIL@EMAILADDRESS.COM'; $subject = "Enquiry"; //build the message $email_message .= 'Arrival Date: '.$adate.' Guests: '.$guests.' Accom: '.$accomm."\n\n"; $email_message .= 'Name: '.$title.' '.$name."\n\n"; $email_message .= 'Telephone: '.$telephone."\n\n"; $email_message .= 'Email: '.$email."\n\n"; $email_message .= 'Message: '.$message; $additionalHeaders = "From: XXXXXXXXXXXX&lt;".$email."&gt;"; //print_r($error); //send the email if (!isset($error)) { mail($to, $subject, $email_message, $additionalHeaders); MYSQL_QUERY("INSERT into Enquiry VALUES('".date('d/m/y')."','".$_POST['hSpa']."','".$_POST['hPackage']."','".$adate."','".$guests."','".$accomm."','".$title."','".$name."','".$telephone."','".$email."','".$message."')"); } } ?&gt; &lt;/head&gt; &lt;body id="body"&gt; &lt;form action="&lt;?php echo $_SERVER['../PHP_SELF']; ?&gt;" method="post" id="enquiryform"&gt; &lt;p&gt;Areas marked with * must be completed&lt;/p&gt; &lt;label class="enquiryform" id="message" for="message"&gt;Message&lt;/label&gt; &lt;textarea name="message" id="message" rows="9" cols="55" tabindex="9" onclick="removeDefaultText(this)"&gt;&lt;?php if(isset($error)) {echo $message;} else {echo "Please use this area for any other information about your enquiry";}?&gt;&lt;/textarea&gt; &lt;input type="submit" id="submit" name="submit" value="Send enquiry" tabindex="10" /&gt; &lt;/form&gt; &lt;/div&gt; &lt;?php if(isset($error)) { echo "&lt;span id='Warning'&gt;Please enter all areas marked with *&lt;/span&gt;"; } else if (isset($sent)) { header("Location: THANK YOU PAGE.HTML"); exit(); } ?&gt; &lt;/div&gt; </code></pre> <p> </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload