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()函数之前。

这是基本的调试——我怀疑其中之一会告诉你错误在哪里。

于 2012-05-16T08:59:58.620 回答