2014-11-06 46 views
0

你好我的表格在提交後沒有重定向到我的成功頁面。該消息確實通過,我確實收到了測試郵件。但是,我的表單在電子郵件發送後不會重定向。我正在使用標題位置來重定向。誰能幫我這個?表格提交後表頭不重定向

require_once('class.phpmailer.php'); 
session_start(); 

function ValidateEmail($email) { 
$pattern = '/^([0-9a-z]([-.\w]*[0-9a-z])*@(([0-9a-z])+([-\w]*[0-9a-z])*\.)+[a-z]{2,6})$/i'; 
    return preg_match($pattern, $email); 
} 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
$nameError = ''; 
if (empty($_POST["name"])) { 
$nameError = 'You must enter a name.'; 
} 
if (isset($_POST['captchaCode'],$_SESSION['random_txt']) && md5($_POST['captchaCode']) == $_SESSION['random_txt']) 
{ 
    unset($_POST['captchaCode'],$_SESSION['random_txt']); 
} else { 
    echo 'captcha code was wrong'; 
    exit; 
} 
} 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

$subject = $_POST['subject']; 
$body = <<< _END_ 
<html> 
<body> 
<div id="container"> 
<div id="logo"> 
<a href="http://www.website.com"><img src="images/website.png" alt="website"></a> 
</div> 
Name: {$_POST['name']} <br> 
Phone: {$_POST['phone']} <br> 
Email: {$_POST['email']} <br> 
Message: {$_POST['message']} <br> 
</div> 
</html> 
_END_; 

// if(isset($_POST['submit'])){ 
$name = $_POST['name']; 
$email = $_POST['email']; 
$mail = new PHPMailer; 
// $mail->SMTPDebug = 2; 
// print_r($_POST); 
$mail->IsSMTP(); 
$mail->SMTPAuth = true; 
$mail->SMTPSecure = "tls"; 
$mail->Host = "smtp.office365.com"; 
$mail->Port = 587; 
$mail->Username = "[email protected]"; 
$mail->Password = "password"; 

$mailto = "[email protected]"; 
$mailfrom = "[email protected]"; 
$mail->SetFrom($mailto, ''); 
$address = '[email protected]'; 
$mail->AddAddress($address, "The Site Name"); 

$mail->Subject = $subject; 
$mail->AltBody = $body; 
$mail->MsgHTML($body); 

if(!$mail->Send()) { 
    Header("Location: success.php"); 
} 
} 
+0

不應該說,它是'如果($ MAIL->發送())',而不是'如果(!$ MAIL->發送())' – codeaken 2014-11-06 07:29:46

+0

是郵件被髮送和接收我電子郵件 – badsyntax 2014-11-06 07:30:11

+0

是的。 。你收到電子郵件,但你的條件是如果沒有(!$ mail->發送())多數民衆贊成在 – Edrich 2014-11-06 07:35:07

回答

0

您正在檢查錯誤的情況。如果郵件發送然後重定向。因此,它應該是 -

if($mail->Send()) { 
    Header("Location: success.php"); 
    exit; 
} 
+1

不要忘記'退出();'後'header();' – 2014-11-06 07:32:26

+0

'exit'停止執行其餘的碼。 – 2014-11-06 07:34:53

+0

啊我覺得很蠢。感謝您的快速回復 – badsyntax 2014-11-06 07:45:43