2016-05-11 2 views
1

У меня есть прилагаются форма контакта PHP скрипт работает, но я хотел бы форму, чтобы перенаправить на страницу Sucess: /form-confirmation.phpBasic PHP контактной форма редиректа Sucess страница

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

Надеются, что вы может помочь. Rich

<?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 function [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; 
} 
Смежные вопросы