0

皆さんこんにちは、

オプションのドロップダウンボックスから選択した人に、php mail() 関数を使用してフォームを投稿しようとしています。

ドロップダウンボックスに表示される

<label for="contact">Job Contact:*</label>

<select id='contact' name='contact'>
<option value='' selected='selected'>Please select</option>
<option value='name1'>Name2</option>
<option value='name2'>Name1</option>
</select> 

私は値を取得します。

$contact =  $_POST['contact'];

ユーザーと比較する

switch ($contact) {

            case "name1":
            $to         = "name1@example.co.uk";
            break;
            case "name2":
            $to         = "name2@example.co.uk";
            break;

        }

メール($to, ..., ..., ...);

スイッチが機能しない理由がわかりません。

$to を単独で使用すると、フォームが送信されます。

どんなアイデアでも大いに役立ちます。

4

1 に答える 1

0

ここにはいくつかの障害点があります。

次のようなことを行うために、スイッチを展開してみてください (デバッグ目的のみ)。

switch ($contact) {

            case "name1":
            $to         = "name1@example.co.uk";
            break;
            case "name2":
            $to         = "name2@example.co.uk";
            break;
            default:
            var_dump($contact);
            exit();

        }

$contactこれにより、スイッチのいずれとも一致しない場合、スイッチはコンテンツを処理するように強制されます。

次に、 に$to実際に値が含まれていることを確認してください。

これを行うには、'var_dump($to); を追加します。関数の直前mail()

これは基本的なデバッグです。そのうちの 1 つがエラーの場所を教えてくれると思います。

于 2012-05-16T08:59:58.620 に答える