PHP表单提交到错误的电子邮件地址
问题描述:
我在表单(下面)中有一个选择字段,允许用户选择他们希望表单通过电子邮件发送到的特定'代理'。下面的代码显示代理的正确名称和电子邮件。PHP表单提交到错误的电子邮件地址
<select name="to" class="select-box">
<option value="">Send message to</option>
<?php if(isset($agents) && $agents):
if(!is_array($agents)) { $agents = array($agents); }
foreach($agents as $agent):
$agent_post = get_post($agent);
$email = sanitize_email(get_post_meta($agent, '_meta_email', true));
$mailto[] = $email;
echo '<option value="'.$email.'">'.wp_kses_data($agent_post->post_title).'</option>';
endforeach;
endif;
?>
</select>
......现在是事情开始变得棘手时。实际使用所选电子邮件的PHP无法正常工作。
$to = $_REQUEST['to'];
if(!$to) $to = nt_get_option('property', 'contact_email', get_bloginfo('admin_email'));
第二行用作备份计划如果没有选择的电子邮件地址,但是它被即使用户已经选择了特定的剂中使用。对我失踪的任何建议?
答
我不认为!$to
是你在找什么。 !$to
实际上意味着!= true
这显然是一个电子邮件地址不等于true,因此它将始终使用默认的电子邮件地址。
我会尝试
$to = trim($_REQUEST['to']); // trim whitespace
// Check if $to is empty
if(empty($to)){
// If so, set default
$to = nt_get_option('property', 'contact_email', get_bloginfo('admin_email'));
}
是您的电子邮件的脚本发送给使用表单提交的任何电子邮件地址值?如果是这样,垃圾邮件发送者很容易滥用。 –