2015-04-01 72 views
0

我在php中建立一個表單,它會向所有者發送一封包含請求的電子郵件,並鏈接到一個表格將顯示所有請求的頁面。我不斷收到 「陣列」 與多個項目清單中的輸出...這裏是我有什麼帶有多個項目的php表單填充excel電子表格

<form> 
<input type="checkbox" name="multimedia[]" value="Assessment" />Assessment<br/> 
<input type="checkbox" name="multimedia[]" value="elearning module" />E-Learning Module<br /> 
<input type="checkbox" name="multimedia[]" value="Photography" />Photography<br /> 

視頻拍攝
其他

<?php 
$multimedia = array(); 
echo implode(',', $_POST['multimedia']); 

$multimedia_string = implode(',', $multimedia); 
?> 
//variables in each cell 
$variables = array(); 
$variables['fname'] = $_POST['fname']; 
$variables['lname'] = $_POST['lname']; 
$variables['email'] = $_POST['email']; 
$variables['projectTitle'] = $_POST['projectTitle']; 
$variables['$multimedia_string'] = $_POST['$multimedia_string']; 
$variables['credentialing'] = $_POST['credentialing']; 
$variables['description'] = $_POST['description']; 
$variables['results_data_page'] = $results_data_page; 
+0

$ _POST ['multimedia']將是一個數組。我不認爲你可以像這樣一個字符串內爆它。 – Maximus2012 2015-04-01 18:00:03

+0

嘗試將var_dump($ _ POST ['multimedia'])添加到您的代碼並查看您獲得的結果。 – Maximus2012 2015-04-01 18:00:47

回答

1

更改此:

$variables['$multimedia_string'] = $_POST['$multimedia_string']; 

...至:

$variables['multimedia_string'] = implode(',', $_POST['multimedia']); 

說明:

PHP解釋$_POST['multimedia']作爲數組由於其名稱後的括號[],如multimedia[],所以你可以使用逗號作爲分隔符破滅,並得到一個字符串返回。


還有一些其他的問題,那麼試試這個來代替:

<?php 

//variables in each cell 
$variables = array(); 
$variables['fname'] = $_POST['fname']; 
$variables['lname'] = $_POST['lname']; 
$variables['email'] = $_POST['email']; 
$variables['projectTitle'] = $_POST['projectTitle']; 
$variables['multimedia_string'] = implode(',', $_POST['multimedia']); 
$variables['credentialing'] = $_POST['credentialing']; 
$variables['description'] = $_POST['description']; 
$variables['results_data_page'] = $results_data_page; 

?> 

問題:

前三行似乎並沒有做任何事情。

$multimedia = array(); // never populated 
echo implode(',', $_POST['multimedia']); 

$multimedia_string = implode(',', $multimedia); // still not populated, so implodes to an empty string. 

有兩件事情在這裏:

$variables['$multimedia_string'] = $_POST['$multimedia_string']; 

PHP變量單引號字符都沒有插值。換句話說,從變量名$name翻譯PHP變量的值,在一個字符串,你需要用雙引號或HEREDOC:

echo "I $emotion you very much."; 

$html = <<<EOT 

<table> 
    <tr> 
     <td>We $emotion camping.</td> 
    </tr> 
</table> 

EOT; 

所以'$multimedia_string'僅僅是包含一個美元符號和字符串文字「multimedia_string」

另一件事是它似乎沒有$_POST變種與該名稱或任何你想要$multimedia_string翻譯成。

+0

謝謝你這麼多血淋淋的Knuckles ...我拿出了美元,它完美的作品。 – 2015-04-02 14:35:02

相關問題