2014-11-25 86 views
-1

我正在嘗試使用此郵件程序,並根據用戶輸入的字段將其重定向到成功/失敗頁面。它可以工作併發送郵件,並且在輸入所有字段時也會重定向到成功頁面,但是當沒有輸入任何內容時,它只會進入空白頁面,但仍會發送郵件?郵件程序不會正常工作

我該如何按預期做這項工作?理想情況下,我希望它只是指向相同的頁面,並在頁面中顯示成功或錯誤消息,但我不知道如何去做。

我爲我的郵件代碼如下:

<?php 
$name = $_POST['name']; 
$company = $_POST['company']; 
$email = $_POST['email']; 
$phone = $_POST['phone']; 
$website = $_POST['website']; 
$features = $_POST['features']; 
$budget = $_POST['budget']; 
$timeline = $_POST['timeline']; 
$content = $_POST['content']; 
$additional = $_POST['additional']; 

$to = "[email protected]"; 
$subject = "Project Req: $company"; 
$body = "Name: $name \n\n Company Name: $company \n\n Email: $email \n\n Phone Number: $phone \n\n Website: $website \n\n Features: $features \n\n Budget: $budget \n\n Timeline: $timeline \n\n Content: $content \n\n Additional Info: $additional"; 
$from = $email; 

if(!empty($_POST['name']) || !empty($_POST['email']) || !empty($_POST['phone']) || !empty($_POST['features']) || !empty($_POST['budget']) || !empty($_POST['timeline']) || !empty($_POST['content'])){ 

if (mail($to, $subject, $body, $headers)) { 
    header("Location: success.php"); 
} else { 
    header("Location: error.php");} 
} 
?> 
+0

您是在網站上還是在本地主機上執行此腳本? – Jordy 2014-11-25 12:34:01

回答

0

你不要;「T似乎有$頭設置。這可能是問題,設置它,使之與$頭將其發送

0

在你if聲明,你檢查,你可以通過POST接受一切,你應該使用「和」比較&&,而不是「或」比較器||。在你的情況下,如果只有一個POST變量不爲空,條件將爲真 - 除非這是你想要的?

您還應該檢查POST變量的內容,然後將它們的值賦給頂部的變量。你可以做一些像Tibbers建議的事情。

+0

謝謝你隊友這工作。 – 2014-11-25 12:46:26