2013-09-23 90 views
-1

我試圖讓下面的表單工作。我希望能夠在用戶提交表單時通過電子郵件從文本字段和單選按鈕發送信息。我也希望頁面在表單提交後重定向到「謝謝」頁面。就目前而言,該頁面將重定向,但不會發送電子郵件。以下是我目前有:帶有單選按鈕的php表單

HTML:

Name: <input type="text" id="name" name="name" /> 
    Date: <input type="text" id="date" name="date" /> 
    Job description: <input type="text" id="job" name="job" /> 

    <label for="yes">Yes</label> 
    <input type="radio" id="Yes" name="q1" value="Yes"/> 
    <label for="no">No</label> 
    <input type="radio" id="No" name="q1" value="No"/> 

    <label for="yes">Yes</label> 
    <input type="radio" id="Yes" name="q2" value="Yes"/> 
    <label for="no">No</label> 
    <input type="radio" id="No" name="q2" value="No"/> 

    <label for="yes">Yes</label> 
    <input type="radio" id="Yes" name="q3" value="Yes"/> 
    <label for="no">No</label> 
    <input type="radio" id="No" name="q3" value="No"/> 
    <input type="radio" id="Maybe" name="q3" value="Maybe"/> 
    <label for="why">Why? (please state)</label><input type="text" id="why" name="why"/> 

    <input type="submit" id="message_submit" class="submit-button"/> 
</form> 

PHP

<?php 
$toaddress = "[email protected]"; 
$subject = "Subject"; 
$email = "[email protected]"; 
$url = 'thankyou.php'; 

$msg = "$name\n"; 
$msg.= "$date\n"; 
$msg.= "$job\n"; 
$msg.= "$q1\n"; 
$msg.= "$q2\n"; 
$msg.= "$q3\n"; 
$msg.= "$why\n"; 

$mailheaders = "From: $email\n"; 
$mailheaders .= "To: [email protected]\n"; 
$mailheaders .= "Content-Type: multipart/mixed; \n"; 

mail($toaddress, $subject, $msg, $mailheaders); 

if($sent) 
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">'; 
?> 
+0

這段代碼怎麼回事?任何錯誤或警告? – Kalpit

+0

指定問題 – dhpratik

+0

'id'必須是* unique *每個文檔。 – Quentin

回答

1

,你必須使用$ _ POST []從HTML表單檢索數據...如果您使用POST方法,然後改變你的代碼是這樣的...

$msg = $_POST['name']; 
$msg.= $_POST['date']; 
+0

感謝您的幫助編碼器! – dave

+0

@dave這是我的榮幸。 – Kalpit

0

希望所有值都被檢索並且根本沒有語法錯誤。 如果你正在離線或localhost測試它,那麼它可能無法通過簡單的PHP郵件功能,所以在這種情況下,你可以使用smtp郵件服務器,這將工作,如果有互聯網連接。

看看這個:PHP Mail server classes