2012-02-02 10 views
1

複数のフィールドにいくつかのオプションを設定するためにMySQLデータベースに接続するHTML連絡フォームを作成しました。メールMultiSelect Boxで選択された値に基づいて特定のメールアドレスにメールを送信

これで、[MultiSelect]フィールドで選択されている値に応じて特定の人に電子メールを送信する必要があります。しかし、私は選択に基づいて電子メールアドレスを定義する方法を理解できません。

これは、複数選択フィールドを設定するために使用したコードです。

$sql="SELECT addr1, city, status FROM listings WHERE status<>'Hidden' "; 
$result=mysql_query($sql) or die(mysql_error()); 
$options=""; 

while ($row=mysql_fetch_array($result)) { 

    $addr1=$row["addr1"]; 
    $city=$row["city"]; 
    $status=$row["status"]; 
    $options.="<OPTION VALUE=\"$addr1\">".$addr1 . ', ' . $city . ' - ' . $status; 
} 

<select multiple name="unit" id="unit" size="10" validate="required:true, rangelength:[1,5]"> 
    <?=$options ?> 
</select> 

私のデータベースの構造は、誰かが選択したときにジョン・シチズンとジルシチズン、電子メールがそれらの二人に送信する必要があり、この

addr1  city  status  manager 
address  somecity available  John Citizen 
addresstwo city2  not available Jack Citizen 
addressthree city3  available  Jill Citizen 

のように見えます。 また、これらの2人の人の電子メールアドレスをPHP変数で宣言する必要があります。 フォームはこのコードと共に送信されます。 (このコードは、そのフォームアクションの呼び出し別のPHPファイルである)

mail($emailaddresses,$subject,$html,"From: [email protected]#####\r\nContent-type: text/html\r\n"); 

}

私にいくつかのポインタを与えることができる誰か?私は多くのことを試しましたが、選択を適切に行うことができません。

答えて

1

複数選択欄に[]で終わる名前を付けます(例:name = "unit []")。 PHPでは、選択された項目($ _POST( "unit"))が入力される配列を生成するフォームを送信するときに使用します。その後、コンマ(またはセミコロン - 私はphp mail()関数内の電子メールを区切ることは決して忘れていません)で電子メールアドレスを区切って、配列をimplode()することができます。その後、あなたのmail()呼び出しにこのアドレス文字列をドロップします。

関連する問題