2011-08-11 112 views
0

Ive得到了一個表格,用戶舉報的帖子形式不張貼到PHP的郵件

<form method="post" action="sendmail.php" name="Email form"> 
Message ID <input type="text" name="message id" /><br/><br/> 
Aggressive conduct <input type="radio" name="option1" value="aggressive contact" /><br/><br/> 
Offensive conduct <input type="radio" name="option2" value="offensive conduct" /><br/><br/> 
Rasical conduct <input type="radio" name="option3" value="Rasical conduct" /><br/><br/> 
Intimidating conduct <input type="radio" name="option4" value="intimidating conduct" /><br/><br/> 
<input type="submit" name="submit" value="Send Mail" /> 
</form> 

然後它觸發一個PHP的郵件功能,將報告發送給我

<?php 
$to  = '[email protected]'; 
$subject = 'Report'; 
$message = 'message id\option1\option2\option3\option4'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 

我希望它取用戶在表單中輸入的值並郵寄給我。因爲它代表它真的發送了郵件,但它只是在郵件

消息ID \選項1 \選項2 \ 2選項\ 3選項

現在我明白這就是我把在「$消息說'但是,因爲這就是我所謂的輸入形式,我認爲這是需要的!我錯過了什麼?

PHP的郵件功能是工作,所以這不是問題。我確定我只是缺少一些代碼來使它工作。

回答

0

Message ID <input type="text" name="message id" /><br/><br/> 這裏的name屬性不正確,將需要被重新命名爲「MESSAGE_ID」代替。

你的單選按鈕應具有相同的名稱 然後更改

$message = 'message id\option1\option2\option3\option4'; 

到這樣的事情(比如「行爲」。):

$message = "message id: $_POST[message_id]\conduct $_POST[conduct]"; 
+0

感謝這個偉大的工作! – Louismoore18

0

你需要爲了得到被張貼檢查數據的$ _ POST-瓦爾。

所以,例如而不是隻把「信息ID是」在你的郵件,你需要做的是這樣$_POST['message id'] . '\' . $_POST['option1']...

閱讀:
http://php.net/manual/de/reserved.variables.post.php

其他提示:我不會在名稱(「消息ID使用空間「),如果你真的想使用互動(形成一組單選按鈕),他們需要有相同的名稱

1

你需要讓你的所有單選按鈕相同的名稱(這裏假設你只想要一個進行檢查一次),否則使用不同名稱的複選框。使用$ _POST從表單獲取數據。

$message = "message {$_POST['id']}\{$_POST['option']}";