2012-05-16 28 views
0
大家

喜貼接觸,檢查使用PHP發送到選定的聯繫人的電子郵件使用mail()函數

我試圖使用PHP的mail()函數從選項中選出的人來發布形式下拉框。

我的下拉框中顯示

<label for="contact">Job Contact:*</label> 

<select id='contact' name='contact'> 
<option value='' selected='selected'>Please select</option> 
<option value='name1'>Name2</option> 
<option value='name2'>Name1</option> 
</select> 

這我得到的值。

$contact = $_POST['contact']; 

與用戶

switch ($contact) { 

      case "name1": 
      $to   = "[email protected]"; 
      break; 
      case "name2": 
      $to   = "[email protected]"; 
      break; 

     } 

郵件比較($到,...,...,...);

我看不出爲什麼開關不起作用?

如果我使用$自己的表單發送。

任何想法將是一個很大的幫助。

+0

'var_dump($ to);''mail()'之前'。並總是使用'var_dump()'輸出**實際**值而不是**猜測**它 – zerkms

回答

0

這裏有幾個失敗點;

你可以嘗試擴大你的開關(僅用於調試目的)做這樣的事情:

switch ($contact) { 

      case "name1": 
      $to   = "[email protected]"; 
      break; 
      case "name2": 
      $to   = "[email protected]"; 
      break; 
      default: 
      var_dump($contact); 
      exit(); 

     } 

這將迫使你的交換機來處理$contact的內容,如果它desn't匹配任何開關。

其次,嘗試確保$to實際上包含一個值。

通過添加'var_dump($ to);在mail()功能之前。

這是基本的調試 - 我懷疑其中一個會告訴你錯誤在哪裏。

+0

當我發佈它返回NULL? –

+0

然後'$ contact'包含NULL,這反過來使你的腳本不能設置$ to,並且你的郵件發送失敗。嘗試'var_dump($ _ POST ['contact']);'看看這個POST變量是否有任何內容。 – Repox

+0

再次返回NULL奇怪嗎? –

相關問題