2014-01-10 23 views
0

我有一個人填寫的表單。表格中的數據通過電子郵件發送給其他人。它需要被引導到適當的人。他們從下拉列表中選擇人員。我知道如何通過電子郵件向個人發送數據,但是我必須爲列表上的每個人做一個If語句,還是可以通過在此命令中替換變量來完成變量的操作?這是否是正確的代碼,用於檢查人員是否選擇「選項1」作爲聯繫人?將數據從表單發送到選定的收件人

這是我用來查看該人是否選擇第一個選項但它不會將電子郵件發送給該人的語法。如果我刪除這個& &($ _POST [「警察」] = 1)它發送電子郵件給這個人,但會有幾個選擇。

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1") && ($_POST ["Police"]=1)){ 
    $insertSQL = sprintf("INSERT INTO help (snumber, who, what, `when`, `where`, why) VALUES (%s, %s, %s, %s, %s, %s)", 
        GetSQLValueString($_SESSION['MM_Username'], "text"), 
        GetSQLValueString($_POST['Who'], "text"), 
        GetSQLValueString($_POST['What'], "text"), 
        GetSQLValueString($_POST['When'], "text"), 
        GetSQLValueString($_POST['Where'], "text"), 
        GetSQLValueString($_POST['Why'], "text")); 
    mail ("[email protected]", 
     "Submission from ".$_POST["user"], 
     $_POST["user"]." Has submitted the following information "."\n" . 
     "Who :".$_POST["Who"]."\n". 
     "What: ".$_POST["What"]."\n". 
     "When: ".$_POST["When"]."\n". 
     "Where: ".$_POST["Where"]."\n". 
     "What and Why: ".$_POST["Why"]); 
} 
+2

FWIW,您可能需要考慮使用Prepared Statements。 – BenM

+1

'$ _POST [「Police」] = 1'應該是'$ _POST [「Police」] == 1' – Robbert

回答

1

你在你的代碼中的錯誤:

$_POST ["Police"]=1應該$_POST["Police"]==1

首先,$_POST後沒有空間,但即使如此,單=會造成$_POST['Police']值是賦值爲1並始終返回true。使用雙重=將只檢查$_POST['Police']的值是否等於1.

+0

謝謝..我的代碼正在工作。 – PamD

+0

很高興聽到它。不要忘記將這篇文章標記爲答案。 – Robbert

+0

順便說一句,BenM是正確的。您確實需要將您的mysql代碼切換到使用mysqli或PDO,這將允許您使用預準備語句。 – Robbert

相關問題