2012-07-26 28 views
0

我只需要一個非常基本的/簡單的形式發送電子郵件,但它似乎不工作,我不知道爲什麼?我知道代碼是不是很先進,很可能在尋找「醜陋」,但它會爲我「需要」做它Web表單發送電子郵件不工作

if (isset($_POST['email'])) 
{ 

    $full_name = $_POST['fullName']; 
    $phone = $_POST['phoneNumber']; 
    $adMessage = $_POST['emailMessage']; 

    //send email 
    $to = "[email protected]"; 
    $from = $_POST['emailAddress']; 
    $subject = $_POST['emailSubject']; 

    $message = "Full name: " . $full_name . "\n"; 
    $message .= "Phone number: " . $phone . "\n"; 
    $message .= "Email Address: " . $from . "\n"; 
    $message .= "Additional Message: " . $adMessage; 


    $headers = "From:" . $full_name; 
    mail($to, $subject, $message, $headers); 
} 

HTML

<form action='' method='post'> 

    <fieldset><label id="fullName">Full Name</label> 
    <input type="text" name="fullName" value="Please Enter Your Full Name" onclick="this.value=''" /></fieldset> 

    <fieldset><label id="emailAddress">Email Address</label> 
    <input type="text" name="emailAddress" value="Please Enter Your Email Address" onclick="this.value=''" /></fieldset> 

    <fieldset><label id="phoneNumber">Phone Number</label> 
    <input type="text" name="phoneNumber" value="Please Enter Your Phone Number" onclick="this.value=''" /></fieldset> 

    <fieldset><label id="emailSubject">Email Subject</label> 
    <input type="text" name="emailSubject" value="Please Enter Email Subject" onclick="this.value=''" /></fieldset> 

    <fieldset><label id="emailMessage">Your Message</label> 
    <textarea cols="10" rows="20" name="emailMessage" onclick="this.value=''" >Please Enter Your Message</textarea></fieldset> 

    <fieldset><input type="image" src="images/submit.png" id="submit" onclick="show_alert();" /></fieldset> 
</form> 

謝謝:)

+1

它爲什麼有效?你會得到什麼錯誤?你嘗試過調試嗎? – ManseUK 2012-07-26 12:32:27

+0

你想從本地發送郵件嗎? ;) – AlphaMale 2012-07-26 12:35:10

+0

我在其他網站上的表單完全一樣,並且工作正常,但由於某種原因,這一個不會發送電子郵件。 我試圖從實際的服務器發送電子郵件。我是一個PHP n00b,因此我只想保持簡單,並及時「升級」代碼:P – Vetaxili 2012-07-26 12:35:12

回答

0

您還沒有設置任何名稱爲email的輸入。您的第一個條件不會被評估爲真,因此您可以跳過後面的所有內容。

0

更改

if (isset($_POST['email'])) 

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

您的表單沒有名爲email的元素 - 因此它永遠不會輸入該if塊。替換檢查請求方法是POST即已發佈表單。

0

我看不到你的名爲電子郵件形式的任何input field,您的使用在你的條件,即

if (isset($_POST['email'])){....} 

有一個名爲EMAILADDRESS場,所以使用:

if (isset($_POST['emailAddress'])){....} 

希望這有助於。