使用开放式输入字段&;使用它可以根据输入(例如,邮政编码或PHP状态)向三个不同的电子邮件地址中的一个发送电子邮件?

使用开放式输入字段&;使用它可以根据输入(例如,邮政编码或PHP状态)向三个不同的电子邮件地址中的一个发送电子邮件?,php,email,Php,Email,我有一个网站,在侧边栏中有一个报价请求。他们现在希望按状态按输入对请求进行排序,但字段是打开的。它当前接受除空白以外的任何内容。首先,有人能推荐一个收集一个州所有邮政编码的好地方吗?我目前看到GA中有1365个邮政编码,我可以调用或下载一些API吗?我们甚至不是在谈论城市。甚至有可能做拉链,城市和国家?除了侧边栏中已有的输入字段外,是否建议强制他们在下拉列表中选择一个状态 $moving_from = strtolower($moving_from); if($moving_from === '

我有一个网站,在侧边栏中有一个报价请求。他们现在希望按状态按输入对请求进行排序,但字段是打开的。它当前接受除空白以外的任何内容。首先,有人能推荐一个收集一个州所有邮政编码的好地方吗?我目前看到GA中有1365个邮政编码,我可以调用或下载一些API吗?我们甚至不是在谈论城市。甚至有可能做拉链,城市和国家?除了侧边栏中已有的输入字段外,是否建议强制他们在下拉列表中选择一个状态

$moving_from = strtolower($moving_from);
if($moving_from === 'georgia' || $moving_from === 'ga') {
    $emailTo = 'georgia@example.com';
}

<div class="main-input">
<label>Moving From:</label>
<input name="moving_from" type="text" value="<?php echo $moving_from; ?>" class=""/>
</div>

if(!isset($hasError)) {

    $subject = 'Submitted message from '.$f_name;
    $email2name = 'Website Lead';

    $body  = '<table><tbody>';
    $body .= '<tr><td>Name:</td><td>'.$f_name.'</td></tr>';
    $body .= '<tr><td>Date Of Move:</td><td>'.$date_of_move.'</td></tr>';
    $body .= '<tr><td>Moving From:</td><td>'.$moving_from.'</td></tr>';
    $body .= '<tr><td>Moving To:</td><td>'.$moving_to.'</td></tr>';
    $body .= '<tr><td>Email:</td><td>'.$email.'</td></tr>';
    $body .= '<tr><td>Phone Number:</td><td>'.$phone.'</td></tr>';
    $body .= '<tr><td>Size Of Move:</td><td>'.$size_of_move.'</td></tr>';
    $body .= '<tr><td>Comments:</td><td>'.$comments.'</td></tr>';
    $body .= '</tbody></table>';

    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
    $headers .= 'From: '.$email2name.' <'.$email2.'>' . "\r\n";

    mail($emailTo, $subject, $body, $headers);

    $emailSent = true;
}
$moving\u from=strtolower($moving\u from);
如果($moving_from==='georgia'|$$moving_from==='ga'){
$emailTo=georgia@example.com';
}
从:

邮政编码的2位前缀(几乎)唯一地定义了州。前3位数字将唯一定义状态。USPS在这里有一个完整的3位数前缀列表:。我敢肯定,可能有一些CSV/Excel文件,你可以在某处加载这些信息

然而,更好的方法可能是使用USPS的API进行地址和邮政编码验证。美国药典有相同的标准。和他们一起工作有点烦人,但他们是免费的,而且也没那么糟糕。您可以使用一个PHP库来消除大部分复杂性:。看看这个例子——它与您想要做的非常相似

$verify->addZipCode('91730');

print_r($verify->lookup());
$response = $verify->getArrayResponse();
$validated_state = $response['State'];
print_r($response);
echo $validated_state;

其他选项是和。

hmm。如果用户输入zip,我必须使用substr来切断最后两个数字?我觉得“市州查询”只是查找一个邮政编码。“城市状态”查找将zipcode映射到与其关联的城市和状态。您可以将示例中的
'91730'
替换为用户提供的HTTP GET/POST参数。