2013-02-13 8 views
0

내 WordPress 사이트에 제출 한 사용자 정의 양식을 얻을 수 없어 제출 후 "감사합니다"페이지로 리디렉션됩니다. form 액션은 PHP 함수를 호출하고, 먼저 form content를 전자 메일로 보냅니다. 이메일은 잘 전달됩니다.WordPress : 제출 후 PHP 양식 리디렉션

내 양식 태그는 설정이다 :

<form id="adoptApp" action="<?php formMailer(); ?>" method="post"> 

내 formMailer 기능이 포함되어 있습니다

if (empty($_POST["applicantName"])) { 
    return; 
} 

$to = "[email protected]"; 

if (empty($_POST["preferredPup"])) { 
    $subject = "Addoption Application"; 
} else { 
    $subject = "Addoption Application for " . $_POST["preferredPup"]; 
} 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= "From: Foo <[email protected]>" . "\r\n"; 
$headers .= "Cc: " . $_POST["applicantEmail"] . "\r\n"; 

$application = adoptionApplicationEmail(); 

mail($to, $subject, $application, $headers); 

는 PHP 메일 기능 후에 나는 페이지 리디렉션 다음 방법을 사용하려고했습니다. 그들 모두는 양식을 단순히 다시로드하는 결과를 낳습니다.

// Method #1 
$redirectURL = "http://www.bar.org/thanks/"; 
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $redirectURL . '">'; 

// Method #2 
wp_safe_redirect('http://www.bar.org/thanks/'); 

// Method #3 
header("Location: http://www.bar.org/thanks/"); 

마지막으로 감사 페이지 용 코드 (도움이 될 경우).

<?php /* Template Name: FormSubmitted_ThankYou */ ?> 
<?php get_header(); ?> 
<?php $myScripts = $_SERVER['DOCUMENT_ROOT'] . 'path/to/scripts.php' ; 
    include $myScripts; 
?> 

<p style="padding: 5px"> 
<b>Thank you!</b><br />You application has been submitted. We will review it as soon as possible.<br /> 
In the meantime if you have any questions you may email us at <a href="mailto:[email protected]">[email protected]</a> 
</p> 

<?php get_footer(); ?> 

내 의도는 더는 $ _POST 데이터의 일부 당신 감사 페이지 사용자 정의 할 수 있습니다, 그러나 나는이 재 지정 문제에 붙어 끝났다.

답변

0

쉬운 방법 중 하나는 다음과 같습니다.

<?php /* Template Name: FormSubmitted_ThankYou */ 

if (empty($_POST["applicantName"])) { 
    exit(); 
} 

$to = "[email protected]"; 

if (empty($_POST["preferredPup"])) { 
    $subject = "Addoption Application"; 
} else { 
    $subject = "Addoption Application for " . $_POST["preferredPup"]; 
} 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= "From: Foo <[email protected]>" . "\r\n"; 
$headers .= "Cc: " . $_POST["applicantEmail"] . "\r\n"; 

$application = adoptionApplicationEmail(); 

mail($to, $subject, $application, $headers); 

get_header(); 

$myScripts = $_SERVER['DOCUMENT_ROOT'] . 'path/to/scripts.php' ; 
include $myScripts; 
?> 

<p style="padding: 5px"> 
<b>Thank you!</b><br />You application has been submitted. We will review it as soon as possible.<br /> 
In the meantime if you have any questions you may email us at <a href="mailto:[email protected]">[email protected]</a> 
</p> 

<?php get_footer(); ?> 

을 그리고 여기에 양식 태그를 변경 :

이 같은 감사 페이지에 이메일 코드를 추가

<form id="adoptApp" action="http://www.bar.org/thanks/" method="post"> 
+0

완벽한을, 감사합니다! 내가 원했던대로 정확하게 작동합니다. – Shawrich