2015-12-02 151 views
0

我在表单(下面)中有一个选择字段,允许用户选择他们希望表单通过电子邮件发送到的特定'代理'。下面的代码显示代理的正确名称和电子邮件。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')); 

第二行用作备份计划如果没有选择的电子邮件地址,但是它被即使用户已经选择了特定的剂中使用。对我失踪的任何建议?

+0

是您的电子邮件的脚本发送给使用表单提交的任何电子邮件地址值?如果是这样,垃圾邮件发送者很容易滥用。 –

回答

0

我不认为!$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')); 
} 
+0

谢谢@VIDesignz,但这并没有解决问题 – ColoursB

+0

@ColoursB嗯......在处理页面的其他地方一定有问题。 – VIDesignz