2012-08-08 21 views
0

我正在嘗試獲取使用複選框進行多項選擇的窗體的結果。我用其他幾個問題討論過的數組,但是當我通過電子郵件發送變量結果時,它只給我選擇的最後結果。我相信我有錯誤的代碼來顯示變量。

代碼視圖:

$assembly = $_POST['assembly']; 
$pump = $_POST['pump']; 
$exchanger = $_POST['exchanger']; 
**if(!empty($_POST['options'])) { 
foreach($_POST['options'] as $options) { 
     echo $options; 
} 
}** 

$name = $_POST['name']; 
$email = $_POST['email']; 
$info = $_POST['info']; 

$body = <<<EOD 
<br><hr><br> 
Assembly: $assembly <br> 
Pump: $pump <br> 
Heat Exchanger: $exchanger <br> 
**Unit Options: $options <br>** 
Email: $email <br> 
Name: $name <br> 
Info: $info <br> 
+0

您能顯示覆選框代碼(在窗體上)嗎? – Sablefoste 2012-08-08 14:47:00

+0

使用sixeightzero的implode的建議,我得到它的工作。我有選項[]作爲表單上的名稱。 – 2012-08-08 16:43:31

回答

1

我會建議使用implode。爲您節省幾行代碼,並且不像foreach那樣緊張:

$options = implode(", ", $_POST['options']); 
Unit Options: $options <br> 
+0

工作完美謝謝! – 2012-08-08 16:37:38

0
**if(!empty($_POST['options'])) { 
foreach($_POST['options'] as $options) { 
     echo $options; 
} 
}** 

你沒有實際分配什麼$options這裏,只是打印出來。您將獲得電子郵件中顯示的最後一個選項,因爲您在循環中設置的變量將保留其值。

嘗試:

$myOptions = ""; 

if(!empty($_POST['options'])) { 
    foreach($_POST['options'] as $options) { 
     $myOptions .= $options; 
    } 
} 

然後:

Unit Options: $myOptions <br> 
0

代替你的代碼的嘗試。

$assembly = $_POST['assembly']; 
$pump = $_POST['pump']; 
$exchanger = $_POST['exchanger']; 

$opt = ""; 
if(!empty($_POST['options'])) { 
    foreach($_POST['options'] as $options) { 
     $opt .= $options.","; 
    } 
    $opt = rtrim($opt, ","); //comma-separated checkbox values 
} 

$name = $_POST['name']; 
$email = $_POST['email']; 
$info = $_POST['info']; 

$body = <<<EOD 
<br><hr><br> 
Assembly: $assembly <br> 
Pump: $pump <br> 
Heat Exchanger: $exchanger <br> 
Unit Options: $opt <br> 
Email: $email <br> 
Name: $name <br> 
Info: $info <br> 
0

可以使用

$option=''; 

    if(!empty($_POST['options'])) { 
      $option = implode(',', $_POST['options']); 
    } 

試試這個

$assembly = $_POST['assembly']; 
$pump = $_POST['pump']; 
$exchanger = $_POST['exchanger']; 
$option = ""; 
if(!empty($_POST['options'])) { 
    $option = implode(',', $_POST['options']); 
} 
$name = $_POST['name']; 
$email = $_POST['email']; 
$info = $_POST['info']; 

$body = <<<EOD 
<br><hr><br> 
Assembly: $assembly <br> 
Pump: $pump <br> 
Heat Exchanger: $exchanger <br> 
Unit Options: $option <br> 
Email: $email <br> 
Name: $name <br> 
Info: $info <br> 
相關問題