-2

测试我需要根据用户从 HTML 表单中的选择框中选择的选项设置一个变量。

HTML

 <form action="contact.php" enctype="multipart/form-data" method="post" name="contact_form" id="contact_form" novalidate>

               <select name="department" id="department">
                      <option value="0">Choose a department</option>
                      <option value="1">Enquiries</option>
                      <option value="2">Proposals</option>
                      <option value="3">Work</option>                                         
                </select>

PHP

$to = "test@machinas.com";

如果 value = 1 那么&to应该是 enquiries@website.com。如果值 = 2 那么&to应该是 proposal@website.com。如果 value = 3 那么&to应该是 work@website.com。

我可以帮忙吗,我是前端,只有 PHP 的基本知识。大多数 PHP 文件已经编码为发送电子邮件,但我错过了这一点。谢谢!

4

5 回答 5

2

使用开关或 if 条件

switch ($_GET['department']) {
    case '1':
        $to = "...";
        break;
    case '2':
        $to = "...";
        break;
    //....
}
于 2013-07-15T20:15:12.663 回答
2

您可以创建您的价值观的地图

 $map = array(
         0=>"",
         1=>"email1@somewhere.com",
         2=>"email2@somewhere.com",
         3=>"email3@somewhere.com",
         4=>"email4@somewhere.com");

然后根据匹配的帖子值分配 $to

 $to = $map[(int)$_POST["department"]];
于 2013-07-15T20:15:18.960 回答
1
switch ($_POST['department']) {
  case 1:
    $to = 'enquiries@website.com';
    break;
  case 2:
    $to = 'proposals@website.com';
    break;
  case 3:
    $to = 'work@website.com';
    break;
}
于 2013-07-15T20:19:36.137 回答
1

您可以使用

<option value="email@mydomain.com">department</option>

然后获取 post 值。

于 2013-07-15T20:23:51.217 回答
0

像下面这样的关联数组呢:

$emails = array( "1" => "enquiries@website.com", "2" => "proposals@website.com" , "3" => "work@website.com");

// and then 

$to = $emails[$_POST["department"]];
于 2013-07-15T20:17:38.087 回答