2014-01-10 3 views
0

나는 사람이 작성하는 양식이 있습니다. 양식의 데이터는 다른 사람에게 이메일로 전송됩니다. 적절한 사람에게 지시해야합니다. 그들은 드롭 다운에서 사람을 선택합니다. 전자 메일에서 사람에게 데이터를 보내는 방법을 알고 있지만 목록의 각 사람에 대해 If 문을 수행해야합니까? 아니면이 명령에서 변수를 대체하여 변수를 사용하여 끝낼 수 있습니까? 이 사람이 "옵션 1"을 담당자로 선택했는지 확인하는 올바른 코드입니까?양식에서 선택한 수신자에게 데이터를 전자 메일로 보내기

이것은 사람이 첫 번째 옵션을 선택했는지 확인하는 데 사용되는 구문이지만 그 사람에게 전자 메일을 보내지는 않습니다. & & ($ _POST [ "Police"] = 1)을 제거하면 사람에게 전자 메일을 보내지 만 몇 가지 선택 사항이 있습니다.

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

첫째, $_POST 후 공백없이,하지만 그렇다하더라도 단일 =가 될 $_POST['Police']의 값을 발생합니다되어야합니다 :

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

당신은 당신의 코드에서 오류가 값 1이 지정되고 항상 true를 반환합니다. = 더블을 사용하면 $_POST['Police']의 값이 1과 같은지 확인합니다.

+0

고맙습니다. 지금 제 코드가 작동 중입니다. – PamD

+0

다행입니다. 이 게시물을 답변으로 표시하는 것을 잊지 마십시오. – Robbert

+0

BTW, BenM이 맞습니다. mysqli 또는 PDO를 사용하여 준비된 문장을 사용할 수 있도록 mysql 코드를 전환해야한다. – Robbert

관련 문제