2013-05-06 25 views
-3

所以我基本上沒有使用PHP的經驗,我需要創建一個PHP窗體,根據用戶的選擇,將會去不同的電子郵件地址。PHP窗體根據下拉選擇去不同的電子郵件地址

例如下拉將有類似的選項:服務,配件,人力資源等

而且每一個選項,選中時,將允許「的姓名,電子郵件,電話號碼全部提交,等等。」去特定部門的電子郵件地址。

我看到了一些類似於這個問題的答案,但是由於我對PHP的知識有限,所以在創建它時遇到了很多麻煩。

任何人都可以幫我嗎?

謝謝!

+1

你想你的代碼添加到這個問題?你試過什麼了?什麼不起作用? – andrewsi 2013-05-06 14:43:31

回答

1

,你可以從你的選擇字段發送郵件 這樣當獲得的電子郵件的價值並使用它:

$mail['to'] = $_POST['mail']; 
//make sure to filter this using regex/etc.. 
//to make sure this is a valid email and is coming from your own form. 

mail($mail['to'], $mail['subject'], $mail['body'], $mail['headers']) 

我會留下的數據過濾給你,但你應該得到這個想法。

編輯:

確保您篩選$_POST['mail'];,因爲如果你沒有,這會從其他人提交電子郵件到你的腳本這是一個巨大的安全漏洞造成的。 可能的解決方案使用隨機數或1次使用令牌等。 嘗試搜索郵件標題注入以瞭解更多信息。

+0

您正在將來自POST的數據直接傳遞給'mail()'。這真的不是一個好主意。 – andrewsi 2013-05-06 14:49:38

+0

我明確地在我的帖子中說過:「我將把數據過濾給你,但你應該明白。」感謝downvote。 ;) – reikyoushin 2013-05-06 14:53:39

+0

你確實提到過它。但是,編寫它的代碼在其中有一個巨大的安全漏洞。這個問題明確指出,她僅僅對PHP有限的知識 - 如果你可以添加一些東西來解釋爲什麼她需要過濾電子郵件,它會使這個更好的答案。 – andrewsi 2013-05-06 15:02:41

0

使用mail()函數,並根據發佈的參數選擇合適的電子郵件地址。請注意,允許未知用戶通過服務器直接發送郵件可能不是一個好主意:如果mail()的實現方式存在安全漏洞,該怎麼辦?你爲什麼不把相關的電子郵件地址放在網站上,只顯示正確的電子郵件地址,取決於用戶從下拉菜單中選擇的輸入內容?

0

你應該做這樣的事情:

<?php 
// Check if form has been submitted 
if (isset($_POST["dep"])) { 
if ($_POST["dep"] == 1) { 
$email = "[email protected]"; 
} 
elseif ($_POST["dep"] == 2) { 
$email = "[email protected]"; 
} 
// Send the email 
mail($email, "The subject", "The Body, "Some headers (optional)") 
} 
?> 
<select name="dep"> 
<optoin value="1">Sales</option> 
<optoin value="2">Support</option> 
</select> 
相關問題