2015-12-02 70 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

相關問題