2016-05-11 14 views
1

我有附加的接觸形式PHP腳本工作,但我想的形式重定向到一個sucess頁:/form-confirmation.php基本PHP接觸形式重定向到sucess頁

http://www.frlaw.co.uk/Contact-Test.php

希望你可以幫助。 豐富

<?php 

    if(isset($_POST['email'])) { 
    // EDIT THE 2 LINES BELOW AS REQUIRED 
    $email_to = "[email protected]"; 
    $email_subject = "Your email subject line"; 

    function died($error) { 
    // your error code can go here 
    echo "We are very sorry, but there were error(s) found with the form you submitted. "; 
    echo "These errors appear below.<br /><br />"; 
    echo $error."<br /><br />"; 
    echo "Please go back and fix these errors.<br /><br />"; 
    die(); 
    } 

    // validation expected data exists 

    if(!isset($_POST['first_name']) || !isset($_POST['last_name']) || !isset($_POST['email']) || !isset($_POST['telephone']) || !isset($_POST['comments'])) { 
    died('We are sorry, but there appears to be a problem with the form you submitted.');  
    } 

    $first_name = $_POST['first_name']; // required 
    $last_name = $_POST['last_name']; // required 
    $email_from = $_POST['email']; // required 
    $telephone = $_POST['telephone']; // not required 
    $comments = $_POST['comments']; // required 
    $error_message = ""; 
    $email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 

    if(!preg_match($email_exp,$email_from)) { 
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />'; 
    } 

    $string_exp = "/^[A-Za-z .'-]+$/"; 

    if(!preg_match($string_exp,$first_name)) { 
    $error_message .= 'The First Name you entered does not appear to be valid.<br />'; 
    } 

    if(!preg_match($string_exp,$last_name)) { 
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />'; 
    } 

    if(strlen($comments) < 2) { 
    $error_message .= 'The Comments you entered do not appear to be valid.<br />'; 
    } 

    if(strlen($error_message) > 0) { 
    died($error_message); 
    } 

    $email_message = "Form details below.\n\n"; 

    function clean_string($string) { 
    $bad = array("content-type","bcc:","to:","cc:","href"); 
    return str_replace($bad,"",$string); 
    } 

    $email_message .= "First Name: ".clean_string($first_name)."\n"; 
    $email_message .= "Last Name: ".clean_string($last_name)."\n"; 
    $email_message .= "Email: ".clean_string($email_from)."\n"; 
    $email_message .= "Telephone: ".clean_string($telephone)."\n"; 
    $email_message .= "Comments: ".clean_string($comments)."\n"; 

    // create email headers 
    $headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . 'X-Mailer: PHP/' . phpversion(); 
    @mail($email_to, $email_subject, $email_message, $headers); 
?> 
    <!-- include your own success html here --> 
    Thank you for contacting us. We will be in touch with you very soon. 
<?php 
} 
?> 
+0

「去世()「不是PHP函數。正確的語法是「die()」 –

+0

PHP函數[header](http://php.net/manual/en/function.header.php)你在找什麼? –

回答

1

您可以通過以下線路在PHP重定向:

header('Location: form-confirmation.php'); 
exit(); 

但是你必須在頁面標題發送(任意內容頁面上呈現前)之前做到這一點。

0

您可以使用JavaScript,以便您也可以在其上放置計時器延遲,以便人們可以看到您的謝謝信息。

<script> 
    setTimeout(function(){ 
    window.location.href = 'form-confirmation.php'; 
    }, 5000); //5 seconds 
</script> 
0

你可以告訴瀏覽器使用PHP header()

所以重定向到某個頁面,如果郵件被接受交付,然後將用戶重定向到form-confirmation

if(mail($email_to, $email_subject, $email_message, $headers)){ 
    header("Location: form-confirmation.php"); 
    exit; 
}